Matlab 获取函数值

Matlab 获取函数值,matlab,Matlab,我在MATLAB上使用二次曲面f(w0,w1),我使用meshgrid来创建它。代码如下: phi = 0.01; M = 16; [w0,w1] = meshgrid(-2:0.1:8 , -10:0.1:0); f = (0.5+phi)*(w0.^2 + w1.^2) + w0.*w1*cos(2*pi/M) + 2*w1*sin(2*pi/M) + 2; 我想知道如何得到函数f在点(-1.9,-0.9)处的值,例如 谢谢您可以将值直接插入函数f: w0 = -1.9; w1 = -

我在MATLAB上使用二次曲面f(w0,w1),我使用meshgrid来创建它。代码如下:

phi = 0.01;
M = 16;

[w0,w1] = meshgrid(-2:0.1:8 , -10:0.1:0);

f = (0.5+phi)*(w0.^2 + w1.^2) + w0.*w1*cos(2*pi/M) + 2*w1*sin(2*pi/M) + 2;
我想知道如何得到函数f在点(-1.9,-0.9)处的值,例如


谢谢

您可以将值直接插入函数f:

w0 = -1.9;
w1 = -0.9;
f = (0.5+phi)*(w0.^2 + w1.^2) + w0.*w1*cos(2*pi/M) + 2*w1*sin(2*pi/M) + 2;
或使用x和y上的索引:

x = -2:0.1:8;
y = -10:0.1:0;
[w0,w1] = meshgrid(x, y);
f = (0.5+phi)*(w0.^2 + w1.^2) + w0.*w1*cos(2*pi/M) + 2*w1*sin(2*pi/M) + 2;
f(find(y==-0.9), find(x==-1.9));
两种方法都将返回:

ans= 5.1452

假设f(-1.9,-0.9)=f(w0,w1)


我认为最好的方法应该是使用annonymous函数:

f = @(x,y) (0.5+phi)*(x.^2 + y.^2) + x.*y*cos(2*pi/M) + 2*y*sin(2*pi/M) + 2

f(-1.9,0.9)
十)

f = @(x,y) (0.5+phi)*(x.^2 + y.^2) + x.*y*cos(2*pi/M) + 2*y*sin(2*pi/M) + 2

f(-1.9,0.9)