追赶法解方程

来源:互联网 发布:阿里云首页 轮播效果 编辑:程序博客网 时间:2024/06/02 22:49
算法 详情见追赶法公式 这个博客只是用来储存。。
package 计算方法大作业;public class zhuiganfa {public static void main(String args[]){int i;double x,z=0;//定义两个数组对题目中的值进行储存double a[]={0,-1,-1,-1};double b[]={0,2,2,2,2};double c[]={0,-1,-1,-1};double b2[]={0,0,0,0};//储存贝塔double y[]={0,0,0,0,0};//储存ydouble f[]={0,0,0,0,5};//获取所有的贝塔for(i=1;i<=3;i++){if(i==0){x=getb1(a[i],b[i],c[i],0);z=x;b2[i]=x;}else{x=getb1(a[i],b[i],c[i],z);z=x;b2[i]=x;}}//获取所有的ySystem.out.print("输出方程的解为:");for(i=1;i<=4;i++){if(i==1){z=0;x=gety(f[i],a[i],b[i],z,0);z=x;}else{x=gety(f[i],a[i-1],b[i-1],z,b2[i-1]);z=x;}y[i]=x;}//解出xfor(i=4;i>=1;i--){if(i==4){z=0;x=getx(y[i],0,z);z=x;}else{x=getx(y[i],b2[i],z);z=x;}System.out.print("\t"+x);}}//定义获取b贝塔的方法public static double getb1(double a,double b, double c,double b2){double b1;b1=c/(b-a*b2);return b1;}//定义获取y的方法public static double gety(double f,double a,double b,double y1,double b1){double y;y=(f-a*y1)/(b-a*b1);return y;}//定义获取x的方法public static double getx(double y,double b,double x1){double x;x=y-b*x1;return x;}}

0 0
原创粉丝点击