lc622503 发表于 2006-8-10 17:44

解一个微分方程的程序怎么改成解一个微分方程组!

function xEulerpro
clear all;clc
=eulerpro(@fun,0,1,1,0.1)
plot(x,y)
function f=fun(x,y)
f=y+x+1
%------------------------
function =eulerpro(fun,x0,xf,y0,h)
n=fix((xf-x0)/h);x(1)=x0;y(1)=y0
for i=1:(n-1)
    x(i+1)=x0+i*h; a=y(i)+h*feval(fun,x(i),y(i))
    b=y(i)+h*feval(fun,x(i+1),a);y(i+1)=(a+b)/2
end
以上是解一个微分方程的程序

请问怎么改动能将上面的程序变成能解一个微分方程组阿

新人,谢谢关心

lc622503 发表于 2006-8-10 18:46

自己顶一下

放假了,人气不足啊

lc622503 发表于 2006-8-11 16:28

请各位大虾帮帮忙

我要解的微分方程组有60个方程

由于不知道调整ode命令中的步长所以解起来比较费力

想自己编一个自己控制步长

看程序的运算效率是不是会高一些

当然能告诉我怎么改变ode命令中的步长也行

新人感激不尽阿

谢谢啦

lihuaifu 发表于 2006-8-11 21:04

你的方程是不是非线性的

lc622503 发表于 2006-8-12 15:41

我的是线性方程

谢谢关心

kkkttt 发表于 2006-8-12 15:47

定步长rk法
http://forum.vibunion.com/forum/viewthread.php?tid=17615

[ 本帖最后由 eight 于 2007-3-3 14:34 编辑 ]

lc622503 发表于 2006-8-14 15:52

谢谢楼上的热心阿

lc622503 发表于 2006-8-15 11:01

我还是说说实际困难吧

就是我要解的微分方程组由60个常微分方程构成

用ode命令计算的时间还是较长

在调试过程中比较繁琐

希望其速度能够加快

所以想自己编写一个方程,自己调整步长

满足我所需要的步长就够了

希望大家提供好的建议

谢谢

kkkttt 发表于 2006-8-15 11:06

原帖由 lc622503 于 2006-8-15 11:01 发表
我还是说说实际困难吧

就是我要解的微分方程组由60个常微分方程构成

用ode命令计算的时间还是较长

在调试过程中比较繁琐

希望其速度能够加快

所以想自己编写一个方程,自己调整步长

满足我所需 ...


最好的办法,换成fortran和c,matlab的计算效率让人不敢恭维

happy 发表于 2006-8-15 17:31

同意楼上的,我现在也很少用matlab做数值分析了

lc622503 发表于 2006-8-15 19:34

谢谢楼上的建议阿

我本来就是学环境的,原来没学过编程

现在要我模拟污水处理工艺

听人家说matlab有现成的命令解微分方程组

就用了他,确实还是比较简单,容易上手

如果用其他语言编的话,还要现学阿

不换语言还有其他办法吗

我还要做一个界面,将来!

happy 发表于 2006-8-17 18:51

原帖由 lc622503 于 2006-8-15 19:34 发表
谢谢楼上的建议阿

我本来就是学环境的,原来没学过编程

现在要我模拟污水处理工艺

听人家说matlab有现成的命令解微分方程组

就用了他,确实还是比较简单,容易上手

如果用其他语言编的话,还要现学 ...


其实这些常规的算法不管什么语言基本都有现成

lc622503 发表于 2006-8-18 16:12

我的想法也和楼上的一样啊

但是要到哪里去找阿

如果教授有的话

给我发一份

lc622503@163.com

谢谢了

happy 发表于 2006-8-18 16:16

原帖由 lc622503 于 2006-8-18 16:12 发表
我的想法也和楼上的一样啊

但是要到哪里去找阿

如果教授有的话

给我发一份

lc622503@163.com

谢谢了


什么语言的?如果是fortran就免了

fortran自己的库里就带了好多

c的话可以参考C语言程序集

lc622503 发表于 2006-8-20 16:41

就是matlab的程序阿

就是自己编写的比ode命令效率高就行

谢谢阿

现在要我去学习其它的语言编写也没时间

还有很多其它的工作要做
页: [1] 2
查看完整版本: 解一个微分方程的程序怎么改成解一个微分方程组!