重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
w=100*pi;R=1;L=0.01;t=0:0.000001:2;Us=220.*sqrt(2).*sin(100.*pi.*t).*((1/6)100.*t-fix(100.*t)1);i=dsolve('Di=(Us-R*i)/L','i(0)=0','t')i = (Us - Us*exp(-(R*t)/L))/Ri=(220.*sqrt(2).*sin(100.*pi.*t).*((1/6)100.*t-fix(100.*t)1)-220.*sqrt(2).*sin(100.*pi.*t).*((1/6)100.*t-fix(100.*t)1).*exp(-(1.*t)/0.01))/1;plot(t,i)
创新互联建站是一家以网站建设公司、网页设计、品牌设计、软件运维、成都网站营销、小程序App开发等移动开发为一体互联网公司。已累计为成都广告制作等众行业中小客户提供优质的互联网建站和软件开发服务。
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;
final float c = (float)299792458.0;
final float e = (float)2.718281828;
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);
}
}
}
使用matlab软件,用有限差分法求解常微分方程 d^2y/ dx^2-2(9x+2)y=-2(9x+2)*e^x ,y(0)=0,y(1)=1,其步长0.01。求解该方程可以按照下列思路来编写代码:
首先,将x的区间【0,1】分成若干份,设定步长h=0.01,分点x0=0,x1=a+h,。。。,xk=a+kh,。。。,xn=b
其二,根据迭代式y(i+1)-(2+q(x(i))*h^2)*y(i)+y(i-1)=f(x(i))*h^2,b(i)=h^2*f(x(i)),其中,d(1)=h^2*f(x(1))-a,d(N)=h^2*f(x(N-1))-b,写出差分线性方程组,【A】*【y】=【d】
其三,用消元法,迭代法或追赶法,求解y(i)值
其四,用plot函数绘出y(x)的曲线图
运行代码可以得到如下结果。代码可以提供。
大哥,绝大多数微分方程的解析解很难求解的,甚至根本不能用初等函数表达。就算是低阶线性微分方程也是这样。更不要说用计算机来求解“比较复杂”的微分方程的解析解了。不过数值解倒是大量的微分方程都能计算(在适定的条件下)。
现在的有限元软件,流体力学软件,空气动力学,冲击动力学等等计算机模拟仿真,就是在用数值方法求微分方程的近似解。
题名:科学与工程数值算法-Java版
作者:丁军, 杨丽丽
出版社:清华大学出版社,2003
这本书挺好的,是去年我学《数值分析》的法宝。上面有微分方程的数值算法代码,推荐参考一下