matlab 纠错

来源:百度知道 编辑:UC知道 时间:2024/06/17 13:58:42
[s,t]=meshgrid(0:pi/200:pi);
x='cos(2*s)*cos(2*t)';
y='cos(2*s)*sin(2*t)';
z='sin(2*s)';
s1^2=x.^2+y.^2+z.^2;
s=input('s:');
s2=ones(size(s));
t=input('t:');
s3=ones(size(t));
subplot(1,3,1);
ezsurf(s,t,s1);
subplot(1,3,2);
ezsurf(s,t,s2);
subplot(1,3,3);
ezsurf(s,t,s3);
grid on;
clear
clf
[s,t]=meshgrid(0:pi/200:pi);
x='cos(2*s)*cos(2*t)';
y='cos(2*s)*sin(2*t)';
z='sin(2*s)';
s1=sqrt(x.^2+y.^2+z.^2);
s=input('s:');
s2=ones(size(s));
t=input('t:');
s3=ones(size(t));
subplot(1,3,1);
ezsurf(x,y,z);
subplot(1,3,2);
ezsurf(s,t,s2);
subplot(1,3,3);
ezsurf(s,t,s3);
grid on;
运行后显示??? Error using ==> plus
Matrix dimensions must agree.
急 谢谢

你的问题真的很大 但是我不知道你的意图是什么

数值和符号混合使用,乱得很,也不知道你需要绘制那个的图像

可以将你的意图告诉我 那样才可以更好的帮你解答

或到http://www.matlabsky.com找我

当然matlabsky@gmail.com也行

先不说你的程序代码。
你的算法本身就出现了问题,你把x =后面的单引号都去掉,你算算x的值,都是相等的。
那后面绘制三维的图形失去了意义。

把x,y,z后面的单引号全都去掉。

有几句严重错误:改为
x=cos(2*s)*cos(2*t);
y=cos(2*s)*sin(2*t);
z=sin(2*s);
s1=sqrt(x.^2+y.^2+z.^2);