bvp4c求边值问题matlab,例子10.6-3_bvp4c求解边值问题
吴老师,您好。
首先,谢谢吴老师为大家提供一本这么好的教材,你的书太给力了。
我最近在求解一个三阶常微分方程边值问题,您的书帮助很大。您书的第十章有关于边值问题的例子,跟我求解的问题很相似,所以我是直接在例子10.6-3的程序代码的基础上做的。结果出来了,但是结果跟所求问题在物理上不符合,自己研究了很久没看找出问题出在哪,麻烦吴老师指导一下。先谢谢您了。
我要求的常微分方程是:
方程1.JPG (21.58 KB, 下载次数: 29)
常微分方程
2011-11-17 21:53 上传
F是eta的函数,F‘,F’‘分别是eta的一阶,二阶导数。使用bvp4c求解,因为有四个边界,所以我参照例子10.6.3引入一个参数lambda
把方程中常数项设成lambda=1.8348
结果(图1)存在的问题是:
运行结果F’的变化趋势与想要求的结果不一致。结果图中F’的曲线是向下凹的。我想要的结果是向上凸的图。
因为要用F’计算另外的参数u,y,
从图1运行结果得到的u与y的关系图(图2)与想要的结果(图3)不一致。
方程2_u,v.JPG (4.49 KB, 下载次数: 9)
u,y与eta,F‘的关系
2011-11-17 21:51 上传
书求助1.jpg (22.93 KB, 下载次数: 10)
常微分方程求解结果
2011-11-17 21:51 上传
图1 常微分方程求解结果
书求助2.jpg (18.07 KB, 下载次数: 10)
由常微分方程得到的u与y的关系图
2011-11-17 21:51 上传
图2 由常微分方程得到的u与y的关系图
书求助3.JPG (17.49 KB, 下载次数: 5)
想要得到的u与y的关系图
2011-11-17 21:51 上传
图3 想要得到的u与y的关系图
我用的程序代码:
function example10_6_3
n=47.4256;
X = linspace(0,n,1000);%为bvpinit生成初始化网络准备
lambda = 1.8348;%对lambda的猜测值
function yinit = mat4init(x)
%对y初值的估计函数,由于y2(0) = 1,y2(pi) = 0;所以挑选一个满足上述条件的函数
%这里选择的是-k*sin(4*x)来作为对y2(t)的估计,其原函数y1(t)满足y1(0)=1,因此
%k = 4,所以y1(t)的估计为cos(4*x),y2(t)的估计为-4*sin(4*x)
yinit = [-(8.8920998e-4)*x^3+(0.063256975)*x^2;-(8.8920998e-4)*3*x^2+(0.063256975)*2*x;-(8.8920998e-4)*6*x+(0.063256975)*2];
end
function res = mat4bc(ya,yb,lambda)
%lambda作为未知参数不能省略
%边界条件;边界条件为y1(0) = 1,y2(0) = 2,y2(pi) = 0; 0,0,pi分别对应ya,ya,yb
%而y1,y2,y2分别是第一第二第二个状态变量。因此得到如下res表达式
res = [ya(1)
ya(2)
yb(1)-47.4256
yb(2)];
end
function dydx = mat4ode(x,y,lambda)
%微分方程函数
dydx = [ y(2);y(3);-y(1)*y(3)/2+y(2)^2/2+0.8348*y(1)+lambda];
end
solinit = bvpinit(X,@mat4init,lambda);%由bvpinit生成的初始化网格
sol = bvp4c(@mat4ode,@mat4bc,solinit);%调用bvp4c求解,也可以换成bvp5c
tint = linspace(0,n);
Stint = deval(sol,tint);%根据得到的sol利用deval函数求出[0,4]区间内更多其他的解
%画图展示
figure;
plot(tint,Stint(1,:),'k-','linewidth',2);
hold on
plot(tint,Stint(2,:),'k:','linewidth',2);
hold on
plot(tint,Stint(3,:),'k--','linewidth',2); %这里是(3, : ) 不知道怎么回事网页上显示笑脸
L = legend('{\itF}(\eta)','{\itdF}(\eta)','{\itddF}(\eta)','Location','best');
set(L,'fontname','Times New Roman');
xlabel('\itt','fontsize',16);ylabel('方程的解');
-Stint(2,1)*Stint(3,1)/2+Stint(2,1)^2/2+0.8347708*Stint(1,1)+lambda
(Stint(3,2)-Stint(3,1))/(n/5000)
end
[本帖最后由 吴鹏 于 2011-11-21 14:08 编辑]
bvp4c求边值问题matlab,例子10.6-3_bvp4c求解边值问题相关推荐
- 求噪声功率 MATLAB,[转载]matlab中噪声功率、噪声方差关系
以matlab中awgn函数为例说明: 在matlab中无论是wgn还是awgn函数,实质都是由randn函数产生的噪声.即:wgn函数中调用了randn函数,而awgn函数中调用了wgn函数. 根据 ...
- 卡尔曼滤波器求速度matlab,卡尔曼滤波器算法浅析及matlab实战
原标题:卡尔曼滤波器算法浅析及matlab实战 作者:Liu_LongPo 出处:Liu_LongPo的博客 卡尔曼滤波器是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的 ...
- matlab对多项式求导,matlab中多项式求导
1 0.5 0 -0.5 -1 -1.5 -2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 4.对比用多项式函数的 polyder 函数及符号函数中的 diff 函数,求导 x2+2x ...
- matlab根据根求多项式,matlab求解多项式的根
因此牛顿法也称切线法,是非线性方程求根方法中收敛最快的方 法. 2. matlab 中方程求解的基本命令 roots(p):求多项式方程的根,其中 p 是多项式系数按降幂排列所形成的向量. solve ...
- 6-2 指针与数组-矩阵的各列求和分数 10 本题要求实现一个函数,求一个n (小于10)行7列的二维数组各列的和。将各列和存放在一个至少7个单元的一维数组中。函数接口定义:
本题要求实现一个函数,求一个n (小于10)行7列的二维数组各列的和.将各列和存放在一个至少7个单元的一维数组中. 函数接口定义: void fun ( int data[][7], int resu ...
- matlab 计算变异系数,变异系数法求权重matlab 代码
利用matlab编程,很容易根据变异系数法,求得多指标综合评价模型的权重. 代码如果有不懂的地方,可以联系我. 变异系数法求权重matlab 代码 clear;clc; [data1,header1] ...
- matlab 计算变异系数,变异系数法求权重matlab代码
<变异系数法求权重matlab代码>由会员分享,可在线阅读,更多相关<变异系数法求权重matlab代码(1页珍藏版)>请在读根文库上搜索. 1.变异系数 法求权重 matlab ...
- matlab怎么输入一个数,matlab输入10个数
第十讲 数据类型.控制语句.M文件 1 5.1 MATLAB数据类型 5.1.1 数字型数据 8位符号型整数,它表示-128~128之间的整数 16位符号整型,它表示-32768~32767之间的整数 ...
- 循环队列,定义循环队列长度为10,编写初始化队列、入队、出队、求队长,实现10,20,30,40,50,60,70,80入队,10,20,30出队,56,67入队的算法功能。
循环队列,定义循环队列长度为10,编写初始化队列.入队.出队.求队长,实现10,20,30,40,50,60,70,80入队,10,20,30出队,56,67入队的算法功能. #include< ...
最新文章
- 奇葩错误 WIFI搜不到、无线网卡连接不上
- 报名 | 期末考后,快来打比赛赢万元奖金!(北京上海)
- oracle10 exp imp 中文乱码
- 利用IPFS构建自己的去中心化分布式Wiki系统
- Boost:由内部绑定的值返回的智能指针的测试程序
- 一窥谷歌神经机器翻译模型真面貌 其底层框架开源
- linux主机中util啥意思,Util-linux
- 【Servlet】Session会话跟踪技术
- Java之switch的控制语句详解
- NUC1100 Biorhythms【中国剩余定理】
- 毕业一年后我转行NLP 这几点宝贵经验分享给大家
- linux pxe dhcp 讲解,RHEL 5 PXE+DHCP+NFS+SFTP无人职守网络安装配置
- live2d_Live2D 性能优化
- VM14安装Mas os 13
- 关于一张 5 亿数据表之我与 DBA 的 battle
- Keil 编译显示变量重复定义问题
- Hive批量删除历史分区
- html页脚固定,jQuery实现页脚永远固定在页面底部
- Alpha阶段敏捷冲刺④
- html监控页面大小,JQuery实时监控窗口大小(无需插件)
热门文章
- iphone7 屏幕投影到电脑
- MQL4读取hst文件代码范例
- 王道计算机网络第三章
- Spring Boot中Configuration problem: Cannot locate BeanDefinitionParser for element 的问题分析
- 在VUE中使用Lottie动画
- 如何建立高质量团队-《克服团队协作的五种障碍》笔记与心得
- 红米note4X_高通版(2016101)_官方线刷包_救砖包_解账户锁
- 阿里重投内容电商,VR技术会成为马云的杀手锏吗?
- mpvue 微信小程序api_mpVue 小程序框架 SDK
- js长按删除_js模拟长按事件的实现方式