『壹』 用c語言實現分別用歐拉法和改進的歐拉法計算常微分方程:y'=-x*y^2 (x>=0且x<=3) ;y(0)=2,,可用vc6.0運行
// zifuchuan.cpp : Defines the entry point for the console application.
//
#include "stdio.h"
#include 「stdlib.h」
#define N 20
//#define exit 0
int length(char *p)
{
	int i,count=0;
	for(i=0;p[i]!='\0';i++)
		count++;
	return count;
}
void (char *p1,char *p2)
{
	int i;
	for(i=0;p2[i]!='\0';i++)
		p1[i]=p2[i];
	if(p1[i]!='\0')
		p1[i]='\0';
	printf("復制完成\n");
	printf("%s\n",p1);
}
int compare(char *p1,char *p2)
{
	int i,j;
	for(i=0;p1[i]!='\0'||p2[i]!='\0';i++)
		if(p1[i]!=p2[i])
		{
			j=p1[i]-p2[i];
			return j;
		}
		return 0;
}
int main(int argc, char* argv[])
{ 
	char p1[20],p2[20];
	int e,f;
	printf("請輸入字元串\n");
    printf("請輸入字元串p1\n");
    scanf("%s",p1);
	printf("請輸入字元串p2\n");
	scanf("%s",p2);
   // printf("請輸入字元串p2\n");
//	scanf("%s",p2);
	while(1)
   {
	   printf("----------1.求字元串長度----------\n");
       printf("------------2.復制拷貝字元串----------\n");
       printf("------------3.比較字元串------------\n");
       printf("--------------4.退出程序--------------\n");
	   int choose;
	   printf("請選擇:");
	   scanf("%d",&choose);
   	   switch(choose)
	   {
    	   case 1:e=length(p1);printf("%d\n",e);break;
           case 2:(p1,p2);break;
           case 3:f=compare(p1,p2);printf("%d\n",f);break;
		    case 4:exit(0);
	   }
   }
}
『貳』 c語言怎樣實現繪圖,解微分方程跪求源代碼。。。
你連題都沒有,想要源代碼,估計希望不大了,不過有本書里有將如何用C語言解微分方程。
好像是叫計算方法 C語言版。哦,找到了
《計算方法(C語言版)》是作者十多年計算方法研究應用和教學經驗的結晶。全書共分9章,主要內容包括演算法與誤差、非線性方程求根、線性方程組的直接求解和迭代求解、代數插值、數值積分、矩陣特徵值與特徵向量的計算、常微分方程初值問題的數值解
『叄』 如何編寫C語言程序求解這個微分方程
沒微分方程應該用MATLAB解決
『肆』 四階R-K求常微分方程初值的C語言編程
#include <stdio.h>
// y' = x + y
double f1(double x,double y)
{
 return x + y ; 
}
// y' = 3y/(1 + x)
double f2(double x,double y)
{
 return 3*y/(1 + x) ; 
}
// y' = y * y;
double ftest(double x,double y)
{
 return y*y;
}
void solve(   double (*func)(double x,double y),
     double minX,double maxX,
     double y0,
     double h,
     double  result[][7],int* resultNum
   )
{
 double K1,K2,K3,K4;
 double Xn_1,Yn_1;
 
 int n = 0;
 
 result[n][0] = n;
 result[n][1] = minX;
 result[n][2] = 0;
 result[n][3] = 0;
 result[n][4] = 0;
 result[n][5] = 0;
 result[n][6] = y0;
 for(n = 1 ; n * h <= maxX  ; n ++ )
 {
  Xn_1 = result[n-1][1];
  Yn_1 = result[n-1][6];
  
  K1 = (*func)(Xn_1       , Yn_1);
  K2 = (*func)(Xn_1 + h/2 , Yn_1 + h/2*K1);
  K3 = (*func)(Xn_1 + h/2 , Yn_1 + h/2*K2);
  K4 = (*func)(Xn_1 + h   , Yn_1 + h*K3);
  
  result[n][0] = n;
  result[n][1] = minX + n*h;
  result[n][2] = K1;
  result[n][3] = K2;
  result[n][4] = K3;
  result[n][5] = K4;
  result[n][6] = Yn_1 + h*(K1 + 2*K2 + 2*K3 + K4)/6;
  
 }
 
 *resultNum = n;
}
void print(double result[][7],int resultNum)
{
 int i;
 double x;
 printf("%5s%15s%15s%15s%15s%15s%15s\n","n","Xn","K1","K2","K3","k4","Y");
 for(i = 0 ; i < 95; i ++ )
  printf("-");
 printf("\n"); 
 for(i = 0 ; i < resultNum ; i ++)
 {
  printf("%5d%15f%15f%15f%15f%15f%15f\n",
           (int)result[i][0],
           result[i][1],
           result[i][2],
           result[i][3],
           result[i][4],
           result[i][5],
           result[i][6]
       );
 }
 for(i = 0 ; i < 95; i ++ )
  printf("-");
 printf("\n\n"); 
}
int main(int argc, char *argv[])
{
 double minX, maxX;
 double y0;
 double h;
 double result[10000][7];
 int    resultNum ; 
/****************************************
 * y'=x+y
 * y(0)=1  (0<x<1)
 ****************************************/
 printf("y'=x+y ; y(0)=1  (0<x<1)\n");
 minX = 0.0,maxX = 1;
 y0 = 1;
 h  = 0.1;
 solve( ftest,
   minX,maxX,
   y0,
   h,
   result,&resultNum
   ); 
 print(result,resultNum); 
 
 /****************************************
 * y'=3y/(1+x)
 * y(0)=1  (0<x<1)
 ****************************************/
 printf("y'=3y/(1+x) ; y(0)=1  (0<x<1)\n");
 minX = 0.0,maxX = 1;
 y0 = 1;
 h  = 0.1;
 solve( ftest,
   minX,maxX,
   y0,
   h,
   result,&resultNum
   ); 
 print(result,resultNum); 
/****************************************
 * y'=y*y
 * y(0)=1  (0<x<0.5)
 ****************************************/
 printf("y'=y*y ; y(0)=1  (0<x<0.5)\n");
 minX = 0.0,maxX = 0.5;
 y0 = 1;
 h  = 0.1;
 solve( ftest,
   minX,maxX,
   y0,
   h,
   result,&resultNum
   ); 
 print(result,resultNum); 
 
 /****************************************/
 
 return 0;
}
/*
運行結果:
 
y'=x+y ; y(0)=1  (0<x<1)
    n             Xn             K1             K2             K3             k4              Y
-----------------------------------------------------------------------------------------------
    0       0.000000       0.000000       0.000000       0.000000       0.000000       1.000000
    1       0.100000       1.000000       1.102500       1.113289       1.235052       1.111110
    2       0.200000       1.234567       1.375551       1.392136       1.563310       1.249998
    3       0.300000       1.562495       1.763910       1.790762       2.042253       1.428566
    4       0.400000       2.040801       2.342756       2.389201       2.780510       1.666653
    5       0.500000       2.777733       3.259974       3.347626       4.005666       1.999963
    6       0.600000       3.999853       4.839806       5.026356       6.263001       2.499883
    7       0.700000       6.249414       7.909333       8.383049      11.143498       3.332844
    8       0.800000      11.107850      15.118384      16.717986      25.046449       4.996628
    9       0.900000      24.966293      38.999310      48.255163      96.474521       9.929124
   10       1.000000      98.587505     220.775003     439.651750    2904.595478      81.996399
-----------------------------------------------------------------------------------------------
y'=3y/(1+x) ; y(0)=1  (0<x<1)
    n             Xn             K1             K2             K3             k4              Y
-----------------------------------------------------------------------------------------------
    0       0.000000       0.000000       0.000000       0.000000       0.000000       1.000000
    1       0.100000       1.000000       1.102500       1.113289       1.235052       1.111110
    2       0.200000       1.234567       1.375551       1.392136       1.563310       1.249998
    3       0.300000       1.562495       1.763910       1.790762       2.042253       1.428566
    4       0.400000       2.040801       2.342756       2.389201       2.780510       1.666653
    5       0.500000       2.777733       3.259974       3.347626       4.005666       1.999963
    6       0.600000       3.999853       4.839806       5.026356       6.263001       2.499883
    7       0.700000       6.249414       7.909333       8.383049      11.143498       3.332844
    8       0.800000      11.107850      15.118384      16.717986      25.046449       4.996628
    9       0.900000      24.966293      38.999310      48.255163      96.474521       9.929124
   10       1.000000      98.587505     220.775003     439.651750    2904.595478      81.996399
-----------------------------------------------------------------------------------------------
y'=y*y ; y(0)=1  (0<x<0.5)
    n             Xn             K1             K2             K3             k4              Y
-----------------------------------------------------------------------------------------------
    0       0.000000       0.000000       0.000000       0.000000       0.000000       1.000000
    1       0.100000       1.000000       1.102500       1.113289       1.235052       1.111110
    2       0.200000       1.234567       1.375551       1.392136       1.563310       1.249998
    3       0.300000       1.562495       1.763910       1.790762       2.042253       1.428566
    4       0.400000       2.040801       2.342756       2.389201       2.780510       1.666653
    5       0.500000       2.777733       3.259974       3.347626       4.005666       1.999963
-----------------------------------------------------------------------------------------------
請按任意鍵繼續. . .
*/
『伍』 C語言 經典R-K方法解微分方程 謝謝大家了,新手~~最好還寫點說明,非常感謝!!
#include<stdio.h>
/*
針對你給的問題
dy/dt=t/y
y(2.0)=1  2.0<=t<=2.6  h=0.2 怎麼輸入、輸出呢? 
*/
double f(double x,double y)//這是你給的問題的函數t/y
{
 return x/y;
}
void Runge_Kutta4(double y0,double x0,double h,double b)//四階的Runge_Kutta法
{
 double y1;double k[4];int i=0;
 while (1){
  i++;
  k[0]=f(x0,y0);
  k[1]=f(x0+h/2.0,y0+h*k[0]/2.0);
  k[2]=f(x0+h/2.0,y0+h*k[1]/2.0);
  k[3]=f(x0+h,y0+h*k[2]);
  y1=y0+h*(k[0]+2*k[1]+2*k[2]+k[3])/6.0;
  printf("%d\t%f\t%f\n",i,x0+h,y1);//這里是C語言的輸出
  //cout<<i<<'\t'<<x0+h<<'\t'<<y1<<'\n';  這是C++語言的輸出
  if(x0+2*h>=b)break;
  y0=y1;x0=x0+h;
 }
}
void main()
{
 Runge_Kutta4(1.0,2.0,0.2,2.6);
}
結果:
1       2.200000        1.356505
2       2.400000        1.661361
全改C語言了  如有不明再問我吧
你的串號我已經記下,採納後我會幫你製作
『陸』 如何編寫C語言程序求解這個微分方程
紅燒肉做法:
1、把油燒熱,放兩勺白糖和薑片進去翻炒片刻。
2、放入五花肉塊翻炒,直至顏色金黃,油也煸出一些。
3、加水將將漫過肉塊,加醬油少許、鹽少許和五香粉少許,煮至五花肉軟糯。
4、起鍋前十來分鍾可加胡蘿卜塊。
5、水收干後起鍋。
『柒』 c語言如何做微分
你連題都沒有,想要源代碼,估計希望不大了,不過有本書里有將如何用C語言解微分方程。
好像是叫計算方法 C語言版。哦,找到了
《計算方法(C語言版)》是作者十多年計算方法研究應用和教學經驗的結晶。全書共分9章,主要內容包括演算法與誤差、非線性方程求根、線性方程組的直接求解和迭代求解、代數插值、數值積分、矩陣特徵值與特徵向量的計算、常微分方程初值問題的數值解法等。
『捌』 請問這個微分方程式用c語言怎麼寫
引用聲明完畢後,相當於目標變數名有兩個名稱,即該目標原名稱和引用名,
struct h int i;int j;;
主要區別:c語句是面向結構的語言,c++是面向對象的語言,C++從根本上已經發生質飛躍,並對c進行豐富的擴展。
『玖』 c語言用龍格庫塔法求微分方程 問題急求😢😢😢

希望可以幫到你
『拾』 C語言:常微分方程初值問題的Taylor求解方法
可以用MATLAB中的函數求解
 使用Euler法求解,運算程序簡單,但是計算結果准確度不高。使用改進的Euler法求解過程相對復雜,但是准確度會更高。准確度最高的是四階龍格庫塔法,求解步驟也是最復雜的。問題(1)使用Euler求解,並與准確解對比。問題(3)使用改進的Euler法求解。問題(4)(I)(IV)使用四屆標准龍格庫塔法求解。
