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

本帖最后由 呵呵。。。 于 2016-5-25 19:37 编辑

新手入门:L

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

这是编好的牛顿法程序:

function [x,iter,X]=newtong(fun,x0,eps,maxiter)

% Newton法求解非线性方程组的根

% 输入参数:

%      ---fun:迭代函数

%      ---x0:初始迭代点向量

%      ---eps:精度要求,默认值为1e-6

%      ---maxiter:最大迭代次数,默认值为1e4

% 输出参数:

%      ---x:非线性方程的近似解向量

%      ---iter:迭代次数

%      ---X:每一步迭代的结果

if nargin<2,error('输入参数至少需要2个!'),end

if nargin<3|isempty(eps),eps=1e-6;end

if nargin<4|isempty(maxiter),maxiter=1e4;end

k=0;err=1;

while err>eps

k=k+1;

[fx0,J]=feval(fun,x0);  % 求函数fun的值

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值