一个matlab程序,出点小问题,高手看一下

程序代码如下:functionx=C(q)q0=1/2*pi;q=1/2*pi:5*pi/180:5/2*pi;a=36;b=250;w=0.8;c=((a.*cos(q... 程序代码如下:
function x=C(q)
q0=1/2*pi;
q=1/2*pi:5*pi/180:5/2*pi;
a=36;
b=250;
w=0.8;
c=((a.*cos(q0)+sqrt(b.^2-(a.*sin(q0)).^2)));
s=((a.cos(q)+sqrt(b.^2-(a.*sin(q)).^2)))-c;
v=-a.*sin(q).*w-a.^2.*sin(q).*cos(q).*w/sqrt(b.^2-a^2.*(sin(q)).^2);
a=-a.*w.^2.*cos(q)-a.^2*0.5.*w.*(2.*w.*cos(2*q).*(b.^2-a.^2.*(sin(q)).^2).^(-0.5)-0.5.*sin(2*q).*(b.^2-a.^2.*(sin(q)).^2).^(-1.5).*(-a.^2.*sin(2*q).*w));
plot(q,s,q,v,q,a);
grid on
end
运行时我依次输入q=36;y=C(q)
结果出现如下的错误信息,怎么解决?
Warning: File: D:\MATLAB 6.5\work\C.m Line: 13 Column: 1
Unmatched "end".
(Type "warning off MATLAB:m_warning_end_without_block" to suppress this warning.)
??? Attempt to reference field of non-structure array 'a'.

Error in ==> D:\MATLAB 6.5\work\C.m
On line 8 ==> s=((a.cos(q)+sqrt(b.^2-(a.*sin(q)).^2)))-c;
展开
 我来答
laoguanr
2010-04-12 · TA获得超过1052个赞
知道小有建树答主
回答量:193
采纳率:50%
帮助的人:65.6万
展开全部
你的函数是x=C(q),但是在你的函数中没有输出x;而且q是外部输入,不应该在函数内部定义。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangxiang8021
2010-04-12
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
s=((a.cos(q)+sqrt(b.^2-(a.*sin(q)).^2)))-c中a.cos(q)不对,中间少了个*号,当 q=1/2*pi:5*pi/180:5/2*pi时,图形为四条交叉的曲线。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
漫九月6528
2010-04-12 · TA获得超过543个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:176万
展开全部
少了个乘法符号吧,a.cos(q)表示的是域
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
folowing_love
2010-04-11 · TA获得超过191个赞
知道答主
回答量:268
采纳率:0%
帮助的人:223万
展开全部
你那个出错行的 a.cos(q)是不是少了个东西,还有个运算符!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式