MATLAB基础教程(9)——高级积分运算、二重积分
目錄
復(fù)習(xí)定積分(單變量)
二重積分
今日小結(jié)
復(fù)習(xí)定積分(單變量)
在之前,先復(fù)習(xí)一下之前學(xué)習(xí)的內(nèi)容。使用matlab求解定積分的步驟大概如下:
我們都知道:定積分是求解一個(gè)圖形與坐標(biāo)軸圍成的面積。而今天我們需要深入理解一下:定積分是求解兩條曲線之間圍成的面積,如果只有一個(gè)公式,比如x,我們可以理解成 x-0,y=x 這個(gè)函數(shù)減去了 y=0這個(gè)常數(shù)函數(shù),或者說,上面函數(shù)與x軸圍成的面積減去了下面函數(shù)與x軸圍成的面積(并且這個(gè)面積在x軸上方是正的,下方是負(fù)的),這樣我們就可以推廣,假設(shè)我們現(xiàn)在有兩條曲線,一個(gè)是sinx,一個(gè)是?,我們求在0-pi的范圍內(nèi),兩個(gè)圖形圍成的面積,容易知道,兩個(gè)圖形大概是這樣圍起來的:
PS: 上圖的代碼和講解如下
%% 目標(biāo)圖像clc;clear all; % 清除原先的東西x = 0:0.01:pi; % x的范圍是0-pi,以0.01為一個(gè)小分割點(diǎn)細(xì)分出一個(gè)范圍y1 = sin(x); % sinxy2 = exp(x); % e^xfigure; % 弄一個(gè)figure的框體hold on; % 保持這個(gè)窗體,保證后面的內(nèi)容都畫在了上面,hold off解除subplot(221); % 開辟子窗體,221:共2行2列,里面的第一個(gè)fill(x,y1,'r'); % 畫圖并填充顏色,變量是x,函數(shù)是y1,顏色是r,紅色title('y=sinx');% 設(shè)置標(biāo)題,必需先f(wàn)ill,才能添加標(biāo)題,否則會(huì)失敗subplot(222); % 開辟子窗體,222,共2行2列,里面第二個(gè)fill(x,y2,'b'); % b 藍(lán)色title('y=e^x');subplot(223); % 開辟子窗體,223,共2行2列,里面第三個(gè)fill([x, fliplr(x)],[y1,fliplr(y2)],'g');% 兩個(gè)函數(shù)直接填充顏色,每一個(gè)方括號(hào)代表一個(gè)函數(shù)的內(nèi)容title('兩個(gè)函數(shù)中間的部分');hold off;OK,那么我們就可以很容易的使用int()函數(shù)算出這樣一個(gè)定積分,代碼如下:
%% 對(duì)上面的函數(shù)進(jìn)行計(jì)算定積分syms x;f = 'exp(x) - sin(x)';res_int = int(f, x, 0, pi);disp(res_int);上面左邊是我手算結(jié)果,右邊是matlab計(jì)算結(jié)果,可見我算的還是很準(zhǔn)的哈哈哈哈哈哈哈。
二重積分
上面復(fù)習(xí)了定積分的計(jì)算和一般概念,下面我們看二重積分,先了解下二重積分是什么吧:
二重積分的一個(gè)概念是求體積(還有其他的,比如薄片質(zhì)量等,在這里先不談,先說體積的問題),那么明確概念其實(shí)就不難了,定積分求面積、二重積分求體積,那么這個(gè)體積是哪里的體積呢?
如圖,粉紅色的是z=f(x,y)的函數(shù)圖像,下面是地面的陰影部分,紅色的是邊界,這個(gè)體積就是粉色的頂部與底面陰影之間的一個(gè)曲頂柱體的體積,那這個(gè)體積怎么求呢?
在定積分中,我們把整個(gè)面積分成了無(wú)數(shù)個(gè)小面積,計(jì)算后累加,同樣的,在二重積分中,我們也采取同樣的方法,我們把這個(gè)柱體切成一個(gè)一個(gè)的小柱體,就像圖中的那個(gè)黃色柱體一樣,假設(shè)我們把整個(gè)底面分成了無(wú)數(shù)份,每一份的底面積都無(wú)限接近于0,假設(shè)這個(gè)底面積是d?,那么這個(gè)地方的高就是f(x,y),所以這個(gè)小柱體的體積就是 f(x,y)d?,我們只需要將這些小體積全部加起來,就能得到整個(gè)曲頂柱體的體積公式了:
??
并且我們很容易發(fā)現(xiàn),積分的區(qū)間其實(shí)就是底面,被積函數(shù)是曲面的公式。公式中各個(gè)符號(hào)在下圖中體現(xiàn):
現(xiàn)在,計(jì)算一個(gè)例子給大家看,假設(shè)底面如圖所示(灰色陰影部分):
先積分x(Y型)時(shí)區(qū)域可表示為:Dx = {(x,y)|0<=y<=1, y<=x<=1}。
先積分y(X型)時(shí)區(qū)域可表示為:Dy =?{(x,y)|0<=y<=x, 0<=x<=1}。
下面我們以X型為例,使用matlab計(jì)算曲面為 f(x,y) = xcos(y)的曲頂柱體的體積:
詳細(xì)的代碼以及注釋見下方:
%% 計(jì)算二重積分clear all;f = @(x,y)x.*cos(y); % 定義一個(gè)函數(shù)句柄,兩個(gè)變量分別是x,y% 這樣定義函數(shù)句柄時(shí),需要在所有的運(yùn)算前加一個(gè).(表示對(duì)應(yīng)元素各自計(jì)算,不按照矩陣的規(guī)則)ymax = @(x) x; % 根據(jù)0<=y<=x處,右方的y=x反解出y,res = integral2(f,0,1,0,ymax);% 計(jì)算二重積分的函數(shù)% integral2(fun, xmin, xmax, ymin, ymax)disp(res);最后,讓我們欣賞一下這個(gè)曲面的形狀吧:
代碼如下:
%% 看一看這個(gè)曲面吧[x,y] = meshgrid(0:0.001:1, 0:0.001:1);% 設(shè)置x和y的區(qū)間,以及細(xì)分程度z = (x.*cos(y)); % 使用一個(gè)z來代表這個(gè)函數(shù)mesh(x,y,z) % 畫出二維曲面圖像title('x*cos(y)')那么,今天就先到這里吧,三重積分留到下次在講解,謝謝觀看!
今日小結(jié)
今天我們學(xué)到了如下的知識(shí):
總結(jié)
以上是生活随笔為你收集整理的MATLAB基础教程(9)——高级积分运算、二重积分的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: groovy java_在java中使用
- 下一篇: jpane1_IDEA插件开发,Jpan