懂matlab的高手请指教: 关于求非线性微分方程BVP4C解题器的问题
用bvp4c求解非线性微分方程(附图),这里h,u是关于x的函数。现在的难点是,我们只知道h的数值形式,也就是一个向量,而不知道其具体表达式,请问该如何处理。求懂bvp4...
用bvp4c求解非线性微分方程(附图),这里h,u是关于x的函数。
现在的难点是,我们只知道h的数值形式,也就是一个向量,而不知道其具体表达式,请问该如何处理。求懂bvp4c的高手指教~
先给20,如果能解答出。给100~ 展开
现在的难点是,我们只知道h的数值形式,也就是一个向量,而不知道其具体表达式,请问该如何处理。求懂bvp4c的高手指教~
先给20,如果能解答出。给100~ 展开
1个回答
展开全部
假设你知道bvp4c的用法,仅说系数h处理方法的关键点。
公式解析:y1=u;y2=u',则
设y1'=y2,则
y2'=(y1^2-h*y1)/λ
因此,在建子立函数时这样处理
function dydx = twoode(x,y)
H=[]; %H为已知的h序列,自己赋值
X=[]; %X为y=f(x)的定义域,即x的取值范围,注意与H同维,自己赋值
h=interp1(X,H,x,'cubic'); %即每个迭代中x对应的h值,用一维插值来做,插值方法可自己给定
dydx = [ y(2) ; (y(1)^2-h*y(1))/lamda];
公式解析:y1=u;y2=u',则
设y1'=y2,则
y2'=(y1^2-h*y1)/λ
因此,在建子立函数时这样处理
function dydx = twoode(x,y)
H=[]; %H为已知的h序列,自己赋值
X=[]; %X为y=f(x)的定义域,即x的取值范围,注意与H同维,自己赋值
h=interp1(X,H,x,'cubic'); %即每个迭代中x对应的h值,用一维插值来做,插值方法可自己给定
dydx = [ y(2) ; (y(1)^2-h*y(1))/lamda];
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询