论述Matlab数值微积分的求解方法(极限,导数,数
编辑: admin 2017-01-03
-
4
建议你用maple
类似问题
类似问题1:急求MATLAB解常微分方程组数值解的解决方案我用MATLAB7.4的ODE45解四元常微分方程组,程序如下:function xdot = eqx(t,x);m = 0.5;alf = 0.15;K=[0.0265,0.1,0.15];Q=20;a=0.8;xdot = zeros(4,1);xdot(1) = Q - alf * x(1) * x(2) +
调用方法:[t,x] = ode45(@eqx,[0 0.2] ,[0 1 1.1 1.25])x的初始值写在一个矩阵里.
另外你的函数定义时K少一维K(4),我给你加了一个:
function xdot = eqx(t,x);
m = 0.5;
alf = 0.15;
K=[0.0265,0.1,0.15,0.12];
Q=20;
a=0.8;
xdot = zeros(4,1);
xdot(1) = Q - alf * x(1) * x(2) + a*m*(x(1)+x(2)+x(3)+x(4));
xdot(2) = x(2) * (-m + K(2) * alf * x(1) - alf * x(3));
xdot(3) = x(3) * (-m + K(3) * alf * x(2) - alf * x(4));
xdot(4) = x(4) * (-m + K(4) * alf * x(3));
类似问题2:matlab求解导数y=ln((2tanx+1)/(tanx+2)),y=sin(e^(x^2+3x-2))[数学科目]
y1 = 'log((2*tan(x)+1)/(tan(x)+2))' %log在matlab中求自然对数
y11=diff(y1) %求导
simple(y11) %化简
y2 = 'sin(e^(x^2+3*x-2))'
y21=diff(y2)
simple(y21)
类似问题3:matlab ode45 求解常微分方程组dx/dt = c-b*x-w*x*y;dy/dt = w*x*y-(b+m)*y;其中c,b,w,m为已知参数,x,y为未知的,分别对t求导,请问这个常微分方程组要怎么用ode45解呢?[数学科目]
这个方程要解出来还要初始条件吧
不妨设(x(0),y(0))=(A,B);
还有用ode45只能得到数值解,不能给出解析式表达
那么先建立一个函数文件
test_fun.m
function dx=tsst_fun(x,t)
dx(1)= c-b*x(1)-w*x(1)*x(2);
dx(2)=w*x(1)*x(2)-(b+m)*x(2);
那么调用ode45
x0=(0,0);
t0=0:0.01:10;
;%根据你所想要的求得值设定t0,间隔是任意的,与求解所用的步长无关,
[x,t]=ode45(@test_fun,t0,x0);
得到了
类似问题4:用matlab解常微分方程具体题目是:海防某部缉私艇上的雷达发现正东方向c海里处有一艘走私船正以一定速度向正北方向行驶,缉私艇立即以最大速度前往拦截.用雷达进行跟踪时,可保持缉私艇[数学科目]
设缉私艇航速为v1,走私船航速为v2,航行时间为t,以缉私艇出发点为原点,正东方向为x轴,正北方向为y轴,缉私艇经t时间行驶到(x,y)点.经过的航迹为y=f(x);
y'=(v2*t-y)/(c-x) (1)
v1*t=积分sqrt((1+y'^2))dx (2);初始条件t=0时,x=0,y=0 .
由(2)式,t=积分sqrt((1+f'(x)^2))dx/v1,代入(1)式,化简:
(c-x)y''+y'=v2/v1*sqrt(1-y'^2),
再用matlab中的dsolve函数来求解微分方程 .
类似问题5:matlab解常微分方程MATLAB解常微分方程运行中创建xprim2,将此函数保存在M文件xprim2.m中:function xprim=xprim2(t,x)xprim=[x(1)-0.1*x(1)*x(2)+0.01*t;-x(2)+0.02*x(1)*x(2)+0.04*t];然后调用一个ODE算法和画出解的图形
这次看看,程序通了.
function hhh
[t,x]=ode45(@xprim2,[0,20],[30;20]);
plot(t,x);
xlabel('time t0=0,tt=20');
ylabel('x values x1(0)=30,x2(0)=20');
function xprim=xprim2(t,x)
xprim=[x(1)-0.1*x(1)*x(2)+0.01*t;
-x(2)+0.02*x(1)*x(2)+0.04*t];