引用:
作者: 宇文J
由于程序较长,较复杂我把程序简化了一下。
只需在命令框里输入:[tout,yout]=ode45('Evalue',[0.0002:0.0004:0.1202],[0,0,0,0])
Evalue.m的文件如下:
function [Ikdot]=Evalue(tk,Ik)%%%传递过...
|
LS的代码很容易引起误导,呵呵,首先这些代码的编写和调用是
正确的。
LS说的“使得在解的时候Ik可以不用,把Ik去掉使得[Ikdot]=U.运行出来的结果和[Ikdot]=U-R*Ik是一样的。”这句话是
不正确的,不信的话,LS可以把两次的结果相减再绘图看看,有个位数的偏差,这对于matlab来说可不是误差哦。
至于R*Ik对结果影响过小的原因,是由于系统参数不合理,在这个问题中R矩阵太小了,把R换成以下矩阵试试,差别是很明显的。
[10000,0,0,0;0,10000,0,0;0,0,1,0;0,0,0,1];