全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
2004 2
2014-07-02
用R编写的洛伦兹63模型的程序如下

####      FUNCTION: Lorenz-63   
lorenz63 = function(sigma,r,b,x)               
{                                             
f = function(x)                                 
{dx = array(NA,c(3,1))                          
dx[1] = sigma*(x[2]-x[1])                     
dx[2] = r*x[1]-x[2]-x[1]*x[3]                  
dx[3] = x[1]*x[2]-b*x[3]                       
return(dx)}                                                                                   
## 四阶Runge-Kutta公式:      
k1 = f(x)                     
k2 = f(x+k1*(h/2))                              
k3 = f(x+k2*(h/2))                              
k4 = f(x+k3*h)                                 
return(x+(h/6)*(k1+2*k2+2*k3+k4))               
}   

请问这种嵌套的函数如何用matlab语言实现,跪谢~

自己试着写了函数,但着实捉襟见肘,漏洞百出,求助:

dx = zeros(3,1);
function [dx] = lorenz63(sigma,r,b,x)

dx(1) = sigma*(x(2)-x(1));                  
dx(2) = r*x(1)-x(2)-x(1)*x(3);                 
dx(3) = x(1)*x(2)-b*x(3);

function [x] = f(x)
%Runge-Kutta:      
k1 = f(x)                     
k2 = f(x+k1*(h/2))                              
k3 = f(x+k2*(h/2))                              
k4 = f(x+k3*h)                                 
return(x+(h/6)*(k1+2*k2+2*k3+k4))

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-7-3 22:07:45
嵌套还不如弄两个m文件
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2014-7-4 14:14:25
Benlaron 发表于 2014-7-3 22:07
嵌套还不如弄两个m文件
正是,我就是这么改的
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群