大家好,我在用MATLAB画一个二阶BVP

3次查看(最近30天)
迈克尔•休斯
迈克尔•休斯 2021年8月11日
评论道: darova 2021年8月12日
我和我的朋友正在策划以下BVP:
- (L) * ((d ^ 2) y / d (x ^ 2)) - 5 * (dy / dx) / x + y (*) / L + (c / (2 * L)) * (x ^ 4) * (y ^ 3) = 0
假设L=6*10^-8, a=44, c=45(但这3个字母都可以是任意常数)。y是关于x的函数,边界条件是y(0)=0和y(1)=C。C是某个常数。
我和我的朋友尝试了ODE45和bvp4c,但没有工作,因为(c/(2*L))*(x^4)*(y^3)和5*(dy/dx)/x,这给了我们雅可比矩阵误差。
下面是我们尝试使用bvp4c的代码,我们在最后使用了两个函数和一个脚本:
功能1:
函数yprime = secondode2 (x, y)
计算y 1和y 2的导数,
%作为列向量
一个= 44;随温度变化的体积常数
c = 45;
L = 6 * 10 ^ 8;一个常数近似下的弹性常数(张开=扭曲=弯曲)
yprime = [y (2);c/(2*L)*x^4*y(1)^3 + a*y(1)/L - 5*y(2)/x];
结束
函数2,对于边界条件:
函数res = boundary_conditions1 (ya,)
res =[丫(2)
yb (1) - 1/2);
结束
下面是我们的脚本:
猜= [1/2;0);
xmesh = linspace (0, 1, 5);
Solinit = bvpinit(xmesh, guess);
S = [0 0;0 5);
选择= bvpset (“SingularTerm”,年代);
Sol = bvp4c(@secondode2, @boundary y_conditions1, solinit,options);
情节(sol.x sol.y (:))
持有
标题((r)的颂歌”
包含(“x”);
ylabel (“解决方案y”);
错误:
使用bvp4c时出错(第248行)
无法解决搭配方程——遇到了奇异雅可比矩阵。
bvp_four_c错误(第7行)
Sol = bvp4c(@secondode2, @boundary y_conditions1, solinit,options);
你能帮我们解决这个问题吗?因为我们几乎什么都试过了。

答案(1)

darova
darova 2021年8月11日
问题就在这里
2的评论
darova
darova 2021年8月12日
问题不是 linespace 但起点 .起点不能是 因为有除法 x

登录评论。

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!