隐式差分格式matlab,用牛顿法求解非线性隐式差分方程组

新手入门:L就是一个二阶的非线性常微分方程两点边值问题,用有限差分法离散成非线性方程组之后,现在要用牛顿法求解这个方程组,然后我有一个编好的牛顿法的程序,但是不知道怎么输入那个差分方程组调用牛顿法,原微分方程用有限差分法离散出的非线性代数方程组见下面的图片:我把上面的方程组输入MATLAB是下面这样的,不知道有没有错误,求大神帮忙看一眼function f=F(y0,b,N)a=0;%左区间端点h...
摘要由CSDN通过智能技术生成

新手入门:L

就是一个二阶的非线性常微分方程两点边值问题,用有限差分法离散成非线性方程组之后,现在要用牛顿法求解这个方程组,然后我有一个编好的牛顿法的程序,但是不知道怎么输入那个差分方程组调用牛顿法,

原微分方程用有限差分法离散出的非线性代数方程组见下面的图片:

我把上面的方程组输入MATLAB是下面这样的,不知道有没有错误,求大神帮忙看一眼

function f=F(y0,b,N)

a=0;%左区间端点

h=(b-a)/N;%剖分的步长

%常数

q=1.6*10^(-19);

ep=1.064*10^(-12);

theta=38.5;

ni=1.4*10^10;

m=10^21;

Y=zeros(N-1,1);%对Y赋初值

Y(1)=y0;%迭代初值

Y(2)=2*y0+h^2*(q/ep*(ni*exp(-theta*x(k))-ni*...

exp(theta*x(k)))+q/ep*m*x(k));

%定义差分方程组

for k=2:N-1

x(k)=a+k*h;%定义差分点的坐标

Y(k)=(x(k+1)-2*x(k)+x(k-1))/h^2+q/ep*(ni*exp(-theta*x(k))-ni*...

exp(theta*x(k)))+q/ep*m*x(k);%差分格式

end

而已有的牛顿迭代程序是:

function [x,iter,X]=newtong(

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值