當前位置:首頁 » 編程語言 » c語言實現微分方程
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言實現微分方程

發布時間: 2022-08-27 15:12:08

Ⅰ 跪求線性多步法求解微分方程數值解的c語言程序(Adams外插)

c=getchar()!=EOF語句的執行順序是 1、temp=(getchar()!=EOF); 2、c=temp; 所以,當你的輸入不為EOF時,c始終為1。 這里的EOF為文件結束符,對於它的宏定義位於stdio.h頭文件中,如果你去看的話會發現 #define EOF -1

Ⅱ C語言編程,常微分方程初值問題的Taylor求解方法的研究與實現。拜託大

#include//y'=x+ydoublef1(doublex,doubley){returnx+y;}//y'=3y/(1+x)doublef2(doublex,doubley){return3*y/(1+x);}//y'=y*y;doubleftest(doublex,doubley){returny*y;}voidsolve(double(*func)(doublex,doubley),doubleminX,doublemaxX,doubley0,doubleh,doubleresult[][7],int*resultNum){doubleK1,K2,K3,K4;doubleXn_1,Yn_1;intn=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;}voidprint(doubleresult[][7],intresultNum){inti;doublex;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

Ⅲ 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語言,龍格庫塔求解微分方程組

一下微分方程組,我加分 function df=ode45_fun(t,xyzuvw) %%注意小寫的v和大寫的V %常數(請修正) R_0=1; rho_0=1; beta=1; G=6.67 ..

Ⅳ 請問這個微分方程式用c語言怎麼寫

引用聲明完畢後,相當於目標變數名有兩個名稱,即該目標原名稱和引用名,
struct h int i;int j;;
主要區別:c語句是面向結構的語言,c++是面向對象的語言,C++從根本上已經發生質飛躍,並對c進行豐富的擴展。

Ⅵ c語言怎樣實現繪圖,解微分方程跪求源代碼。。。

你連題都沒有,想要源代碼,估計希望不大了,不過有本書里有將如何用C語言解微分方程。
好像是叫計算方法 C語言版。哦,找到了
《計算方法(C語言版)》是作者十多年計算方法研究應用和教學經驗的結晶。全書共分9章,主要內容包括演算法與誤差、非線性方程求根、線性方程組的直接求解和迭代求解、代數插值、數值積分、矩陣特徵值與特徵向量的計算、常微分方程初值問題的數值解

Ⅶ 用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語言程序求解這個微分方程

紅燒肉做法:

1、把油燒熱,放兩勺白糖和薑片進去翻炒片刻。
2、放入五花肉塊翻炒,直至顏色金黃,油也煸出一些。
3、加水將將漫過肉塊,加醬油少許、鹽少許和五香粉少許,煮至五花肉軟糯。
4、起鍋前十來分鍾可加胡蘿卜塊。
5、水收干後起鍋。

Ⅹ c語言如何做微分

你連題都沒有,想要源代碼,估計希望不大了,不過有本書里有將如何用C語言解微分方程。
好像是叫計算方法 C語言版。哦,找到了
《計算方法(C語言版)》是作者十多年計算方法研究應用和教學經驗的結晶。全書共分9章,主要內容包括演算法與誤差、非線性方程求根、線性方程組的直接求解和迭代求解、代數插值、數值積分、矩陣特徵值與特徵向量的計算、常微分方程初值問題的數值解法等。