matlab绘制方程组图像,在线急等
我是个新手,刚接触matlab。我想画在给定rpo的不同值下的y-F图像,可是程序结果显示为
??? Error using ==> plot
Conversion to double from sym is not possible.
Error in ==> Untitled31 at 32
plot(F,y)
怎么修正请求高人指点,在线急等。以下是我的程序,方程是在图片中。如果有很多错误,请求高人改正,谢谢谢谢
A=4.184e8;
B=3.944e8;
C=0.035;
m=1.0;
n=0.47;
Tm=1932;
rou=4430;
T0=300;
gama0=0.00001;
cp=564;
beta=0.9;
r=1000;
rp=1;
t0=(A+B*0^n).*(1+C*log(r/gama0));
T=T0+beta/(rou*cp)*t0*0.003;
l=1
for rpo=0:0.001:3;
t=(A+B*rpo^n)*(1+C*log(r/gama0))*(1-((T-T0)/(Tm-T0))^m);
T=T+beta/(rou*cp)*t*0.001;
%plot(rpo,t,'-');
%hold on
end
axis([0 3 0 13e8]);
syms rpo;
I1=int(t,rpo,0,1.5);
vpa(I1,20);
for x=1.5:0.5:3;
I2=int(t,rpo,1.5,x);
y=-(l/2):(l/10):(l/2);
T=T0+beta/(rou*cp)*I1+beta/(rou*cp)*(1+cos(y/l))*I2;
F=vpa(T,5);
plot(F,y)
hold on
end
追问:您能具体说一下这两种方法怎么用吗?
答案:因为F是sym格式而不是数字格式,因而不能画图。不妨用ode45作数值积分就可避免符号积分,或者设法将F转为数字格式。
上一个:matlab程序设计实例中导弹的运动程序设计
下一个:matlab 读取wav