高阶系数矩阵的二阶微分方程
各位高手好 :小弟是MATLAB初学
看了HELP 没有说到如何用矩阵的写法解
二阶微分方程式,所以我自己修改了书本上面一阶的写法
例如:y''+y=*sin(w*t) 与如果是6*66*1
这要我要写成程式的话我知道要先降皆,以下我先假设sin(w*t)是1
副程式如下:
function xdot=inoran(t,x)
global MKf11
mainprogram;%这是运算出 MKf11的系数矩阵的程式
xdot(1)=x(2);
xdot(2)=inv(M)*f11-inv(M)*K*x(1);
xdot=;
再来主程式的部分
global M K f11
=ode45['inoran',,]
显示错误码 我也知道我这样写会有问题,不过我又说不出个所以然
我真的是很初学,身边没啥人可以问,想请问各位高手
我的问题出在那边,亦或者说这种形式的ODE我该怎么撰写?
我试了好久,领悟力真的很差,先谢谢各位!!!!!
小弟一鞠躬!!!!!真的很想把他学好
[ 本帖最后由 ChaChing 于 2010-3-21 23:44 编辑 ]
高阶系数矩阵的二阶微分方程
各位大侠高手好:小弟是初学者,我有一微分方程式y''+y=sin(t)
,:6*6矩阵 :6*1矩阵
我看了书上有 二维一阶微分的范例, 与一维二阶微分的范例
现在我卡到我不会用二维(或多维)二阶微分的写法
写进去都会说我矩阵维度有问题, 我是先写个程式计算出M K 等等的系数(以下我先把sin(t)当成1)
然后先将方程式降阶functiondy=test(t,x)
global M K F
dx= %觉得问题在这边,我是参考一阶二维的写法,
主程式:
clear;
global M K F
tinterv=;
yinit=;
=ode113('js',tinterv,yinit);
==========================
以上我若把参数矩阵改成1*1是一定可以跑出答案
我想请问类似这种系统的ODE,也就二阶微分,系数是用矩阵的话,该怎么写
我查了过去的文章,有人提到过,不过他好像是已经会解,只是在找更快速的方法
谢谢各位!!!!!小弟初学也是第一次来这边,如果有没注意到的礼节也还请各位见谅
谢谢!!<(_ _)>
[ 本帖最后由 ChaChing 于 2010-3-21 23:49 编辑 ] Ref
http://forum.vibunion.com/forum/thread-42367-1-1.html 感謝樓上!!
我再研究一下這位高手的寫法!
希望我也能用他的觀念寫出解線性couple的程式來!!
感謝感謝!!!! 请问:原程式码如下
clear all
n=3; F=; m1=31.2; m2=31.2; m3=31.2;
k1=67.51; k2=67.51; k3=67.51; c1=0.01; c2=0.01;c3=0.01;
M=;
B=;
K=;
DL=inline('',...
't','x','flag','n','M','K','F','B');
options = odeset('RelTol',1e-4,'AbsTol',);
=ode45(DL,,rand(n,1),options,n,M,K,F,B);
plot(t,x(:,1:n))
=============
我改成2*2去试试看,改了系数矩阵
F=; M=;
B=;
K=;
其他的东西我都没改,可是程式不能run原程式是OK低
小弟的盲点出在哪谢谢!!
[ 本帖最后由 ChaChing 于 2010-3-22 16:12 编辑 ] 另外說說我的感想
我來在台灣,在台灣的論壇或是BBS也發問過
不過幾乎找不到會的人,也許還是有啦,只是沒在上論壇
這邊強的真的很多,我也拜讀了許多文章,收穫良多!!
此外我問的問題我也想到可以解的方法
不過我是把矩陣拆開一條一條代換來算
速度上當然很慢也很冗長
謝謝這裡給我的新思維與學習!也謝謝這裡的板友不厭其煩的回答
真的大感謝!! 回复 1 # inoran 的帖子
请问你的问题解决了么?我要解的方程和你的一样,正愁呢,哪位高手能给我解决一下
页:
[1]