⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 weifen.java

📁 计算方法课
💻 JAVA
字号:
import java.awt.*;import java.applet.*;import java.awt.event.*;import java.lang.*;public class weifen extends Applet implements ActionListener{  Button A, B, C,D;  boolean choosea, chooseb, choosec,choosed;  double x0,y0,h;  public void init() {    A = new Button("直接欧拉法");    B = new Button("改进欧拉法");    C = new Button("四阶龙格库塔法");    D = new Button("y(x)=1/(2*exp(x)-x-1)");    add(D);add(A);add(B);add(C);    A.addActionListener(this);B.addActionListener(this);    C.addActionListener(this);D.addActionListener(this);    x0=0;y0=1;h=0.01;  }  public double fdao(double x,double y){    return(-y-x*y*y);  }  public double yzq(double x){    return(1/(2*Math.exp(x)-x-1));  }  public void actionPerformed(ActionEvent ae) {    String str = ae.getActionCommand();    if (str.equals("y(x)=1/(2*exp(x)-x-1)")) {      choosea = true;//chooseb=false;choosec=false;choosed=false;      repaint();    }    if (str.equals("直接欧拉法")) {      chooseb = true;//choosea = false;choosec=false;choosed=false;      repaint();    }    if (str.equals("改进欧拉法")) {      choosec = true;//choosea = false;chooseb=false;choosed=false;      repaint();    }    if (str.equals("四阶龙格库塔法")) {      choosed = true;//choosea = false;chooseb=false;choosec=false;      repaint();    }  }  public void paint(Graphics g) { //绘图    g.drawLine(50, 350, 50, 30);    g.drawLine(50, 350, 500, 350);    g.drawLine(50, 30, 54, 39);    g.drawLine(50, 30, 46, 39);    g.drawLine(500, 350, 495, 345);    g.drawLine(500, 350, 495, 355);    g.drawString("x", 505, 360);    g.drawString("y", 40, 32);    g.drawString("0", 40, 355);    g.drawLine(50,280,55,280);g.drawString("0.25", 20, 285);    g.drawLine(50,210,55,210);g.drawString("0.5", 23, 215);    g.drawLine(50,140,55,140);g.drawString("0.75", 20, 145);    g.drawLine(50,70,55,70);g.drawString("1", 40, 75);    for(int i=1;i<5;i++)        g.drawLine(50+i*100,350,50+i*100,345);//比例为1:100    g.drawString("1",148,365);g.drawString("2",248,365);    g.drawString("3",348,365);g.drawString("4",448,365);    g.drawLine(400, 40, 423, 40);g.drawString("原微分曲线", 425, 45);    g.setColor(Color.blue);g.drawLine(400, 60, 423, 60);    g.drawString("直接欧拉法", 425, 65);    g.setColor(Color.red);g.drawLine(400, 80, 423, 80);    g.drawString("改进欧拉法", 425, 85);    g.setColor(Color.green);g.drawLine(400, 100, 423, 100);    g.drawString("四阶龙格库塔法", 425, 105);    if (choosea) {      g.setColor(Color.black);      int m=50,n=70;      double a=0.1,j;      for(int k=50;k<450;k++){        j=yzq(a)*280;        /*try{          Thread.sleep(5);//延迟        }catch(InterruptedException e){}*/        g.drawLine(m,n,k,350-(int)j);        m=k;n=350-(int)j;        a+=0.01;      }    }    if (chooseb) {      g.setColor(Color.blue);      double x00=x0,y00=y0,j,x1,y1;      int m=50,n=70;      for(int k=50;k<=450;k++){        x1=x00+h;        y1=y00+h*fdao(x00,y00);        j=y1*280;        /*try{          Thread.sleep(5);//延迟        }catch(InterruptedException e){}*/        g.drawLine(m,n,k,350-(int)j);        m=k;n=350-(int)j;        x00=x1;y00=y1;      }    }    if(choosec){      g.setColor(Color.red);      double x00=x0,y00=y0,yp,yc,j,x1,y1;      int m=50,n=70;      for(int k=50;k<=450;k++){        x1=x00+h;        yp=y00+h*fdao(x00,y00);        yc=y00+h*fdao(x1,yp);        y1=(yp+yc)/2;        j=y1*280;       /*try{          Thread.sleep(5);//延迟        }catch(InterruptedException e){}*/       g.drawLine(m,n,k,350-(int)j);        m=k;n=350-(int)j;        x00=x1;y00=y1;      }    }    if(choosed){      g.setColor(Color.green);      double x00=x0,y00=y0,k1,k2,k3,k4,j,x1,y1;      int m=50,n=70;      for(int k=50;k<=450;k++){        x1=x00+h;        k1=fdao(x00,y00);        k2=fdao(x00+h/2,y00+k1*h/2);        k3=fdao(x00+h/2,y00+k2*h/2);        k4=fdao(x1,y00+h*k3);        y1=y00+(k1+2*k2+2*k3+k4)*h/6;        j=y1*280;        /*try{          Thread.sleep(5);//延迟        }catch(InterruptedException e){}*/        g.drawLine(m,n,k,350-(int)j);        m=k;n=350-(int)j;        x00=x1;y00=y1;      }    }  }}

⌨️ 快捷键说明

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