Elementwise multiplication, function definition
8 views (last 30 days)
Show older comments
Hello Community
I have an issue defining a function where the input is a meshgrid. Somehow there must be an issue with the elementwise multiplication.
Input: [x, y] = meshgrid(linspace(0,400,400),linspace(0,30000,400));
A1 = -8.269000000000000;
m1 = 2.071000000000000;
m2 = 0.239700000000000;
B1 = -13.100000000000000;
n1 = 2.813000000000000;
B2 = -49.960000000000001;
n2 = 18.170000000000002;
z1 = (10^A1*x.^m1*y.^m2+y.*(10^B1*x.^n1+10^B2*x.^n2))*100;
Output:
min(min(z1)) = 188.7492
Conclusion:
The minimal value of z1 is 188.7492. However looking at the equation, z1 should be 0 for x = 0 and y = 0.
Somehow there is a mistake writing the equation oder defining input (x,y)
Can anybody help me?
0 Comments
Accepted Answer
Iman Ansari
on 17 May 2013
[x, y] = meshgrid(linspace(0,400,400),linspace(0,30000,400));
A1 = -8.269000000000000;
m1 = 2.071000000000000;
m2 = 0.239700000000000;
B1 = -13.100000000000000;
n1 = 2.813000000000000;
B2 = -49.960000000000001;
n2 = 18.170000000000002;
z1 = (10^A1*x.^m1.*y.^m2+y.*(10^B1*x.^n1+10^B2*x.^n2))*100;
min(min(z1))
More Answers (1)
David Sanchez
on 17 May 2013
Hi, try your code like this:
[x, y] = meshgrid( linspace(0,400,400),linspace(0,30000,400) );
A1 = -8.269000000000000;
m1 = 2.071000000000000;
m2 = 0.239700000000000;
B1 = -13.100000000000000;
n1 = 2.813000000000000;
B2 = -49.960000000000001;
n2 = 18.170000000000002;
AA = 10^A1;
BB = x.^m1;
CC = y.^m2;
z1_1 = AA.*BB.*CC;
DD = 10^B1;
EE = x.^n1;
FF = 10^B2;
GG = x.^n2;
z1_2 = y.*( DD*EE + FF*GG );
z1 = ( z1_1 + z1_2 )*100;
2 Comments
See Also
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!