用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))