| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3197 人关注过本帖
标题:[求助]怎么用ode45解微分方程组?
只看楼主 加入收藏
qiaozhanduo
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-4-25
收藏
 问题点数:0 回复次数:2 
[求助]怎么用ode45解微分方程组?

用怎么解微分方程组呀?急急急!这种情况是怎么回事?
clc
k0=3.3*10^7;

p.g=6.0*10^7;
p.t=10;
p.sp=1.0*10^-12;
w=3.5*10^5;
m=0.04;
p.ip=0.002;
p.k=k0*(1-m*sin(w*t));
%fun4512.m
function dydt=fun 4512(t,y)
dydt=[-p.k*y(1)+p.g*y(1)*y(2)+sp;-1/p.t*((1+p,ip+y(1)^2)*y(2)-p.ip+1];
[t,y]=ode45(@fun4512,[0 0.04],[0,0.007]);
figure(1)
plot(t,y(1,:))

??? Error using ==> feval
Undefined function 'fun4512'.

Error in ==> C:\MATLAB6p1\toolbox\matlab\funfun\private\odearguments.m
On line 104 ==> f0 = feval(ode,t0,y0,args{:});

Error in ==> C:\MATLAB6p1\toolbox\matlab\funfun\ode45.m
On line 158 ==> [neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, args, ...

Error in ==> C:\Untitled.m
On line 11 ==> [t,y]=ode45(@fun4512,[0 0.04],[0,0.007]);

搜索更多相关主题的帖子: 解微分方程 function Error dydt clc 
2007-04-25 15:50
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
收藏
得分:0 
好像没有这样定义函数的,不能在脚本文件中这样定义函数,单独定义吧

此人已消失
2007-04-26 19:09
menglu
Rank: 1
等 级:新手上路
威 望:2
帖 子:43
专家分:0
注 册:2007-4-21
收藏
得分:0 


1.微分方程应该建一个m文件吧
%fun4512.m
function dydt=fun 4512(t,y)
dydt=[-p.k*y(1)+p.g*y(1)*y(2)+sp;-1/p.t*((1+p,ip+y(1)^2)*y(2)-p.ip+1];
首先,fun 4512(t,y)此处不该有空格的,函数名和文件名必须保持一致
其次,微分方程好像写错了,没太看懂
2.[t,y]=ode45(@fun4512,[0 0.04],[0,0.007]);
@fun4512应该写成'fun4512'
后面的没看懂


2007-04-28 16:32
快速回复:[求助]怎么用ode45解微分方程组?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017911 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved