用matlab ode45解二次导数并根据解的系数变化画出所有图像X''+2*zeta*X'+X=cos(t)zeta是一个有多个元素的向量已经写出了求原式子的部分:unction out = hw2Q4() clear allclose allclctspan = [0 40]; %Range of t we are

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/13 05:26:20

用matlab ode45解二次导数并根据解的系数变化画出所有图像X''+2*zeta*X'+X=cos(t)zeta是一个有多个元素的向量已经写出了求原式子的部分:unction out = hw2Q4() clear allclose allclctspan = [0 40]; %Range of t we are
用matlab ode45解二次导数并根据解的系数变化画出所有图像
X''+2*zeta*X'+X=cos(t)
zeta是一个有多个元素的向量
已经写出了求原式子的部分:
unction out = hw2Q4()
clear all
close all
clc
tspan = [0 40]; %Range of t we are solving
initcond = [0 0]; %Initial condition
sol = ode45(@odeFun,tspan,initcond); %Solves the ode
tao = 0:0.01:40; %Create a vector with evenly spaced times
X = deval(sol,tao,1); %Evaluate solution vector y at times in t
z = deval(sol,tao,2);
plot(tao,X,'-b');
xlabel('tao');
ylabel('X');
title('X''''+2*zetaX''+X=cos(tao),y(0)=0,y''(0)=0');
end
function dX = odeFun(tao,X) %This function contains the ode
dX(1) = X(2);
dX(2) = -2*zeta(i)*X(2)-X(1)+cos(tao);
dX=dX';
end
想用zeta = [0.2:0.2:1.4]
for i=1:length(zeta)
end
来把zeta的所有元素代入式子后的图像都画在一个图像上.求问要怎么画呢?>_

用matlab ode45解二次导数并根据解的系数变化画出所有图像X''+2*zeta*X'+X=cos(t)zeta是一个有多个元素的向量已经写出了求原式子的部分:unction out = hw2Q4() clear allclose allclctspan = [0 40]; %Range of t we are

参考代码:

function out = hw2Q4()   
tspan = [0 40]; %Range of t we are solving
initcond = [0 0]; %Initial condition

Zeta = [0.2:0.2:1.4];

clf
for zeta=Zeta
    sol = ode45(@odeFun,tspan,initcond,[],zeta); %Solves the ode
   
    tao = 0:0.01:40; %Create a vector with evenly spaced times
    X = deval(sol,tao,1); %Evaluate solution vector y at times in t
    z = deval(sol,tao,2);
   
    plot(tao,X,'-b');
    hold on
end
xlabel('tao');
ylabel('X');
title('X''''+2*zetaX''+X=cos(tao), y(0)=0, y''(0)=0');

function dX = odeFun(tao,X,zeta) %This function contains the ode
dX(1) = X(2);
dX(2) = -2*zeta*X(2)-X(1)+cos(tao);

dX=dX';

 

function out = hw2Q4()
clear all
close all
clc
tspan =linspace(0,40)'; %Range of t we are solving
initcond = [0 0]; %Initial condition
figure;hold on
for zeta =[0.2:0.2...

全部展开

function out = hw2Q4()
clear all
close all
clc
tspan =linspace(0,40)'; %Range of t we are solving
initcond = [0 0]; %Initial condition
figure;hold on
for zeta =[0.2:0.2:1.4]
[t,y]=ode45(@(tspan,X,zeta) odeFun(tspan,X,zeta),tspan,initcond,[],zeta); %#ok %Solves the ode
x=y(:,1);
plot(t,x,'-b');
end
xlabel('tao');
ylabel('X');
title('X''''+2*zetaX''+X=cos(tao), y(0)=0, y''(0)=0');
end
function dX =odeFun(tspan,X,zeta) %This function contains the ode
dX=[0,0]';
dX(1) = X(2);
dX(2) = -2*zeta*X(2)-X(1)+cos(tspan);
end

收起

用matlab ode45解二次导数并根据解的系数变化画出所有图像X''+2*zeta*X'+X=cos(t)zeta是一个有多个元素的向量已经写出了求原式子的部分:unction out = hw2Q4() clear allclose allclctspan = [0 40]; %Range of t we are matlab解微分方程组求微分方程组的数值解并作图.要求是用ode45的方法来解 用MATLAB求微分方程分别用Euler法和ode45解下列常微分方程并与解析解比较 MATLAB里怎么写这个式子用ODE45 用matlab中ode45解方程组 x1'=-2*x1+x2 x2'=-3*x1+6*x2 初始值自定 关于matlab常微分方程的解法这是一个含变量的微分方程形如x1' =x2x2' =x3x3' =(1.5 + 0.2 cos(t))x2−(1 + 0.4 sin(t))x3 +u 其中x1'是x1的导数,u=5是一个变量常数,我知道直接把u改写成5,用ode45就可以解出 求教matlab高手ode45的用法!dsolve('Dt=m/(p/v-k*v^2)','t(0)=0','v')我懂得用这个函数解出微分方程的解析解,但不知道怎么用数值解(ode45)解这个微分方程,要怎么用ode45? 应用Matlab的ode45解含有约束条件的多参数微分方程 在matlab中用 ode45解方程 y'=x-y,y(0)=1,0 大神求解动力学微分方程,用matlab中ode45编程实现!其中的参数可以随便设置, 用MATLAB如何用ODE45求解如下微分方程已知J,Tb,Fx和R matlab ode45 可以解二阶微分方程吗 用MATLAB中的ode命令解二阶微分方程,如何得到y的二次导数项结果 用matlab一元二次函数怎么解 我在编matlab程序的过程中,需要用ode45解一个一阶微分方程组,我在编matlab程序的过程中,需要用ode45解一个一阶微分方程组,关键问题是这个方程组的系数需要前面的程序传进去,所以我不会用, matlab解微分方程组ode45用ode45 解微分方程组 以前基本都没碰过matlab,自己试着编了一点儿,搞不定啊, 只剩这么多分了,好人一生平安,雅安加油!@liuliangsxd 您好,下面的是我根据您给的程序,完 matlab中|求二次导数怎么输入?最好举例 matlab 微分方程数值解小弟用ode45函数求解α=1的情况失败,以下是函数function dt=eq1(r,t)dt(2)=-2/r*t(2)+8.5e-28*t(1)-1e14*cos(pi*r/2); %因为不会写导数,我自己手动展开了一下dt(1)=t(2);dt=dt';r0=0;rf=1;[r,t]=od