newdon.m

来自「Matlab 编辑的 高斯 二分法 割线法 牛顿法」· M 代码 · 共 28 行

M
28
字号
%牛顿法 
%测试函数 fun(x)= x^5+2*x^3-x^2-3*x^2+x-1;
%定义变量
syms x;
%赋初值
a0=input('请输入初始值 a0=');
esp=input('请输入精度 esp=');
fun=input('请输入函数 fun(x)=');
%转化为多项式函数
d1=inline(diff(fun));
d2=inline(diff(fun,2));

a1=a0-d1(a0)/d2(a0);
flag=0;

while abs(a1-a0)>esp
    a0=a1;
    a1=a0-d1(a0)/d2(a0);
    flag=flag+1;
end

disp('迭代次数为:'),disp(flag)
disp('在x=:'),disp(a0)
disp('处取到最优解')
d3=inline(fun);
y=d3(a1);
disp(y);

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?