matlab微分方程的数值解法
simulink带sin的微分方程?
simulink带sin的微分方程?
matlab,simulink,sin里面的这些参数分别代表的是: Amplitude:信号的幅度 Frequency:信号的频率( rad/sec)
Phase:信号的相位(rad)
Sample time:采样周期(0:连续;0:离散采样时间;-1:工作模式与接受信号模式相同) 总结一下就是yAmplitude×sin(Frequency ×time Phase)的曲线。
国际IEEE标准,前面系数为1-10的小数,称为尾数。 -3称为指数,指小数点移动的数值,正值向左,负值向右(还原与此相反)。
如何用Matlab编程计算二阶常微分方程组的数值解?
用Matlab编程计算二阶常微分方程组的数值解的方法有很多种,最常用有ode45函数。ode45函数的使用格式:【t,y】ode45(odefun,tspan,y0) odefun@(t,y)[y(1) 2*y(2);3*y(1) 2*y(2)]; %自定义函数 tspan[0 20]; %时间 y0[1 1]; %初值 [t,y] ode45(odefun,tspan,y0); A[t,y]; A运行结果
Matlab求解微分方程dsolve函数?
在matlab命令窗口输入help dsolve
可以得到关于dsolve函数的一些帮助。基本的使用方式是dsolve(equ)
其中,equ表示方程,返回结果为带有常量的符号解,
例一:
syms y(x)
dsolve(diff(y) y 1)
或者
dsolve(Dy y 1,x)
都是dy/dx y 1 的解
高阶情况:
Dy diff(y)
D2y diff(y, 2)
例二:
使用D代替diff时,默认变量为t,
matlab中用obe45求解微分方程组?
ode45是最常用的求解非刚性微分方程(组)的指令,它采用变步长四、五阶Runge-Kutta法,求解精度比ode23、ode15要高。但ode45的计算量比较大,而ode23计算量小,且误差大
调用格式:[t,y]ode45(odefun,tspan,y0)
odefun 用以表示f(t,y)的函数句柄或inline函数,t是标量,y是标量或向量;
tspan 如果是二维向量[t0,tf],表示自变量初值t0和终值tf;如果是高维向量[t0,t1,t2,。。。,tn],则表示输出结点列向量;
y0 表示初值向量;
t 表示结点列向量(t0,t1,t2,。。。,tn)^T;
y 表示数值解矩阵,每一列对应y的一个分量。
实例说明:
例1 yy-2t/y,y(0)1,0t4
odefuninline(y-2*t/y,t,y);
[t,y]ode45(odefun,[0,4],1)
plot(t,y,o-)
例2 x-x^3-y,x(0)1;yx-y^3,y(0)0.5,0t30
首先,建立自定义函数文件myfun.m
function fmyfun(t,x)
f(1)-x(1)^3-x(2);
f(2)x(1)-x(2)^3;
ff(:)
然后,在命令窗口中输入
[t,y]ode45(myfun,[ 0 30],[1:50]])
plot(t,x(:,1) ,t,x(:,2),o-)
figure
plot(x(:,1) ,x(:,2),:)