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

📄 rkt.cpp

📁 学生嘛
💻 CPP
字号:
#include"stdio.h"
#include"stdlib.h"
#include"math.h"
double fun(double x,double y);
double fun1(double x);
void RKt(double a,double b,int n,double y[]);
double y[11];
void main() 
{
    double t=0,m;
    y[0]=0;   
    RKt(0,0.5,10,y);
    
    for(int j=0;j<11;j++)
    printf("y%d = %15.12e\n",j,y[j]);
    
	printf("\n");
	for(int k=0;k<11;k++)
	{
	m=fun1(t);
	t=t+0.05;
	printf("y%d=%15.12e\n",k,m);
	}   
    
   
    }  
void RKt(double a,double b,int n,double y[])
{
       double h,h1,K1,K2,K3,K4,*p;
       h=(b-a)/n;
       h1=h/2;
       p=(double*)malloc((n+1)*sizeof(double));       
       p[0]=0;    
       for(int i=1;i<=n;i++)
       {
         p[i]=p[i-1]+0.05;
       }   
       for(i=1;i<=n;i++)
          {    K1=fun(p[i-1],y[i-1]);
               K2=fun(p[i-1]+h1,y[i-1]+K1*h1);
               K3=fun(p[i-1]+h1,y[i-1]+K2*h1);
               K4=fun(p[i-1]+h,y[i-1]+K3*h);
               y[i]=y[i-1]+(K1+2*K2+2*K3+K4)*h/6;
               printf("K1=%f K2=%f K3=%f K4=%f y[%d]=%15.12f\n",K1,K2,K3,K4,i,y[i]);
          }
       free(p);                                 
}                    
double fun(double x,double y)
{
    double z=(-y+x*x+4*x-1)/2;   
    return z;   
}

double fun1(double x)
{
	double y=exp(-x/2)+x*x-1;
	return y;
}

⌨️ 快捷键说明

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