matlab三维图程序:[X,Y]=meshgrid([200:2:300],[-pi/4:pi/100:pi/4]);M=-pi/4:pi/100:pi/4;f=sqrt(1-((1600+(X.*cos(M+pi/4)-0.707*X+40*sin(Y)).^2+(X.*sin(M+pi/4)-0.707*X-40*cos(Y)).^2-(0.707*X-40*sin(Y)).^2-(0.707*X+40*cos(Y)).^2)./(80*X)).^2);Z=(pi/
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/15 12:32:44
matlab三维图
程序:
[X,Y]=meshgrid([200:2:300],[-pi/4:pi/100:pi/4]);
M=-pi/4:pi/100:pi/4;
f=sqrt(1-((1600+(X.*cos(M+pi/4)-0.707*X+40*sin(Y)).^2+(X.*sin(M+pi/4)-0.707*X-40*cos(Y)).^2-(0.707*X-40*sin(Y)).^2-(0.707*X+40*cos(Y)).^2)./(80*X)).^2);
Z=(pi/2)/(trapz(M,f));
mesh(X,Y,Z)
运行错误
Error using ==> times
Matrix dimensions must agree.
应该是矩阵不对什么的,
函数如下
简单说明两点:
1、表达式中涉及到三个变量:X、Y和M,似乎没有太好的方法避免使用循环(即使有,可能也会把程序搞得更难理解),所以程序改用循环结构.
2、按照你给的表达式计算,结果Z会出现复数(我直接使用你的f表达式,没有仔细检查有没有问题,请你再自己核实一下),所以绘图分别绘制实部和虚部.
代码如下:
[X,Y] = meshgrid([200:2:300],[-pi/4:pi/100:pi/4]);M=-pi/4:pi/100:pi/4;
for i = 1 : size(X,1)
for j = 1 : size(X,2)
x = X(i, j);
y = Y(i, j);
f = sqrt(1-((1600+(x.*cos(M+pi/4)-0.707*x+40*sin(y)).^2+...
(x.*sin(M+pi/4)-0.707*x-40*cos(y)).^2-(0.707*x-...
40*sin(y)).^2-(0.707*x+40*cos(y)).^2)./(80*x)).^2);
Z(i, j) = (pi/2)/(trapz(M,f));
end
end
subplot 121
mesh(X,Y,real(Z))
xlabel('{\itl}_2'); ylabel('\theta');
zlabel('Z'); title('Real part');
subplot 122
mesh(X,Y,imag(Z))
xlabel('{\itl}_2'); ylabel('\theta');
zlabel('Z'); title('Imaginary part');
关于 计算Z会出现复数的问题,我们取x=200, y=0,看一下f表达式中分母的根号里面1减去的那部分的值:
x=200;y=0;
W=((1600+(x.*cos(M+pi/4)-0.707*x+40*sin(y)).^2+(x.*sin(M+pi/4)-...
0.707*x-40*cos(y)).^2-(0.707*x-40*sin(y)).^2-...
(0.707*x+40*cos(y)).^2)./(80*x));
plot(M,W)
从画出的图很容易看到,W绝对值多数时候大于1,拿1减去W的平方再开方,当然就会得到复数了.
matlab三维图程序:[X,Y]=meshgrid([200:2:300],[-pi/4:pi/100:pi/4]);M=-pi/4:pi/100:pi/4;f=sqrt(1-((1600+(X.*cos(M+pi/4)-0.707*X+40*sin(Y)).^2+(X.*sin(M+pi/4)-0.707*X-40*cos(Y)).^2-(0.707*X-40*sin(Y)).^2-(0.707*X+40*cos(Y)).^2)./(80*X)).^2);Z=(pi/
matlab 2x+y+3z=13x-y=-1y+z=5用 MATLAB软件 MATLAB软件 MATLAB软件 MATLAB软件 MATLAB软件 MATLAB软件
matlab中怎么画图y=x^y
怎么用matlab画函数图z=x*y/(x*x+y*y)如何用matlab画
y=(1+x)/x^2,用matlab怎么画图
y=x^x在MATLAB中怎么表示
MATLAB绘制y=x-x^2/3
matlab中的A=[x',y',ones(size(x'))];
如何用matlab画y=(1+1/x)^x
matlab 求出y=x*sin(x)在0
matlab里[x,y]=meshgrid(x,y) [x,y]=meshgrid(x)有区别吗
matlab:能用matlab将 dy/dx=x*sin(x+y)
matlab y=1/x ,1≤x≤100如何用matlab计算及绘图
MATLAB中 @(x,y)
matlab 对于函数x*y+exp(x+y+3)=ln(x/y) 求x在区间(1,5)x与y的关系 使用matlab
matlab表达式y=sin(x)/x和y=sin(x)./x有什么区别,
(x^2)/16+(y^2)/25=z怎么用MATLAB求解使用MATLAB画图
matlab如何画z=x^2+y^2,z