clzm.net
当前位置:首页 >> 如何用MAtlAB解含参数的微分方程? >>

如何用MAtlAB解含参数的微分方程?

用dsolve dsolve('Dx = -a*x') ans = C1/exp(a*t)

可以借助于嵌套函数或匿名函数实现附加参数的传递,例如 function main y0 = [1.4; 0.1; 0.1]; A = linspace(eps, 10, 20); Y = A * NaN; for ii = length(A) a = A(ii); y = ode45(@eq2, [0 a], y0); Y(ii) = y(end, 1); end plot(A, Y) functi...

可以借助于嵌套函数或匿名函数实现附加参数的传递,例如 function main y0 = [14; 01; 01]; A = linspace(eps, 10, 20); Y = A * NaN; for ii = length(A) a = A(ii); y = ode45(@eq2, [0 a], y0); Y(ii) = y(end, 1); end plot(A, Y) functi

首先要把这个二阶的方程组转换为四个一阶的方程,然后用Romberg方法求解,也就是ode45这个函数.

可以借助于嵌套函数或匿名函数实现附加参数的传递,例如 function main y0 = [1.4; 0.1; 0.1]; A = linspace(eps, 10, 20); Y = A * NaN; for ii = length(A) a = A(ii); y = ode45(@eq2, [0 a], y0); Y(ii) = y(end, 1); end

可以借助于嵌套函数或匿名函数实现附加参数的传递,例如 function main y0 = [1.4; 0.1; 0.1]; A = linspace(eps, 10, 20); Y = A * NaN; for ii = length(A) a = A(ii); y = ode45(@eq2, [0 a], y0); Y(ii) = y(end, 1); end

分段函数的一个简单方法就是分了几段就写几个函数: 定义一个主调函数、两个子函数 最后一个主调程序调用 function dx=fun(t,x) dx=zeros(2,1); f=; dc(t)=diff('f','t');%f就是你的c(t) dx(1)=x(2)*dc(t); dx(2)=x(1)+6*t^2;%0

如果是常微分方程,可以用dsolve函数。该函数可以解单变量常微分方程或者多变量常微分方程组,所以5个变量也不在话下。 调用格式如下: [y1,...,yN] = dsolve(eqns) solves the system of ordinary differential equations eqns and assigns the...

改微分方程的符号特解为: ys=dsolve('D2y+6*Dy+9*y-10*sin(x)','y(0)=0','D(y)=0','x') 不知道你这道题是不是还要求微分方程的数值解,自变量的范围也没给定,需要画图也没说明。

如果你能够把公式及已知条件认真输进来的话,或许就能帮你做了

网站首页 | 网站地图
All rights reserved Powered by www.clzm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com