• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

使用 Matlab 的 bvp4c 求解边值问题

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Kuiken 利用相似变换,得到如下非线性微分方程

满足如下边界条件

其中, 表示对 求导,为普朗特数. 此方程是耦合的非线性边值问题,在无穷远点具有奇性.

 

当 时,使用Matlab的bvp4c求解如下:

将原方程转化为一阶方程组

% kuikenode.m
function df=kuikenode(eta,f)
sigma=1; 
df=[ f(2)
     f(3)
     f(2)^2-f(4)
     f(5)
     3*sigma*f(2)*f(4)];


输入边界条件

% kuikenbc.m
function res=kuikenbc(f0,finf)
res =[f0(1)
      f0(2)
      f0(4)-1
      finf(2)
      finf(4)];


以常数作为初始猜测解

% kuikeninit.m
function v=kuikeninit(eta)
v =[ 0
     0
     1
     0
     0];


调用bvp4c求解,注意此处无界区间被截断

% solve.m
clc;
clear;
infinity=30;
solinit=bvpinit(linspace(0,infinity,5),@kuikeninit);
options=bvpset('stats','on','RelTol', 1e-12);
sol=bvp4c(@kuikenode,@kuikenbc,solinit,options);
eta=sol.x;
g=sol.y;
fprintf('\n');
fprintf('Kuiken reports f''''(0) = 0.693212.\n')
fprintf('Value computed here is f''''(0) = %7.7f.\n',g(3,1))
fprintf('Kuiken reports %c''(0) = -0.769861.\n', char([952]))
fprintf('Value computed here is %c''(0) = %7.7f.\n',char([952]),g(5,1))

clf reset
subplot(1,2,1);
plot(eta,g(2,:));
axis([0 infinity 0 1]);
title('Kuiken equation, \sigma =1.')
xlabel('\eta')
ylabel('df/d\eta')

subplot(1,2,2);
plot(eta,g(4,:));
axis([0 infinity 0 1]);
title('Kuiken equation, \sigma = 1.')
xlabel('\eta')
ylabel('\theta')
shg


运行如下:

 

 

The solution was obtained on a mesh of 105 points.
The maximum residual is 9.866e-013. 
There were 6332 calls to the ODE function. 
There were 260 calls to the BC function. 


Kuiken reports f''(0) = 0.693212.
Value computed here is f''(0) = 0.6932116.
Kuiken reports θ'(0) = -0.769861.
Value computed here is θ'(0) = -0.7698611.







鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
delphi实现文件下载的几种方法发布时间:2022-07-18
下一篇:
Delphi修改Access密码,压缩与修复,建立Access数据库文件发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap