matlab - 非线性微分方程,如何用matlab数值求解?
问题描述
https://i.stack.imgur.com/6x1ju.png
我必须解决 f"'+(4a^2+Re*f)f'=0 其中 a 和 Re 是恒定但可变的。有三个 BC, f(1)=0,f(-1)=0 , ∫F(∅)d∅=1(integral -1 to 1) 现在我想改变∫F(∅)d∅=G(theta)(integral 0 to theta),然后边界条件可以变为G' (1)=0,G'(-1)=0, G(0)=0,G(1)=1/2 (因为 F(∅) 在给定条件下是对称的)我的编码技巧很差......我应该如何修复我的代码?
`function [theta_0 y2]=flow_BVP
theta_0=linspace(0,1,1000);
sol2=bvp4c(@flow_ode,@flow_bc,@flow_init);
x2=sol2.x;
y2=sol2.y(1,:);
hold on
%plot(x1,y1) %gammal
plot(x2,y2) %ny
%hold off
function v=flow_init(x)
v=[sin(x); 1; 1;1-cos(x)];
function dydx=flow_ode(x,y)
a=0.0001;
Re=0.00001
dydx = [y(2); y(3); -(4.*a^2+Re.*y(2)).*y(3);y(1)];
function res=flow_bc(ya,yb)
res=[ya(1);ya(4);yb(1);yb(4)-1];`
解决方案
推荐阅读
- java - Spring 5 安全 OAuth2 登录重定向循环
- d3.js - 如何在 D3.JS v3 中停止转换
- c# - Mediatr 无法解析 ASP.Net Core 中的 UserManager
- reactjs - 错误:无法读取未定义的属性“道具”
- css - Angular:组件样式不会级联到子组件?
- android - wifi 重新连接后,Android Paho Mqtt 不重新连接
- javascript - Angular8 - 无法迭代对象
- reactjs - 如何在 React 中添加 html
- javascript - 使用参数从 React Navigation 导航器内部调用组件函数
- php - 为什么数据库密码以纯文本形式存储在 WordPress 中的 wp-config.php 中,安全问题?