[T,Y]=ode45(@rigid,[0 1],[rand(15,1)]);plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.',T,Y(:,4),'-',T,Y(:,5),'-.',T,Y(:,6),'.',T,Y(:,7),'-',T,Y(:,8),'-.',T,Y(:,9),'.',T,Y(:,10),'-',T,Y(:,11),'-.',T,Y(:,12),'-.',T,Y(:,13),'.',T,Y(:,14),'-',T,Y(:,15),'.')

来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/22 09:14:18
[T,Y]=ode45(@rigid,[01],[rand(15,1)]);plot(T,Y(:,1),''-'',T,Y(:,2),''-.'',T,Y(:,3),''.'',T,Y(:,4),''-'',T,Y(

[T,Y]=ode45(@rigid,[0 1],[rand(15,1)]);plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.',T,Y(:,4),'-',T,Y(:,5),'-.',T,Y(:,6),'.',T,Y(:,7),'-',T,Y(:,8),'-.',T,Y(:,9),'.',T,Y(:,10),'-',T,Y(:,11),'-.',T,Y(:,12),'-.',T,Y(:,13),'.',T,Y(:,14),'-',T,Y(:,15),'.')
[T,Y]=ode45(@rigid,[0 1],[rand(15,1)]);
plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.',T,Y(:,4),'-',T,Y(:,5),'-.',T,Y(:,6),'.',T,Y(:,7),'-',T,Y(:,8),'-.',T,Y(:,9),'.',T,Y(:,10),'-',T,Y(:,11),'-.',T,Y(:,12),'-.',T,Y(:,13),'.',T,Y(:,14),'-',T,Y(:,15),'.')
M文件:
function dy=rigid(t,y)
c=0.1;
Dy=rand(15,1);
A=[-2 1 1 0 0;
0 -2 1 1 0;
0 0 -2 0 0;
1 1 0 -2 0;
0 0 0 0 0];
for i=1:5
s1=0;
s2=0;
s3=0;
for j=1:5
s1=s1+A(i,j)*y(3*i-2);
s2=s2+A(i,j)*y(3*i-1);
s3=s3+A(i,j)*y(3*i);
end
Dy(3*i-2)= 10*y(3*i-1)-y(3*i-2)+c*s1;
Dy(3*i-1)= 28*y(3*i-2)-y(3*i-1)-y(3*i-2)*y(3*i)+c*s2;
Dy(3*i)= y(3*i-2)*y(3*i-1)-8/3*y(3*i)+c*s3;
end
运行后出现错误:
One or more output arguments not assigned during call to 'C:\MATLAB7\work\rigid.m (rigid)'.
Error in ==> funfun\private\odearguments at 110
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ==> ode45 at 173
[neq,tspan,ntspan,next,t0,tfinal,tdir,y0,f0,odeArgs,...

[T,Y]=ode45(@rigid,[0 1],[rand(15,1)]);plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.',T,Y(:,4),'-',T,Y(:,5),'-.',T,Y(:,6),'.',T,Y(:,7),'-',T,Y(:,8),'-.',T,Y(:,9),'.',T,Y(:,10),'-',T,Y(:,11),'-.',T,Y(:,12),'-.',T,Y(:,13),'.',T,Y(:,14),'-',T,Y(:,15),'.')
function dy=rigid(t,y) 中是dy下面用的是Dy,不统一.

matlab微分方程1、建立m-文件rigid.m如下: function dy=rigid(t,y) dy=zeros(3,1); dy(1)=y(2)*y(3); dy(2)=-y(1)*y(3); dy(3)=-0.51*y(1)*y(2);2、取t0=0,tf=12,输入命令: [T,Y]=ode45('rigid',[0 12],[0 1 1]) [T,Y]=ode45(@rigid,[0 1],[rand(15,1)]);plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.',T,Y(:,4),'-',T,Y(:,5),'-.',T,Y(:,6),'.',T,Y(:,7),'-',T,Y(:,8),'-.',T,Y(:,9),'.',T,Y(:,10),'-',T,Y(:,11),'-.',T,Y(:,12),'-.',T,Y(:,13),'.',T,Y(:,14),'-',T,Y(:,15),'.') matlab求微分解析解function dy=rigid(t,y)dy=zeros(3,1);dy(1)=y(2)*y(3);dy(2)=-y(1)*y(3);dy(3)=-0.51*y(1)*y(2);[T,Y]=ode45('rigid',[0 12],[0 1 1])为何说没有定义y, 用matlab求微分方程y''=58.8siny y(0)=pi/4,y'(0)=0.我的程序是这样的:(看补充)function dy=rigid(t,y)dy=zeros(2,1);dy(1)=y(2);dy(2)=58.8*sin(y(1));[t,y]=ode45(@rigid,[0 100],[0.785 0]);plot(t,y(:,1))显示第三行有错加y未定 matlab求解常微分方程组数值解,总出现这个,急死了我输入function dy=rigid(t,y) ;dy=zeros(3,1);dy(1)=y(2)*y(3);dy(2)=-y(1)*y(3);dy(3)=-0.51*y(1)*y(2);运行[T,Y]=ode45('rigid',[0 12],[0 1 1]);后总出现Error using ==> fevalUndefi matlab中ode45的例子如何运行程序是:function dy = rigid(t,y)dy = zeros(3,1); % a column vectordy(1) = y(2) * y(3);dy(2) = -y(1) * y(3);dy(3) = -0.51 * y(1) * y(2);options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);[T,Y] = ode45(@rig matlab求微分方程组在matalb自带的ode45实例中(即help),function dy = rigid(t,y)dy = zeros(3,1); % a column vectordy(1) = y(2)*y(3);dy(2) = -y(1)*y(3);dy(3) = -0.51*y(1)*y(2);options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);[T, matlab ode45求解微分方程 D2y-0.01*Dy.^2+2*y=sin(t),初始值0 用matlab解二阶微分方程y''(t)= -3 cos(2t) +2sin(t)+t-3.8使用ode23或ode45 matlab中用ode45求微分方程的数值解问题[T,Y]=ode45('function1',[0 3000],[2 0]);其中[0 3000]是起始时间和结束时间.那步长是在哪里设置的,怎么没有步长呢? matlab中ode45括号的意思,导数?function dy = vdp1000(t,y)dy = zeros(2,1); % a column vectordy(1) = y(2);dy(2) = 1000*(1 - y(1)^2)*y(2) - y(1);[t,Y] = ode15s(@vdp1000,[0 3000],[2 0])plot(t,Y(:,1),'-o')请问ode45中dy(1) ,y(2)等 括号是 关于Matlab的一个简单问题,ode45函数的>> t0=0;tf=10;>> [t,y]=ode45('eq',[t0 tf],[0 0 ]);>> T=0:0.1:2*pi;>> X=20*cos(T);>> Y=15*sin(T);>> plot(X,Y,'-')>> hold on>> plot(y(:,1),y(:,2),'+')这是程序,然后第二行是显示:Warning:Mixtur rigid matlab中ODE45函数该如何使用?在ODE45中,总是有[t,y],t是说明ODE45只能用于时间相关求解,还是t只是表示任意参数的符号? matlab ode45求解微分方程后 怎样输出dy/dt,即如何plot(t,y') 请MATLAB达人解答一个关于ode45的问题~问题是这样的:rp=205.023474553934;wi=-125053.06022610828;y=0.5*x*exp(rp*t)*cos(wi*t);想求得并plot y与t的曲线,t=0:0.5:20.自己编了个ode45的函数求出来不对,请各位高手教教我 matlab函数ode45出错,如果能调好整个完整程序,愿意加100分w=1;fc=0.73359525;T=2*pi/w;%线性系统的周期或激励的周期step=T/100;%定义步长为T/100y0=[0;0];tspan=[0:step:100*T];%定义时间范围[t,y]=ode45(@duffing,tspan,y0 y''+0.5y'-y^3+y^5=0.4*cos(t) y(-1)=0;y(0)=0;y(1)'=0 这个方程如何解决,好像不能用ode45哦?