声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1631|回复: 1

[紧急求助]关于matlab循环调用变量

[复制链接]
发表于 2005-12-10 13:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
<P><FONT face=宋体>各位高手</FONT>,<FONT face=宋体>小弟我刚学</FONT>matlab<FONT face=宋体>不久</FONT>.<FONT face=宋体>我问个很菜的问题</FONT>,<FONT face=宋体>要在</FONT>M<FONT face=宋体>文件中用到命令窗主程序中的一个循环变量</FONT>.<FONT face=宋体>我在运行中总是遇见</FONT>M<FONT face=宋体>文件不识别该变量</FONT>.<FONT face=宋体>应该怎样定义啊</FONT>?<FONT face=宋体>十万火急</FONT>,<FONT face=宋体>请哪位高手告诉我啊</FONT>.<p></p></P>
<P><FONT face=宋体>我的程序如下<p></p></FONT></P>
<P>F1.m<FONT face=宋体>文件</FONT>:<p></p></P>
<P>function dq=F1(t,q)<BR>C1=0.5*0.4*pi*1.45*1.45*9.8;<BR>M=1051;<BR>g=9.8;<BR>p=29*0.001*101300*(exp(-29*0.001*9.8*q(3)/(8.31*(15-0.006*q(3)+273))))/(8.31*(15-0.006*q(3)+273));<BR>dq=[q(2);C1*p*(50-q(2).^2)/M;q(4);C1*p*q(4).^2/M-g;q(6);C1*p*(-50+q(6).^2)/M];<p></p></P>
<P>jy2.m<FONT face=宋体>文件</FONT>:<p></p></P>
<P>function dq=jy2(t,q)<BR>S=50*a;<BR>M=1051;<BR>g=9.8;<BR>C1=0.5*0.4*pi*1.45*1.45*9.8;<BR>C2=0.5*2.0*S*9.8;<BR>p=29*0.001*101300*(exp(-29*0.001*9.8*q(3)/(8.31*(15-0.006*q(3)+273))))/(8.31*(15-0.006*q(3)+273));<BR>dq=[q(2);C1*p*(50-q(2).^2)/M-C2*p*q(2).^2/M;q(4);(C1+C2)*p*q(4).^2/M-g;q(6);C1*p*(-50+q(6).^2)/M+C2*p*q(6).^2/M];<p></p></P>
<P><FONT face=宋体>运行窗</FONT>:<p></p></P>
<P>&gt;&gt;  clear<BR>t=50;<BR>  [T1,Q1]=ode45('F1',[0,t],[0;1088;20000;-100;0;0]);<BR>  x1=Q1(end,1);<BR>  vx1=Q1(end,2);<BR>  y1=Q1(end,3);<BR>  vy1=Q1(end,4);<BR>  z1=Q1(end,5);<BR>  vz1=Q1(end,6);<BR>  x2=x1;<BR>  vx2=x1;<BR>  y2=y1;<BR>  vy2=vy1;<BR>  z2=z1;<BR>  vz2=vz1;<BR>     for a=0:0.1:8;<BR>        [T2,Q2]=ode45('jy2',[0,0.1],[x2;vx2;y2;vy2;z2;vz2]);<BR>        x2=Q2(end,1);<BR>        vx2=Q2(end,2);<BR>        y2=Q2(end,3);<BR>        vy2=Q2(end,4);<BR>        z2=Q2(end,5);<BR>        vz2=Q2(end,6);<BR>     end<BR>  x3=x2<BR>  vx3=vx2<BR>  y3=y2<BR>  vy3=vy2<BR>  z3=z2<BR>  vz3=vz2<p></p></P>
<P><FONT face=宋体>输出</FONT>:<p></p></P>
<P><FONT color=#ff0000>??? Undefined function or variable 'a'.<p></p></FONT></P>
<P><FONT color=#ff0000>Error in ==&gt; E:\matlab\work\jy2.m<BR>On line 2  ==&gt; S=50*a;<p></p></FONT></P>
<P><FONT color=#ff0000>Error in ==&gt; E:\matlab\toolbox\matlab\funfun\private\odearguments.m<BR>On line 104  ==&gt; f0 = feval(ode,t0,y0,args{:});<p></p></FONT></P>
<P><FONT color=#ff0000>Error in ==&gt; E:\matlab\toolbox\matlab\funfun\ode45.m<BR>On line 155  ==&gt; [neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, args, ...<p></p></FONT></P>
<P><FONT color=#000000><FONT face=宋体>就是我在命令窗中定义的变量</FONT>a<FONT face=宋体>无法被</FONT> jy2.m<FONT face=宋体>文件读取</FONT>.<p></p></FONT></P>
<P><FONT face=宋体>具体应该怎么办啊<p></p></FONT></P>
<P> <p></p></P>
<P ><p><FONT face="Times New Roman"> </FONT></p></P>[em19][em19][em19]
回复
分享到:

使用道具 举报

发表于 2005-12-10 18:44 | 显示全部楼层

回复:(threeguns)[紧急求助]关于matlab循环调用变量...

程序中a变量根本没有传递的途径,也没找到你的a是什么东西,当然不行了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-3 08:17 , Processed in 0.059470 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表