2个变量在2个不同区间的Matlab函数
这个代码有什么问题?没有间隔,只有一个Z函数可以完美地工作,但我不能让它工作。 请帮忙2个变量在2个不同区间的Matlab函数,matlab,Matlab,这个代码有什么问题?没有间隔,只有一个Z函数可以完美地工作,但我不能让它工作。 请帮忙 X=[0:0.01:1] Y=[0:0.08:8] [X,Y] = meshgrid(X,Y) if X-0.08*Y <0.2 Z=1-(10*(X-0.08*Y)-1).^2 else Z=X*Y; end mesh(X,Y,Z); title('a mesh plot of a function of two variables'); xlabel('x'); ylabel('y');
X=[0:0.01:1]
Y=[0:0.08:8]
[X,Y] = meshgrid(X,Y)
if X-0.08*Y <0.2
Z=1-(10*(X-0.08*Y)-1).^2
else
Z=X*Y;
end
mesh(X,Y,Z);
title('a mesh plot of a function of two variables');
xlabel('x'); ylabel('y'); zlabel('z');
X=[0:0.01:1]
Y=[0:0.08:8]
[X,Y]=网格网格(X,Y)
如果X-0.08*Y你忘了放点。。。你应该考虑点乘法。最重要的是,您应该将其添加到for循环(简单解决方案)中。还有另一种解决方案,代码行更少
X-0.08*Y <0.2
X-0.08*Y试着更像Matlab,而不是使用循环
X=[0:0.01:1];
Y=[0:0.08:8];
[X,Y] = meshgrid(X,Y);
% Your else statement
Z=X*Y;
% The if-portion
[i,j]=find(X-0.08*Y <0.2);
Z(i,j)=1-(10*(X(i,j)-0.08*Y(i,j))-1).^2;
mesh(X,Y,Z);
title('a mesh plot of a function of two variables');
xlabel('x'); ylabel('y'); zlabel('z');
X=[0:0.01:1];
Y=[0:0.08:8];
[X,Y]=网格网格(X,Y);
%你的else声明
Z=X*Y;
%if部分
[i,j]=find(X-0.08*Y)感谢您的输入。但是X*Y不会给出与X*Y相同的结果,考虑到if语句,我认为他/她不想做矩阵乘法。是的。我不确定需要什么,所以我按原样离开了。
X=[0:0.01:1];
Y=[0:0.08:8];
[X,Y] = meshgrid(X,Y);
% Your else statement
Z=X*Y;
% The if-portion
[i,j]=find(X-0.08*Y <0.2);
Z(i,j)=1-(10*(X(i,j)-0.08*Y(i,j))-1).^2;
mesh(X,Y,Z);
title('a mesh plot of a function of two variables');
xlabel('x'); ylabel('y'); zlabel('z');