c为光速
e为自然底数
import java.io.*;
public class result{
public static void main(String[] ages){
boolean b = true;
while(b)
{
try{
float y = (float)0.0;
System.out.println("请输入x的值,退出请输入exit");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
if(s.equals("exit")){
break;
}
float x = (float)Integer.parseInt(s);
y = c*e*x+c*c*x;
System.out.println("x的值为"+y);
}catch(Exception e){
System.out.println("请输入数字");
哥们数学不好,把你的公式理解成y=c*e*x+c*c*x了
不对的话把你的方程解释一下,我在给你改改
这是针对?y'=y? 这个微分方程的解的程序,如果针对不同的微分方程分别给你写太麻烦了,针对不同微分方程写到一个程序里,自己水平有限,还没思路.LZ看能达到你标准不.
import?java.util.Scanner;
public?class?Math?{
public?static?void?main(String[]?args)?{
Scanner?scan=new?Scanner(System.in);
System.out.println("输入y0");
double?y0=scan.nextDouble();
System.out.println("输入步长");
double?step=scan.nextDouble();
System.out.println("输入阶次");
double?order=scan.nextDouble();
System.out.println(count(y0,step,order));
static?double?count(double?y0,double?step,double?order){
if?(order?=?0){
return?y0;
else{
y0?=?y0?+?y0*step;
order?=?order?-?step;
return?count(y0,step,order);
首先,将x的区间【0,1】分成若干份,设定步长h=0.01,分点x0=0,x1=a+h,...,xk=a+kh,...,xn=b
其三,用消元法,迭代法或追赶法,求解y(i)值
其四,用plot函数绘出y(x)的曲线图
运行代码可以得到如下结果.代码可以提供.
大哥,绝大多数微分方程的解析解很难求解的,甚至根本不能用初等函数表达.就算是低阶线性微分方程也是这样.更不要说用计算机来求解"比较复杂"的微分方程的解析解了.不过数值解倒是大量的微分方程都能计算(在适定的条件下).
现在的有限元软件,流体力学软件,空气动力学,冲击动力学等等计算机模拟仿真,就是在用数值方法求微分方程的近似解.
题名:科学与工程数值算法-Java版
这本书挺好的,是去年我学<<数值分析>>的法宝.上面有微分方程的数值算法代码,推荐参考一下
以上就是土嘎嘎小编为大家整理的java微分方程代码相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!