zoukankan      html  css  js  c++  java
  • 计算方法之改进的欧拉法计算常微分方程

    /***********************
    *   
    *改进的欧拉法计算常微分方程
    * y'=(1/x)*y-(1/x)*y^2,  1<=x<=1.5
    *{
    * y(1) = 0.5
    *
    * 取步长h=0.1即n=5
    *************************/
    #include<stdio.h>
    #include<math.h>
    #include<conio.h>
    
    float f(float x, float y) {
    	return (y / x - y * y / x);
    }
    
    float Euler(float x0, float xn, float y0, int n) {
    	int i;
    	float yp, yc, x = x0, y = y0, h;
    	h = (xn - x0) / n;
    	for (i = 1; i <= n; i++) {
    		yp = y + h * f(x, y);
    		x = x0 + i * h;
    		yc = y + h * f(x, yp);
    		y = (yp + yc) / 2.0;
    		printf("x[%d]=%f	y[%d]=%f\n", i, x, i, y);
    	}
    	return y;
    }
    
    int main() {
    	int i;
    	float x0, xn, y0, h, S, n;
    	printf("\nInput the x0 value:");
    	scanf("%f", &x0);
    	printf("\nInput the xn value:");
    	scanf("%f", &xn);
    	printf("\nInput the y0 value at %f:", x0);
    	scanf("%f", &y0);
    	printf("\n input value[divide(%f,%f)]:", x0, xn);
    	scanf("%f", &n);
    	printf("\n x[0]=%8f \t y[0]=%8f \n", x0, y0);
    	Euler(x0, xn, y0, n);
    	//getch();
    	return 0;
    }
    

  • 相关阅读:
    MySQL递归查询树状表的子节点、父节点
    ajax传递参数给springmvc总结[转]
    转:Java中String与byte[]的转换
    easymock的用法
    java的反射
    spring的依赖注入
    等页面加载完
    ajax请求
    对象的复制
    springJDBC
  • 原文地址:https://www.cnblogs.com/java20130722/p/3206787.html
Copyright © 2011-2022 走看看