楼主: jillou娄
2049 2

[问答] R中编写的函数在MATLAB中如何实现 [推广有奖]

  • 1关注
  • 0粉丝

大专生

70%

还不是VIP/贵宾

-

威望
0
论坛币
1 个
通用积分
1.0001
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
322 点
帖子
25
精华
0
在线时间
69 小时
注册时间
2013-10-17
最后登录
2019-5-9

楼主
jillou娄 发表于 2014-7-2 13:55:41 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
用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))

二维码

扫码加我 拉你入群

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

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

关键词:MATLAB matla atlab 如何实现 Lab 如何

沙发
Benlaron 发表于 2014-7-3 22:07:45
嵌套还不如弄两个m文件

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

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-3 18:55