matlab的画图问题

h=0:0.0001:0.1469;
y=(4005*asin((245*h)/123 - 1)*((245*h)/123 -1))/896 - (4005*pi)/1792 + (46725*pi*h)/10496 + (4005*(1 - (245/123*h -1)^2)^(1/2))/896 + (623*h*((153125*h)/82 - 1875)*(9/25 - (49/41*h -3/5)^2)^(1/2))/118080;
plot(h,y);
报错,画不出图来,请问有没有办法?急!!!

这是因为数组的乘除及指数运算时,不能用*   /和 ^,而应该用.*   ./  及.^将上面的表达式改为


 h=0:0.0001:0.1469;

y=(4005*asin((245.*h)/123 - 1).*((245.*h)/123 -1))./896 - (4005*pi)/1792 + (46725*pi.*h)/10496 + (4005*(1 - (245/123*h -1).^2).^(1/2))/896 + (623*h.*((153125*h)/82 - 1875).*(9/25 - (49/41*h -3/5).^2).^(1/2))/118080;

plot(h,y)

这样就可以了

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-14
把所有的乘除和乘方的运算符前面加个“.”
相似回答