復化辛普森公式求二重積分matlab原始碼及例題

2021-10-06 22:48:50 字數 1514 閱讀 7744

%%%

%%%%

%%%2020.6.5%

%%%%

%%%%

%%%%

%%%%

%%復化simpson公式求二重積分%%%

%%%%

%%%%

%%%%

%%%% liu deping %%%

%%%%

%%clear all;%%

%被積函式及積分上下限匯入;

s=input

('請輸入函式表示式:f = '

,'s');

f=inline

(s);

a =input

('請輸入積分變數x左邊界a的值:');

b =input

('請輸入積分變數x右邊界b的值:');

c =input

('請輸入積分變數y左邊界c的值:');

d =input

('請輸入積分變數y右邊界d的值:');

h1 =

input

('請輸入積分變數x步長h1的值:');

h2 =

input

('請輸入積分變數y步長h2的值:');

m=round

((b-a)

/h1);n=

round

((d-c)

/h2);%

%%係數表t,t[i,j]為復化梯形公式的係數;

t=zeros

(m+1

,n+1);

r=[1,

4,1;

4,16,

4;1,

4,1]

;for p=

0:m/2-

1for q=

0:n/2-

1for i=1:

3for j=1:

3t(i+2

*p,j+

2*q)=t

(i+2

*p,j+

2*q)+r

(i,j)

; end

endend

endfprintf

('係數表:');

t%%%計算各二維節點函式值,並存放於矩陣f中;

f=zeros

(m+1

,n+1);

for i=0:m

for j=0:n

f(i+1

,j+1)=

f(a+i*h1,c+j*h2)

;

endend %%

%結果輸出;

format long

;fprintf

('各節點函式值;')f

fprintf

('復化simpson公式計算結果;'

)snm=

(b-a)

*(d-c)/(

9*m*n)

*sum

(sum

(t.*f)

)

復化梯形公式求二重積分matlab原始碼

這段 具有很好的互動性和通用性,將 複製到matlab編輯器之後,按照提示操作即可。傻瓜式操作,結果一目了然 2020.6.5 復化梯形公式求二重積分 liu deping clear all 被積函式及積分上下限匯入 s input 請輸入函式表示式 f s f inline s a input ...

matlab二重定積分 二重積分 matlab

第六章 用matlab 計算二重積分 由於二重積分可以化成二次積分來進行計算,因此只要確定出幾分區域,就可以反覆 使用int 命令來計算二重積分。例6.4.1 計算二重積分yd ixedxdy d是由直線 x 0,y 1,y x 所圍區域 解該積分可以寫成yy idyxe dx或yy idxxe d...

用python求一重積分和二重積分

首先是對一元函式求積分,使用scipy下的integrate函式 from scipy import integrate def g x return 1 x 2 0.5 用integrate下的quad函式可以同時求出積分結果和誤差 res,err integrate.quad g,1,1 1和1...