本文目錄一覽:
微積分用C語言怎麼表達編程
c不是專門用來運算的,所以說你也不用期待有幾個符號加上函數就能求出微分和積分。如果實在要算微積分只能用微元法,把間隔取得足夠小,用數值方法算出微分和積分
c語言怎樣用C語言編程來解決數學求“微分
1,一套皆不能初等函數的微分公式;
2,函數和差積商的法則
通過以上兩個的明確定義,就可以把一些問題轉化成固定的模版上進行計算了。
c語言如何做微分
你連題都沒有,想要源代碼,估計希望不大了,不過有本書里有將如何用C語言解微分方程。
好像是叫計算方法 C語言版。哦,找到了
《計算方法(C語言版)》是作者十多年計算方法研究應用和教學經驗的結晶。全書共分9章,主要內容包括算法與誤差、非線性方程求根、線性方程組的直接求解和迭代求解、代數插值、數值積分、矩陣特徵值與特徵向量的計算、常微分方程初值問題的數值解法等。
C語言編程求微分,願意再追加50分.
#include stdio.h
main()
{
float x,y,ji_fen,wei_fen;
for(x=0;x2;x=x+0.01)
{
y=x*x;
ji_fen=ji_fen+y*0.01;
wei_fen=(y-(x-0.01)*(x-0.01))/0.01;
printf(“x=%f y=%f ji_fen=%f wei_fen=%f\n”,x,y,ji_fen,wei_fen);
}
}
怎麼求全微分
1、由於P=x2+y,Q=x-2y滿足Qx=Py,因此是一個全微分方程
∴存在函數u(x,y),使得du=(x2+y)dx+(x-2y)dy
∴u(x,y)=∫ [(0,0),(x,y)] (x2+y)dx+(x−2y)dy
=∫ [0,x]x2dx+∫[0,y](x−2y)dy
=1/3x^3+xy−y^2
而du=0,因此u(x,y)=C,故
x3 /3+xy−y^2=C
2、第二個問題如下:
擴展資料
如果函數z=f(x, y) 在(x, y)處的全增量
Δz=f(x+Δx,y+Δy)-f(x,y)
可以表示為
Δz=AΔx+BΔy+o(ρ),
其中A、B不依賴於Δx, Δy,僅與x,y有關,ρ趨近於0(ρ=√[(Δx)2+(Δy)2]),此時稱函數z=f(x, y)在點(x,y)處可微分,AΔx+BΔy稱為函數z=f(x, y)在點(x, y)處的全微分,記為dz即
dz=AΔx +BΔy
該表達式稱為函數z=f(x, y) 在(x, y)處(關於Δx, Δy)的全微分。
參考資料來源:百度百科-全微分
用C語言計算微積分?
我給一樓加的注釋以及修改:
#includestdio.h
#includemath.h
#define ARRAYBOUND 10001
void main()
{
int i = 0; //輔助變量,最常見那種
int n = 0; //將所求定積分函數曲線在x軸方向,平均分成n等分;n越大,結果越精確;不過限於此算法限制nARRAYBOUND,否則溢出.
float x[ARRAYBOUND];//ARRAYBOUND維浮點數組,存放離散的x坐標值
float y[ARRAYBOUND];//ARRAYBOUND維浮點數組,存放每個x坐標對應的函數值;x[i],y[i]滿足y[i]=f(x[i]),f是你要求定積分的函數
float x0 = 0.0; //定積分下限
float xn = 0.0; //定積分上限
float h = 0.0; //面積微元寬度
float J = 0.0; //輔助變量
/*f=x^3*/ //這裡說明要求定積分的是函數f(x)=x*x*x;(y等於x的立方,x^3是vb的寫法)
// printf(“input x0,xn,n:”);
printf(“請分別輸入下限(x0),上限(xn),精度(n):”);
scanf(“%f”,x0);
scanf(“%f”,xn);
scanf(“%d”,n);
h=(xn-x0)/n;//將函數圖形在x方向平分成n份,h是每個面積微元的寬度
x[0]=x0; //將積分下限賦值給x[0]
for(i=0;i=n nARRAYBOUND;i++)
{
x[i]=x[0]+i*h; //計算n個離散的橫坐標值,存入x[]數組
y[i]=(float)pow(x[i],3);//計算n個橫坐標對應的函數值,存入y[]數組。在此可以改變要求積分的函數
}
// J=0.0;
for(i=0;in;i++)
{
//J=J+y[i]+y[i+1];
J+=y[i];//將所有縱坐標值代數相加,存入J
}
//J=J*h/2.0;
J=J*h;//所有微元面積一次求解,因為∑h*y[i]=h*∑y[i];
printf(“\nn=%d \n所求定積分值是: %f\n”,n,J);
}
我將//J=J+y[i]+y[i+1]改為J+=y[i];將//J=J*h/2.0;改為J=J*h只是幫助lz理解
其實,這兩種表達在理論上是等價的,不過我發現修改後,在n同樣大小的情況下,結果的精度有一點點下降,還真不知為什麼???
這樣的話lz應該能理解了吧,其實一樓的算法還有不少值得改進的地方,希望lz能有所突破!!
原創文章,作者:BHWJ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/132534.html