如何找到Diff方程组内部函数的数值导数?

时间:2018-07-23 01:14:47

标签: matlab numerical-analysis

我想解决这个DE系统:

import { switchMap, takeUntil } from 'rxjs/operators';
import { timer, fromEvent } from 'rxjs';

const button = document.querySelector('button')
const mouseDown$ = fromEvent(button, 'mousedown')
const mouseUp$ = fromEvent(button, 'mouseup')

const stream$ = mouseDown$.pipe(
  switchMap(() => timer(500).pipe(takeUntil(mouseUp$)))
);

stream$.subscribe(() => console.log('Only Fired after 500ms'))

如何在不输入v的导数的精确表达式的情况下找到v的数值导数?

然后解决DRV功能

function ydot= DRV(y)
B=[1 0.5 4;7.2 0.6 5;3.3 8 0.2];
R1=[2 5 3;11 3 6;1.2 2 4];
Q1=eye(3,3);
qv=[y(1);y(2);y(3)];
p=[y(4) y(5) y(6);y(7) y(8) y(9);y(10) y(11) y(12)];
qvdot=p*qv;
pdot=p*B*inv(R1)*p+Q1;
v=Q1*p*R1*qv;
vdot= % how to derive V with finite difference approximation or any other method
zdot=Q1*v+R1*vdot;
pdot=pdot(:);
ydot=[qvdot;pdot;zdot];
ydot(:);
end

1 个答案:

答案 0 :(得分:0)

尝试使用MATLAB符号工具箱,除非您编写自己的ode求解器,否则您将无法计算数值导数,然后将其用于其他数值算法,如Runge-Kutta(ODE45)。