zoukankan      html  css  js  c++  java
  • 多项式计算

    一个通用的计算多项式的值的算法可以采用递推的方式,首先将多项式表达式变形为等价于如下形式:

    P(x)=(...((an-1+an-2)x+an-3)x+...+a1)x+a0

    通过这个表达式可以看出,只要从里往外一层层地按照如下的方式递推,便可以得到多项式的值。

    Rn-1=an-1

    Rk=Rk+1+ak, k=n-2,.......1,0

    通过一层层计算后,得到的R0便是多项式P(x)的值。

    代码段:

    import java.text.DecimalFormat;
    public class Hanshu {
    public static double sun(double a[],int n,double x) {
    int i;
    double result;
    result=a[n-1];
    for(i=n-2;i>=0;i--) {
    result=result*x+a[i];//递推算法计算
    }
    return result;//返回结果
    }

    public static void main(String []args) {
    int i;
    double result;
    double a[]= {-15.0,-7.0,7.0,2.0,-3.0,7.0,3.0};
    double x[]= {-2.0,-0.5,1.0,2.0,3.7,4.0};
    DecimalFormat df=new DecimalFormat("0.0000000E000");
    DecimalFormat dfl=new DecimalFormat("0.00");
    System.out.println(" ");
    for(i=0;i<6;i++) {//逐个计算
    result=sun(a,7,x[i]);
    System.out.print("x="+dfl.format(x[i])+"时,p(x)="+df.format(result)+" ");
    }
    System.out.print(" ");
    }
    }

    其中输入参数n为多项式的项数,数组a[]依次存放多项式的n个系数,x是指定的变量值。

  • 相关阅读:
    day_03、初识函数
    一、Python简介
    四、列表和元祖
    MinGW安装和使用
    python编码总结
    开博第一篇,学习markdown
    python 2.7.11安装pywin32过程中 停止工作问题
    python读写excel
    关于\r和\n的区别
    1.1 Python for macOS 安装与配置
  • 原文地址:https://www.cnblogs.com/mianyang0902/p/10665095.html
Copyright © 2011-2022 走看看