Asked by Ben
on 17 May 2013

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?

Answer by Iman Ansari
on 17 May 2013

Accepted answer

[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))

Answer by 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;

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test

Learn moreOpportunities for recent engineering grads.

Apply Today
## 0 Comments