Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何计算网格中所有点的非显式函数值?_Matlab - Fatal编程技术网

Matlab 如何计算网格中所有点的非显式函数值?

Matlab 如何计算网格中所有点的非显式函数值?,matlab,Matlab,假设我有一个函数 f = @(x,y) g(x,y) g不明确。输入x和y值后,应进行数值计算 如何计算并保存此函数在点处的所有值 [x,y] = meshgrid(0:0.1:1,0:pi/10:2*pi); 我调用f[x,y],但它不起作用。有两种方法。你的函数g应该和矩阵一起工作,或者你应该一个接一个地给出值 function eval_on_mesh() f1 = @(x,y) g1(x,y); f2 = @(x,y) g2(x,y); [x,y] = meshgrid(0:0.

假设我有一个函数

f = @(x,y) g(x,y)
g
不明确。输入
x
y
值后,应进行数值计算

如何计算并保存此函数在点处的所有值

[x,y] = meshgrid(0:0.1:1,0:pi/10:2*pi);

我调用
f[x,y]
,但它不起作用。

有两种方法。你的函数g应该和矩阵一起工作,或者你应该一个接一个地给出值

function eval_on_mesh()

f1 = @(x,y) g1(x,y);
f2 = @(x,y) g2(x,y);

[x,y] = meshgrid(0:0.1:1,0:pi/10:2*pi);

%# If your function work with matrices, you can do it like here
figure, surf(f1(x,y));

%# If your function doesnt, you should give the values one by one
sol = zeros(size(x));
for i=1:size(x,1)
    for j=1:size(x,2)
        sol(i,j) = f2(x(i,j),y(i,j));
    end
end
figure, surf(sol);
end

function res = g1(x, y)
res = x.^2 + y.^2;
end

function res = g2(x, y)
res = x^2 + y^2;
end

这取决于你的功能。对于基本操作,如果要逐点执行操作,通常可以在运算符前面写一个点
。在不知道你的函数的情况下,我不能告诉你任何其他的事情。在积分2下,函数是一个很长的表达式,积分下的表达式似乎适用于矩阵,但在积分中却不适用。奇怪,看。我想我对这个问题的回答可以用在这里