用matlab画莫比乌斯环,程序哪处问题了啊?

来源:百度知道 编辑:UC知道 时间:2024/06/28 03:59:34
请高人帮忙看一下,matlab说是
Error: The input character is not valid in MATLAB statements or expressions.

clear a=50;
u=-9:0.5:9;t=-pi:0.01:pi;
[x,y]=meshgrid(u,t);x=(a+x.*sin(0.5*y)).*cos(y);
y=(a+x.*sin(0.5*y).*sin(y);z=x.*cos(0.5*y);
subplot(2,2,1);meshc(x)
subplot(2,2,2);waterfall(y)
subplot(2,2,3);meshz(z)
subplot(2,2,4);mesh(x,y,z)
grid on
for i=1:3
pause(0.5);
view([-37.5+10*i70]);
end

能给点修改意见么。我在线等。。只有19分了全拿出来。。。多谢了。。

不好意思,我来晚不了,呵呵!
其实只是小小的书写错误:
1.y=(a+x.*sin(0.5*y)这里少了个反括号,所以就提示了句子有语法错误
2.view([-37.5+10*i70])这里少了个空格
view([-37.5+10*i 70])
3.函数名称不要跟网格后的变量名相同,
(本人推断这是你的逻辑错误,因为没看到题目)
x=(a+x.*sin(0.5*y)).*cos(y);
y=(a+x.*sin(0.5*y)).*sin(y);
z=x.*cos(0.5*y);
等式左边的应改为X,Y,Z;改后:
X=(a+x.*sin(0.5*y)).*cos(y);
Y=(a+x.*sin(0.5*y)).*sin(y);
Z=x.*cos(0.5*y);
subplot(2,2,1);meshc(X)
subplot(2,2,2);waterfall(Y)
subplot(2,2,3);meshz(Z)
subplot(2,2,4);mesh(x,y,Z)

a=50;
[x,y]=meshgrid(-18:0.2:18,-pi:0.01:pi);
X=(a+x.*sin(0.5*y)).*cos(y);
Y=(a+x.*sin(0.5*y)).*sin(y);
Z=x.*cos(0.5*y);
plot3(X,Y,Z);