matlab编程问题(请高手指点)

来源:百度知道 编辑:UC知道 时间:2024/06/19 04:35:36
syms u
for u=0:pi/3600:pi/1.8
A=(90-90*cos(18/5*u))/pi;

x=5/pi*(18u-5*sin(18/5*u))+150*0.5/((2*(A^2+150^2/4))^0.5)
y=u-2*A*0.5/((150*(A^2+150^2/4))^0.5)

plot(x,y,'-r')
end
我想输出个xy坐标的曲线。变量是u。总是报错
要是我把坐标输出成一个个1*2阶坐标点怎么办

把第一句去掉...这句话你是哪学来的...
还有18u中间要打*号

syms u
for u=0:pi/3600:pi/1.8
A=(90-90*cos(18/5*u))/pi;

x=5/pi*(18*u-5*sin(18/5*u))+150*0.5/((2*(A^2+150^2/4))^0.5) %******18*u
y=u-2*A*0.5/((150*(A^2+150^2/4))^0.5)
hold on;
plot(x,y,'-r')
end

没有hold on;语句,每次画点将清除掉原来的画上的点,以至画图是一片空白。

matlab的长处不在循环,而在于矩阵处理
试试下面这样

u=[0:pi/3600:pi/1.8 ];
A=(90-90*cos(18/5*u))/pi;
x=5/pi*(18*u-5*sin(18/5*u))+150*0.5./((2*(A.^2+150^2/4)).^0.5) ;
y=u-2*A*0.5/((150*(A.^2+150^2/4)).^0.5) ;
plot(x,y,'-r');

执行效率会高些
另外不需要输出的变量,后边要加分号