被積函數演算法
A. 求助一個二重積分的MATLAB演算法
思路和一維數值積分一樣,分割,求和,取極限。你把二維平面分割成n個方塊,以方塊中一點被積函數值為高算出小方塊的體積,再把所有加起來,當n很大時便可近似解。
B. 二重積分 這道題上面的演算法為什麼不對
這個圖形是上下對稱的,所以求上面的面積再乘以2就是了
角度的變化范圍去0到 π/6
然後當角度取定時,r的取值是2/√3cosθ
被積函數是1,rdrdθ相當於直角坐標系的dxdy,所以極坐標計算時被積函數上要乘一個r。
C. 二重積分一共有多少種計算方法,分別是什
二重積分一共一般有三種計算方法:變限求積分,直角坐標化極坐標,作圖構思取最簡單的微元。
先確定積分區域,把二重積分的計算轉化為二次積分的計算。但二次積分的計算相當於每次只計算一個變元的定積分, 利用對稱性。 積分區域是關於坐標軸對稱的。 被積函數也時關於坐標軸對稱的。
當f(x,y)在區域D上可積時,其積分值與分割方法無關,可選用平行於坐標軸的兩組直線來分割D,這時每個小區域的面積Δσ=Δx·Δy,因此在直角坐標系下,面積元素dσ=dxdy。可以看出二重積分的值是被積函數和積分區域共同確定的。
(3)被積函數演算法擴展閱讀:
當被積函數大於零時,二重積分是柱體的體積。
當被積函數小於零時,二重積分是柱體體積負值。
在空間直角坐標系中,二重積分是各部分區域上柱體體積的代數和,在xoy平面上方的取正,在xoy平面下方的取負。某些特殊的被積函數f(x,y)的所表示的曲面和D底面所為圍的曲頂柱體的體積公式已知,可以用二重積分的幾何意義的來計算。
D. 雙重積分怎麼計算的,有例題,希望能解釋一下演算法謝謝(如圖中的題)
把二重積分化成二次積分,也就是把其中一個變數當成常量比如Y,然後只對一個變數積分,得到一個只含Y的被積函數,再對Y積分就行了。
x,y並不成函數關系,要是積分區域是由比如說1<=x<=2,y=f(x),y=g(x),所圍成的話,那麼就要先對y積分其中上下限就是f(x),g(x),要看誰的圖形在上誰就是上限,這時候的x就當做一個常數來看待(只含有x的項可以像提出常數一樣提到積分號外面來)。
這個第一次積分得到一個關於x的函數(這個結果是第二次積分的表達式),然後再對x積分,這時候上下限就是2和1。這樣就得到積分值了。
(4)被積函數演算法擴展閱讀:
當被積函數大於零時,二重積分是柱體的體積。
當被積函數小於零時,二重積分是柱體體積負值。
在空間直角坐標系中,二重積分是各部分區域上柱體體積的代數和,在xoy平面上方的取正,在xoy平面下方的取負。某些特殊的被積函數f(x,y)的所表示的曲面和D底面所為圍的曲頂柱體的體積公式已知,可以用二重積分的幾何意義的來計算。
E. 什麼是定積分幾何意義是什麼如何計算定積分
定積分
數學定義:如果函數f(x)在區間[a,b]上連續,用分點xi將區間[a,b]分為n個小區間,在每個小區間[xi-1,xi]上任取一點ri(i=1,2,3„,n),作和式f(r1)+...+f(rn),當n趨於無窮大時,上述和式無限趨近於某個常數A,這個常數叫做y=f(x)在區間上的定積分.記作/abf(x)dx即/abf(x)dx=limn>00[f(r1)+...+f(rn)],這里,a與b叫做積分下限與積分上限,區間[a,b]叫做積分區間,函數f(x)叫做被積函數,x叫做積分變數,f(x)dx叫做被積式.
幾何定義:可以理解為在Oxy坐標平面上,由曲線y=f(x)與直線x=a,x=b以及x軸圍成的曲邊梯形的面積值(一種確定的實數值)
常用演算法
(1)f(x)∈C([a,b]);
(2)x=ψ(t)在[α,β]上單值、可導;
(3)當α≤t≤β時,a≤ψ(t)≤b,且ψ(α)=a,ψ(β)=b,
則∫ _a^b(f(x) dx )=∫ _α^β(f(ψ(t))ψ′(t)dt)
分部積分法
設u=u(x),v=(x)均在區間[a,b]上可導,且u′,v′∈R([a,b]),則有分部積分公式
∫ _a^b(uv′dx)=uv│_a^b-∫ _a^b(u′vdx)
F. 積分法的演算法
求積分的方法;大多指求不定積分(或原函數)。按照不定積分的定義,每一個微分式dF(x)=ƒ(x)dx都對應著一個積分式:
積分法在這里是運用微分運算的基本法則及基本公式把積分號下的微分式改變形式,成為一個原函數的微分。例如
通常將被積分的初等函數ƒ(x)按其結構形式,分成若干類型(基本初等函數的簡單變形,有理分式,三角函數的有理式,一些根式等)來說明相應的計算過程。當原函數不是初等函數因而不能表示成基本初等函數的有限的分析表達式時,便說積分「積不出來」。例如積分
都「積不出來」。但可以認為這些積分式本身定義了新的超越函數。
G. 高中定積分的計算方法
∫(2,4)(-3)dx=(-3x)|(2,4)=(-3*4)-(-3*2)=-6
∫[0,1]x∧2dx=(1/3x^3)|(0,1)=1/3-0=1/3
計算定積分時,應該運用牛頓-萊布尼茨公式:如果函數f(x)在區間(a,b)上連續,並且存在原函數F(x),則
(7)被積函數演算法擴展閱讀
定積分是積分的一種,是函數f(x)在區間[a,b]上的積分和的極限。
這里應注意定積分與不定積分之間的關系:若定積分存在,則它是一個具體的數值(曲邊梯形的面積),而不定積分是一個函數表達式,它們僅僅在數學上有一個計算關系(牛頓-萊布尼茨公式),其它一點關系都沒有。
一個函數,可以存在不定積分,而不存在定積分,也可以存在定積分,而不存在不定積分。一個連續函數,一定存在定積分和不定積分;若只有有限個間斷點,則定積分存在;若有跳躍間斷點,則原函數一定不存在,即不定積分一定不存在。
H. 二重積分一共有多少種計算方法,分別是什麼求歸納
二重積分一共一般有三種計算方法:變限求積分,直角坐標化極坐標,作圖構思取最簡單的微元。
當f(x,y)在區域D上可積時,其積分值與分割方法無關,可選用平行於坐標軸的兩組直線來分割D,這時每個小區域的面積Δσ=Δx·Δy,因此在直角坐標系下,面積元素dσ=dxdy。可以看出二重積分的值是被積函數和積分區域共同確定的。
(8)被積函數演算法擴展閱讀:
對任意取定的x0∈[a,b],過點(x0,0,0)作垂直於x軸的平面x=x0,該平面與曲頂柱體相交所得截面為區間,z=f(x0,y)為曲邊的曲邊梯形,由於x0的任意性。
其中y是積分變數在積分過程中視x為常數。上述曲頂柱體可看成平行截面面積S(x)從a到b求定積分的體積。
I. 龍貝格演算法 被積函數(sinx)/根號下1-0.25*(sinx)*(sinx) c++程序代碼
#include<cstdlib>
#include<iostream>
#include<iomanip>
#include<vector>
#include<cmath>
#definePI3.14159265358979323846
usingnamespacestd;
doublefx(doublex);
typedefstruct
{
double(*pfn)(double);
doublebegin;
doubleend;
doubleeps;
boolsuccess;
doubleretval;
}RombergParam;
doubleRomberg(RombergParam&rp,boolshowdetail=false,intmax_iter=50);
intmain(intargc,char*argv[])
{
RombergParamrp={fx,0,PI/2,1e-5};
cout<<setprecision(12);
Romberg(rp,true);
if(rp.success)
cout<<"I[f]="<<rp.retval<<endl;
else
cout<<"overflow!"<<endl;
return0;
}
inlinedoublefx(doublex) //rad
{
returnsin(x)/sqrt(1-.25*sin(x)*sin(x));;
}
doubleRomberg(RombergParam&rp,boolshowdetail,intmax_iter)
{
intp_2=2;
doublemem[2][4]={0};
//;
mem[0][0]=(rp.end-rp.begin)/2*(rp.pfn(rp.begin)+rp.pfn(rp.end));
if(showdetail)
cout<<mem[0][0]<<endl;
for(inti=1;i<4;++i)
{
introw=i%2;
doublesum=0;
for(intj=1;j<=p_2/2;++j)
sum+=rp.pfn(rp.begin+(2*j-1)*(rp.end-rp.begin)/p_2);
mem[row][0]=.5*mem[row?0:1][0]+(rp.end-rp.begin)*sum/p_2;
for(intj=1;j<=i;++j)
{
mem[row][j]=mem[row][j-1]+
1./(pow(4.0,j)-1)*(mem[row][j-1]-mem[row?0:1][j-1]);
}
if(showdetail)
{
for(intk=0;k<=i;++k)
cout<<mem[row][k]<<' ';
cout<<endl;
}
p_2*=2;
}
for(inti=4;i<max_iter;++i)
{
introw=i%2;
doublesum=0;
for(intj=1;j<=p_2/2;++j)
sum+=rp.pfn(rp.begin+(2*j-1)*(rp.end-rp.begin)/p_2);
mem[row][0]=.5*mem[row?0:1][0]+(rp.end-rp.begin)*sum/p_2;
for(intj=1;j<4;++j)
{
mem[row][j]=mem[row][j-1]+
1./(pow(4.0,j)-1)*(mem[row][j-1]-mem[row?0:1][j-1]);
}
if(showdetail)
{
for(intk=0;k<4;++k)
cout<<mem[row][k]<<' ';
cout<<endl;
}
p_2*=2;
if(fabs((mem[row][3]-mem[row?0:1][3]))<rp.eps)
{
rp.success=true;
rp.retval=mem[row][3];
returnrp.retval;
}
}
//igreaterthanmax_iterindicatenoanswer
//error!!
rp.success=false;
rp.retval=-1;
returnrp.retval;
}
J. 龍貝格演算法求積 被積函數為 sin(2cosx)*(sinx)*(sinx) 寫C++程序代碼,求大神解
#include<iostream>
#include<cmath>
usingnamespacestd;
doublef(doublex)
{
returnsin(2*cos(x))*sin(x)*sin(x);
}
doubleT(doublen,doublea,doubleb)
{
doublesum=0;
for(inti=0;2*i+1<=n;i++)
{
sum+=f(a+double(2*i+1)/n);
}
if(n==1)return0.5*(f(a)+f(b));
return0.5*T(n/2,a,b)+sum*(1.0/n);
}
voidRomberg(doublea,doubleb,doublee)
{
doubleOld[10]={0.0},New[10]={0.0};
doubleh=b-a;
New[0]=h*(f(a)+f(b))/2.0;
intj;
for(inti=1;;i++)
{
for(j=0;j<i;j++)Old[j]=New[j];
New[0]=T(pow(2,i),a,b);
for(j=1;j<=i;j++)
New[j]=(pow(4,j)*New[j-1]/(pow(4,j)-1)-Old[j-1]/(pow(4,j)-1));
if(fabs(New[i]-Old[i-1])<e){
cout<<New[i];
break;
}
}
}
intmain()
{
doublea,b;
doublee;
cout<<"請輸入積分的下、上限:";
cin>>a>>b;
cout<<"輸入你要的精度:";
cin>>e;
Romberg(a,b,e);
}