1
我做了計算定積分與限制的腳本集成限正確(Matlab的):如何使用
0 <= x <= 2 and 0 <= y <= 1
但現在我想改變限制:
0 <= x <= 2 and 0 <= y <= sin((pi*x)/2)
功能:
function f = inte(x,y)
dz = 10;
f = exp(-dz*((x-1.25).^2+y.^2)).*cos(y.*(x-1.25));
end
這是我的腳本較早限制:
L = 100; M = L/2;
hx = (2)/L; hy = (1)/M;
x=[0:L]*hx;
y=[0:M]*hy;
Fx=[];
for i = 1:L+1
Fy=[];
for j = 1:M+1
f = inte(x(i),y(j));
Fy = [Fy f];
end
ycor = hy*(sum(Fy) - Fy(1)/2 - Fy(end)/2);
Fx = [Fx ycor];
end
ans = hx*(sum(Fx) - Fx(1)/2 - Fx(end)/2);
disp (ans)
當我嘗試更改代碼時,我似乎無法得到正確的答案。正確的答案應該是0.1560949 ...
L是x方向的步數,y方向的M數。 hx和hy是步長。 這真的讓我感到困擾。沒有,我只能使用命令integral2或陷阱作爲參考。
提前致謝!
您已經發布了原始第一個案例的腳本。在y是x的函數的第二種情況下,你嘗試了什麼? –