声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2102|回复: 9

[非线性振动] 四阶龙格库塔程序可以在matlab里面运行吗

[复制链接]
发表于 2009-3-8 15:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
c语言写的,清华大学的常用算法程序集里面抄的一个程序,
在matlab运行几次都出错了。不知为何
回复
分享到:

使用道具 举报

 楼主| 发表于 2009-3-8 16:53 | 显示全部楼层
顶一下
谁来回答这个简单问题啊
龙格库塔程序解一阶微分方程 在哪里运行啊
发表于 2009-3-8 21:38 | 显示全部楼层
发表于 2009-3-9 01:18 | 显示全部楼层
清华大学的常用算法程序集能给个下载吗?
发表于 2009-3-9 13:34 | 显示全部楼层
你转成m语言就行了啊,很简单的.
 楼主| 发表于 2009-3-9 19:12 | 显示全部楼层

回复 板凳 ChaChing 的帖子

这个在matlab里运行不了啊
总显示
“??? function Y = ode4(odefun,tspan,y0,varargin)
    |
Error: Function definitions are not permitted at the prompt or in scripts.”
大侠知道原因吗?谢谢
发表于 2009-3-10 08:56 | 显示全部楼层
同问?最好能把详细的解答步骤写出来最好!
发表于 2009-3-10 14:00 | 显示全部楼层
Runge-Kutta法是一种解决非线性问题的思路、方法,程序能否在Matlab里运行,关键看你的程序能否被Matlab解释器识别。
    既然会C语言的话,那就找本Matlab书看看,直接用matlab语言编那,入门很容易的。要是没有这方面的书,那也不要紧,因为Matlab是以C语言为基础开发的,是可以与C语言连接的,只要调用一个MEX函数就行。
    MEX文件是在MATLAB环境下调用外部程序的接口,用C语言编写是可以被MATLAB解释器识别的。但是MEX文件与纯粹的C语言程序还是有点小小的区别的。主要是在文件中会出现一种新的数据类型maArray(即MATLAB矩阵在C语言中的表示形式),所以在MEX文件开头还是声明这个文件。
    6楼的,错误也许不在那个地方,估计是在前面。因为程序编译阶段,一般的只报语法错误,逻辑错误是没办法的。
    编程是个细致活,7楼的想法有点难那。
发表于 2009-3-10 14:28 | 显示全部楼层
原帖由 bclicheng 于 2009-3-9 19:12 发表
这个在matlab里运行不了啊
总显示
“??? function Y = ode4(odefun,tspan,y0,varargin)
    |
Error: Function definitions are not permitted at the prompt or in scripts.”
大侠知道原因吗?谢谢

你是不是在脚本文件里写的这个函数?还是在command window里直接粘贴就运行的?最好单独写在一个function里,这样也能被其他脚本调用了,也不容易出这种莫名其妙的错误.

评分

1

查看全部评分

发表于 2009-3-10 18:35 | 显示全部楼层
ode45就是四阶的龙哥库塔法
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-2 06:41 , Processed in 0.072114 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表