polyrt0_old.m

来自「科学运算语言matlab的程序设计有关的函数code.rar」· M 代码 · 共 19 行

M
19
字号
%POLYRT0_OLD 用 Newton 搜索算法求解多项式方程一个实根,这是一个
%   M脚本文件,我们当然可以容易地将它改写为一个 M 函数。

%Designed by Prof D Xue (c) 2000
n=length(A)-1; B= A(1:n).*[n:-1:1]; i=0; ikey=0;
while (ikey==0)
   xx=x0*ones(1,n+1);  
   xv=xx.^[n:-1:0]; xd=xx(1:n).^[(n-1):-1:0];
   C=B*xd';
   try 
      x1=x0-(A*xv')/C; 
      if (norm(x1-x0)<eps), ikey=1; break;
      else, 
         i=i+1; err=norm(x1-x0); disp([i, x1, C, err]); x0=x1;  
      end
   catch, error(lasterr); end
end
disp(['The solution is ', num2str(x1), ', Error=', num2str(err)])

⌨️ 快捷键说明

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