快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

数值计算,利用梯形法和抛物线法计算圆周率


公式pai=4*∫10dx/(1+x2)

把[0.1]分成10等份,用两中方式分别计算

=======================================================

class work2 {   public static void main (String args[]){   double h = 0.1;//参数h   double m1 =0 ;//复化梯形求和求和   double n =10;   double I=0;//最后结果   double H_2 =0.2;   double m =5 ;//由于n=2m.n=10,所以m=5   double s1=0;//复化抛物线第一个数组求和   double s2=0;//复化抛物线第二个数组求和   double ss[]  = new double[10];//复化梯形公式计算中的求和单元   double ss1[]=new double[5];//复化抛物线中用到的第一个数组   double ss2[]=new double[4];//复化抛物线中用到的第二个数组

   double k[]={0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9};//10等分[0,1]   for(int i=0;i<10;i++){       ss[i] = 1/(1+k[i]*k[i]);     }     //teat pass     for(int i =0;i<10;i++){       m1 = m1 +ss[i];     }     //test pass     I = H_2*(0.5+2*m1);//0.5是f(b)

// --------------------test code     System.out.println("===复化梯形公式计算(包含测试及结果)===");     System.out.println("复化梯形公式单项结果");     for(int i =0;i<10;i++){       System.out.println(ss[i]);

     }     System.out.println("结果求和 m is "+ m1);     System.out.println("结果是 "+ I);     System.out.println("==================================");// ------------------------------------------------     //==开始复化抛物线公式计算======     System.out.println("复化抛物线公式计算");     //由于抛物线运算对数组的操作比较复杂,所以我重新定义数组k[]     double k_2[] = {0,0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9};     //这样数组k就和实际中的对应起来了,哦哈哈          for(int i =1;i<=m;i++){      int n1 = 2*i-1;      ss1[i-1] = 1/(1+k_2[n1]*k_2[n1]);            System.out.println(ss1[i-1]);//测试计算是否准确,     }     System.out.println("运算准确");     System.out.println("第二个数组计算");     for(int i = 1;i<=(m-1);i++){      int n1 = 2*i;      ss2[i-1]=1/(1+k_2[n1]*k_2[n1]);      System.out.println(ss2[i-1]);//测试计算是否准确,     }     System.out.println("运算准确");     //对2个数组求和     for(int i =0;i<5;i++){        s1 = s1 +ss1[i];      }     System.out.println("ss1求和是"+ s1);     for(int i =0;i<4;i++){        s2 = s2 +ss2[i];      }     System.out.println("ss2求和是"+ s2);     System.out.println("运算准确");     I = (h/3)*(1+0.5+4*s1+2*s2);     System.out.println("结果是 "+ I);     //抛物线法不知道正不准确,书上没有答案          }   } ===========================================




返回类别: 教程
上一教程: 如何在 jdbc 印出中文
下一教程: Java中精确计算的一个类用BigDecimal

您可以阅读与"数值计算,利用梯形法和抛物线法计算圆周率"相关的教程:
· 利用RamdonAccessFile来实现文件的追加!
· 利用Java实现串口全双工通讯
· 利用Java调用可执行命令实例
· 利用JSP建立WEB站点
· 利用静态内部类为您的代码添加辅助功能
    微笑服务 优质保证 索取样品