大一扩散过程 微分方程程求解,具体见图片,希望有过程。

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
大一高等数学论文
下载积分:1000
内容提示:大一高等数学论文
文档格式:DOC|
浏览次数:145|
上传日期: 19:53:37|
文档星级:
全文阅读已结束,如果下载本文需要使用
 1000 积分
下载此文档
该用户还上传了这些文档
大一高等数学论文
关注微信公众号查看: 50609|回复: 17|关注: 0
怎么用MATLAB求解微分方程组并画出解函数图?
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
求解微分方程组,画出解函数图。
x'= -x^3-y, x(0)=1& &&&
y'= x-y^3, y(0)=0.5& &0&t&30
请教高手指点给出程序与结果,谢谢~~
<h1 style="color:# 麦片财富积分
关注者: 1
Using RK4&&method
<h1 style="color:#4 麦片财富积分
关注者: 25
应该是ode45可以解决这个问题
<h1 style="color:# 麦片财富积分
同样深受matlab数据处理的煎熬:L
问一哈那个作业是什么时候交?16周周五晚上1514,还是17周周五晚1514?有实验好几周都没去了,作业有什么要求没有?和期中一样么?一定要回答啊,谢谢
<h1 style="color:# 麦片财富积分
突然发现一个专业的:L
MATLAB 基础讨论版块优秀回答者
关注者: 143
原帖由 gracesky 于
05:06 PM 发表
求解微分方程组,画出解函数图。
x'= -x^3-y, x(0)=1& &&&
y'= x-y^3, y(0)=0.5& &0
后面怎么还有0&t&30呢?
<h1 style="color:# 麦片财富积分
求达人告诉我这个
为了考察日照时间及温度对小麦产量的影响,进行12次试验得到如下结果,分析日照时间和温度的不同是否对小麦产品具有显著影响?
时间/温度 25℃& & 30℃& && &34℃
150h& && & 397/384& &425/416& &498/476
200h& && & 406/425& &482/464& & 518/523
230h& && &456/472& &&&521/514& & 560/579
用什么方法?具体怎么做
<h1 style="color:# 麦片财富积分
关注者: 1
碰巧正好学习了微分方程解法
matlab内置的函数(数值解法)有ode系列,help一下就可以了
如果你上的是有关数字分析的课程,我猜老师的意思应该让你自己写代码
我分别尝试了Euler法 梯形法 四阶RK法&&代码如下:
以y‘=|sin2x、,y(0)=1为例:
编写一阶导数m文件:
%一阶常微分方程的m文件
function y1=myfun(x,y)
y1=abs(sin(2*x));
复制代码
%向前差分Euler法解常微分方程
& & %fun:f(x)的一阶导数m文件
& & %x0,xt:自变量的初值和终值
& & %y0:f(x)在x0处的值
& & %h:步长
function [Eulerx,Eulery]=MyEuler(myfun,x0,xt,y0,h)
x=(x0:h:xt)';%定义自变量数组
y(1,:)=y0;%初始化因变量数组
for k = 1:length(x)-1
& & f=feval(myfun,x(k),y(k,:));%计算每个迭代点的一阶导数值
& & f=f(:)';
& & y(k+1,:)=y(k,:)+h*f; %向前迭代
end
Eulerx=x;
Eulery=y;
复制代码
%梯形法解常微分方程
& & %fun:f(x)的一阶导数m文件
& & %x0,xt:自变量的初值和终值
& & %y0:f(x)在x0处的值
& & %h:步长
function [Tixingx,Tixingy]=MyTixing(myfun,x0,xt,y0,h)
x=(x0:h:xt)';%定义自变量数组
y(1,:)=y0;%初始化因变量数组
Y(1,:)=y0;%中间量
for k=1:length(x)-1
& & f=feval(myfun,x(k),y(k,:));%计算每个迭代点的一阶导数值
& & f=f(:)';
& & Y(k+1,:)=y(k,:)+h*f; %y0(n+1)
& & F=feval(myfun,x(k+1),Y(k+1,:));%计算每个迭代点的一阶导数值
& & F=F(:)';
& & y(k+1,:)=y(k,:)+0.5*h*(f+F); %y(n+1)
end
Tixingx=x;
Tixingy=y;
复制代码
四阶RK法:
%四阶Runge-Kutta法解常微分方程
& & %fun:f(x)的一阶导数m文件
& & %x0,xt:自变量的初值和终值
& & %y0:f(x)在x0处的值
& & %h:步长
function [RK4x,RK4y]=RK4(myfun,x0,xt,y0,h)
x=(x0:h:xt)';%定义自变量数组[code]
x0=0;xt=2*%x0,xt:自变量的初值和终值
y0=1;%y0:f(x)在x0处的值
h=0.2;%h:步长
[Eulerx,Eulery]=MyEuler(@myfun,x0,xt,y0,h);%欧拉法
a=fliplr(Eulery');%求算f(22*pi)
y_Euler=a(1);
[Tixingx,Tixingy]=MyTixing(@myfun,x0,xt,y0,h);%梯形法
a=fliplr(Tixingy');%求算f(22*pi)
y_Tixing=a(1);
[RK4x,RK4y]=RK4(@myfun,x0,xt,y0,h);%四阶Runge-Kutta法法
a=fliplr(RK4y');%求算f(22*pi)
y_RK4=a(1);
[ode45x,ode45y]=ode45(@myfun,[x0:h:xt],[1]);%matlab内置函数
a=fliplr(ode45y');%求算f(22*pi)
y_ode45=a(1);
figure_FontSize=18; %修改字体
plot(Eulerx,Eulery,'ro',Tixingx,Tixingy,'g*',RK4x,RK4y,'bd',ode45x,ode45y,'ks','LineWidth',2);%做图
legend('Euler','Tixing','RK4','ode45');%图例
Y=[y_Euler,y_Tixing,y_RK4,y_ode45];
axis([x0 xt y0 max(Y)]); %定义坐标轴范围
label1={'方法';'Euler';'Tixing';'RK4';'ode45'};
label2={'y(2π)';y_Ey_Ty_RK4;y_ode45};
% label=[label1,label2];
text(x0+0.1*(xt-x0),0.8*max(Y),label1); %显示y(2π)
text(x0+0.3*(xt-x0),0.8*max(Y),label2); 复制代码
y(1,:)=y0;%初始化因变量数组
for k=1:length(x)-1
& & K1=feval(myfun,x(k),y(k,:));%计算系数
& & K2=feval(myfun,x(k)+0.5*h,y(k,:)+0.5*K1');
& & K3=feval(myfun,x(k)+0.5*h,y(k,:)+0.5*K2');
& & K4=feval(myfun,x(k)+h,y(k,:)+h*K3');
& & y(k+1,:)=y(k,:)+(1/6)*h*(K1'+2*K2'+2*K3'+K4');%迭代
<h1 style="color:# 麦片财富积分
关注者: 1
去年上数值分析的时候
还没有接触matlab
竟然用迭代&&用excel算得
然后用origin作图
今天用matlab尝试了一下
忽觉当年自己好天真啊
<h1 style="color:#4 麦片财富积分
关注者: 7
楼主的图用Forcal绘制,代码:
!using[&XSLSF&];& && && && && & //使用命名空间XSLSF
//数组xArray存放x的值;ti为当前有效值的个数;tmax为ti对应的时间;tmin为起始时间。
xt(t:k:xArray,ti,tmax,tmin)=
{
&&k=(t-tmin)/(tmax-tmin)*ti-1,
&&if[k&0, k=0], if[k&=ti, k=ti-1],
&&xArray.getrai[k]
};
//数组yArray存放y的值;ti为当前有效值的个数;tmax为ti对应的时间;tmin为起始时间。
yt(t:k:yArray,ti,tmax,tmin)=
{
&&k=(t-tmin)/(tmax-tmin)*ti-1,
&&if[k&0, k=0], if[k&=ti, k=ti-1],
&&yArray.getrai[k]
};
//函数定义,用于计算微分方程组中各方程右端函数值,连分式法对微分方程组积分一步函数pbs1将调用该函数f。
//t为自变量,x,y为函数值,dx,dy为右端函数值(即微分方程的值)。
f(t,x,y,dx,dy)=
{
&&dx=-(x^3)-y,
&&dy=x-y^3
};
//用连分式法对微分方程组进行积分,获得理论值。
//t1,t2为积分的起点和终点。
//h,s为自动变量。
//模块变量:hf为函数f的句柄,要预先获得该句柄;Array为工作数组;step为积分步长;eps为积分精度。
积分(t1,t2:h,s:hf,Array,step,eps)=
{
&&s=ceil[(t2-t1)/step],& && &&&//计算积分步数
&&h=(t2-t1)/s,& && && && && &&&//重新计算积分步长
&&{& &pbs1[hf,t1,Array,h,eps], //对微分方程组积分一步
& && &t1=t1+h& && && && && && &//积分步长增加
&&}.until[abs(t1-t2)&h/2]& && &//连续积分至t2
};
数据(:i,h,t1,t2,x,y,static,free:hf,Array,step,eps,max,xArray,yArray,ti,tmax,tmin)= //微分方程组积分获得数据
{
&&if[free,delete(Array),delete(xArray),delete(yArray),return(0)],
&&hf=HFor(&f&),& && && && && && && && && && & //模块变量hf保存函数f的句柄,预先用函数HFor获得该句柄
&&step=0.01,eps=1e-6,& && && && && && && && & //积分步长step要合适,积分精度eps越小越精确,用于对微分方程组积分一步函数pbs1
&&Array=new[rtoi(real_s),rtoi(2*15)],& && && &//申请工作数组
&&max=1001,
&&xArray=new[rtoi(real_s),rtoi(max)],& && && &//申请工作数组
&&yArray=new[rtoi(real_s),rtoi(max)],& && && &//申请工作数组
&&Array.setra(0,1,0.5),& && && && && && && && & //设置积分初值,通过模块变量Array传递,Array是一个数组
&&xArray.setra(0,1),& && && && && && && && &&&//设置xArray的第一个值
&&yArray.setra(0,0.5),& && && && && && && && &&&//设置yArray的第一个值
&&ti=1, h=step*3, tmin=0, tmax=0, t1=0, t2=h,
&&i=1,(i&max).while{
& & 积分(&t1,t2),& && && && && && && && && &&&//从t1积分到t2
& & Array.getra(0,&x,&y),& && && && && && && &//从数组Array获得t2时的积分值
& & xArray.setra(i,x), yArray.setra(i,y),& &&&//将积分值保存到数组
& & ti=i+1, tmax=t1, t2=t2+h,
& & i++
&&}
};
//绘制函数图形
(::hxt,hyt)= hxt=HFor(&xt&), hyt=HFor(&yt&);&&//获得函数xt和yt的句柄,保存在模块变量中
gleDrawScene[HFor(&Scene&)],stop();& && &//设置场景绘制函数后退出
Scene(::hxt,hyt,tmax,tmin)=
{
& & glClear[],& && && && && && && && && &//清除屏幕以及深度缓存
& & glLoadIdentity[],& && && && && && &&&//重置视图
& & glTranslated[0,0,-20],& && && && && &//移动坐标,向屏幕里移动10个单元
& & glColor3d[0,0,1],& && && && && && &&&//设置颜色
& & fgPlot[hxt,tmin,tmax,FG_Y,-1,2],& &//绘制一元函数图象
& & glColor3d[1,0,0],& && && && && && &&&//设置颜色
& & fgPlot[hyt,tmin,tmax,FG_Y,-1,2]& & //绘制一元函数图象
};
复制代码
gracesky.PNG (22.39 KB, 下载次数: 0)
21:19 上传
[ 本帖最后由 forcal 于
21:22 编辑 ]
站长推荐 /2
机器视觉和人工智能在医疗设备中的应用及实现
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区君,已阅读到文档的结尾了呢~~
10,试用单位阶跃函数表示下列各图所示的函数,并求其拉氏变换&#46;解:&#40;1&#41;先看Au &#40;t &#41; 的图形:AO 再看 Au &#40;t &#41; 2 Au &#40;t τ &#41; 的图形:&#46;&#46;&#46;
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
常微分方程的拉氏变换求解方法
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口查看: 3763|回复: 7
在线时间120 小时最后登录注册时间听众数收听数能力0 分体力2048 点威望0 点阅读权限50积分831相册日志记录帖子主题精华0分享好友
, 积分 831, 距离下一级还需 169 积分
升级&&57.75%当前用户组为 专科生当前积分为 831, 升到下一级还需要 169 点。TA的每日心情无聊 10:15签到天数: 226 天[LV.7]常住居民III
框图如图所示,初始值已设定,运行后提示Warning: Unable to reduce the step size without violating minimum step size of 8.122e-015 for 1
consecutive times at time 2.614.&&Continuing simulation with the step size restricted to
8.122e-015 and using an effective relative error tolerance of 0.2999, which is
greater than the specified relative error tolerance of 0.001. This usually may be caused by the high
stiffness of the system. Please check the model 'untitled' or increase the Max consecutive min step size
violation parameter in the solver configuration panel& && && &&&
怎么解决啊
本帖子中包含更多资源
才可以下载或查看,没有帐号?
啦啦啦~~~我是默认签名(*^__^*)
在线时间44 小时最后登录注册时间听众数收听数能力0 分体力797 点威望0 点阅读权限40积分303相册日志记录帖子主题精华0分享好友
, 积分 303, 距离下一级还需 297 积分
升级&&1%当前用户组为 高中生当前积分为 303, 升到下一级还需要 297 点。TA的每日心情奋斗 15:35签到天数: 73 天[LV.6]常住居民II
不知道和自动控制有没有联系
啦啦啦~~~我是默认签名(*^__^*)
在线时间293 小时最后登录注册时间听众数收听数能力0 分体力10036 点威望0 点阅读权限60积分3459相册日志记录帖子主题精华0分享好友
TA的每日心情开心 18:56签到天数: 496 天[LV.9]以坛为家II
毕业学校您还未进行姓名认证
工科男,喜欢运动。
用户不明白已经进行了数学中国认证
2012挑战赛参赛者
群组:&群组:&群组:&群组:&
在下学艺未精。有心无力啊。
啦啦啦~~~我是默认签名(*^__^*)
在线时间120 小时最后登录注册时间听众数收听数能力0 分体力2048 点威望0 点阅读权限50积分831相册日志记录帖子主题精华0分享好友
, 积分 831, 距离下一级还需 169 积分
升级&&57.75%当前用户组为 专科生当前积分为 831, 升到下一级还需要 169 点。TA的每日心情无聊 10:15签到天数: 226 天[LV.7]常住居民III
不明白 发表于
在下学艺未精。有心无力啊。
我也是初学者啊,呵呵,同样谢谢你
啦啦啦~~~我是默认签名(*^__^*)
在线时间8 小时最后登录注册时间听众数收听数能力0 分体力85 点威望0 点阅读权限20积分32相册日志记录帖子主题精华0分享好友
, 积分 32, 距离下一级还需 68 积分
升级&&28.42%当前用户组为 小学生当前积分为 32, 升到下一级还需要 68 点。TA的每日心情开心 00:20签到天数: 9 天[LV.3]偶尔看看II
难倒数模都要搞这么复杂的东西嘛?
啦啦啦~~~我是默认签名(*^__^*)
在线时间67 小时最后登录注册时间听众数收听数能力0 分体力867 点威望0 点阅读权限40积分347相册日志记录帖子主题精华0分享好友
, 积分 347, 距离下一级还需 253 积分
升级&&15.67%当前用户组为 高中生当前积分为 347, 升到下一级还需要 253 点。TA的每日心情无聊 23:40签到天数: 100 天[LV.6]常住居民II
用户小杨92已经进行了数学中国认证
群组:&群组:&群组:&群组:&
汗啊&&真复杂啊
啦啦啦~~~我是默认签名(*^__^*)
在线时间75 小时最后登录注册时间听众数收听数能力0 分体力6 点威望0 点阅读权限20积分38相册日志记录帖子主题精华0分享好友
, 积分 38, 距离下一级还需 62 积分
升级&&34.74%当前用户组为 小学生当前积分为 38, 升到下一级还需要 62 点。TA的每日心情郁闷 18:56签到天数: 43 天[LV.5]常住居民I
群组:&群组:&
你应该把微分方程发上来,还有就是在搭建图的适合尽量使用一些子系统,我个人在搭建的适合按照&&方块 对齐& &层次&&这几个标准来的,希望对你有帮助
啦啦啦~~~我是默认签名(*^__^*)
在线时间120 小时最后登录注册时间听众数收听数能力0 分体力2048 点威望0 点阅读权限50积分831相册日志记录帖子主题精华0分享好友
, 积分 831, 距离下一级还需 169 积分
升级&&57.75%当前用户组为 专科生当前积分为 831, 升到下一级还需要 169 点。TA的每日心情无聊 10:15签到天数: 226 天[LV.7]常住居民III
yade 发表于
你应该把微分方程发上来,还有就是在搭建图的适合尽量使用一些子系统,我个人在搭建的适合按照&&方块 对齐&&...
很不错的建议,谢谢了啊
啦啦啦~~~我是默认签名(*^__^*)
社区QQ达人
使用QQ帐号登录论坛的用户
对发帖积极贡献的会员
Powered by
& &论坛法律顾问:王兆丰【图片】我想求一阶微分方程的“特解”,求帮忙啊【数学吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:428,053贴子:
我想求一阶微分方程的“特解”,求帮忙啊收藏
然后就做不下去了……该怎么办呢?
—。—!!另外我想问下还有没有其他方法……
数学题,中高级教师1对1辅导,教学有品质,提分看得见.随时退费家长无忧!
我不太清楚你对于基础的微分方程的理解程度。但是一般来说,你这个常微分方程,一般变量替换不会用乘积的方式。一般都是线性替换。(所谓乘积解是指两个以上的变量假设每个变量都独立无关表达式的相乘,比如u(x,t)=X(x)T(t)).关于非齐次方程的通解是特解加上相伴方程的通解。但是,对于你这个方程,不需要看成是非齐次的。这是标准的一种形式,你应该多看看书的基础内容。你对于概念的理解比较模糊,建议还是先死扣书本再做题,这种题型一般都是凑全微分的形式。
不用分离变量法,直接用公式法,得出的无常数项的就是特解
楼上两位,你们说的我不知道对不对。但是在我最需要帮助的时候,你们谁也没拿出个解法来。太让我失望了!
不过最后我确实看懂了 因为这是最基本的,大家都懒得说话么……另求其他解法
登录百度帐号推荐应用

我要回帖

更多关于 扩散过程 微分方程 的文章

 

随机推荐