24小时热门版块排行榜    

查看: 2486  |  回复: 13

value_1987

新虫 (初入文坛)

[求助] Matlab用龙格库塔法求二阶非线性方程


求助解上式方程,用龙格库塔方法,用[t,y]=ode45(‘fname’,tspan,y0),如果u(t)是常数或正弦变化等,我会编程序,但是u(t)是一个随机的数,与t有关的,我编了个小程序来表示随机数,但是不知道怎么放到M文件里面。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

value_1987

新虫 (初入文坛)

自己顶自己下,终于弄出来了~~
5楼2013-03-03 16:37:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

夕阳西下

金虫 (著名写手)

引用回帖:
5楼: Originally posted by value_1987 at 2013-03-03 16:37:39
自己顶自己下,终于弄出来了~~

怎么弄出来的呢?能否告知。
6楼2013-03-04 10:14:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

value_1987

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by 夕阳西下 at 2013-03-04 10:14:56
怎么弄出来的呢?能否告知。...

function [y,z]=Runge_kutta(a,b,y0,z0,h)
x=a:h:b;
y(1)=y0;
z(1)=z0;
n=(b-a)/h+1;
for i=2:n
    K(1,1)=f1(x(i-1),y(i-1),z(i-1));
    K(2,1)=f2(x(i-1),y(i-1),z(i-1));
    K(1,2)=f1(x(i-1)+h/2,y(i-1)+K(1,1)*h/2,z(i-1)+K(2,1)*h/2);
    K(2,2)=f2(x(i-1)+h/2,y(i-1)+K(1,1)*h/2,z(i-1)+K(2,1)*h/2);
    K(1,3)=f1(x(i-1)+h/2,y(i-1)+K(1,2)*h/2,z(i-1)+K(2,2)*h/2);
    K(2,3)=f2(x(i-1)+h/2,y(i-1)+K(1,2)*h/2,z(i-1)+K(2,2)*h/2);
    K(1,4)=f1(x(i-1)+h,y(i-1)+K(1,3)*h,z(i-1)+K(2,3)*h);
    K(2,4)=f2(x(i-1)+h,y(i-1)+K(1,3)*h,z(i-1)+K(2,3)*h);
    y(i)=y(i-1)+h/6*(K(1,1)+2*K(1,2)+2*K(1,3)+K(1,4));
    z(i)=z(i-1)+h/6*(K(2,1)+2*K(2,2)+2*K(2,3)+K(2,4));
end
y(2);
plot(y,'r')
自己编写了随机数的M文件,但是每个K都是调用一次M文件,就会产生不同随机数,应该要产生相同随机数才行啊
8楼2013-03-04 15:43:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

mechaniclmw

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
value_1987: 金币+5, 有帮助 2013-03-03 14:48:06
xzhdty: 谢谢参与 2013-03-03 19:25:17
之前碰到过类似的问题,Matlab的ode45似乎要求函数形式是明确的,最后是自己编写Runge-Kutta程序解决的
2楼2013-03-03 14:18:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

value_1987

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by mechaniclmw at 2013-03-03 14:18:14
之前碰到过类似的问题,Matlab的ode45似乎要求函数形式是明确的,最后是自己编写Runge-Kutta程序解决的

谢谢啊,我自己先试一下
3楼2013-03-03 14:45:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

value_1987

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by mechaniclmw at 2013-03-03 14:18:14
之前碰到过类似的问题,Matlab的ode45似乎要求函数形式是明确的,最后是自己编写Runge-Kutta程序解决的

是不是可以函数文件调用另一个随机数的M文件呢?
4楼2013-03-03 14:47:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

试试simulink
7楼2013-03-04 13:03:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

value_1987

新虫 (初入文坛)

引用回帖:
7楼: Originally posted by change0618 at 2013-03-04 13:03:10
试试simulink

你好,能详细点吗?比较急啊
9楼2013-03-04 15:45:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

value_1987

新虫 (初入文坛)

需要每四次的随机数都相同才行
10楼2013-03-04 15:56:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 value_1987 的主题更新
信息提示
请填处理意见