Evaluate double integral using trapezoidal rule
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have an assignment to evaluate a double integral using trapezoidal rule. The first part was to evaluate a double integral using trapezoidal rule with limits 0 <= x <= 2, 0 <= y <= 1
I have a working script for that:
N = 100;
xh= 1.25;
x = linspace(0,2,N);
y = linspace(0,1,0.5*N);
dx = diff(x(1:2));
dy = diff(y(1:2));
[x,y] = meshgrid(x,y);
funk = exp(-10.*((x-xh).^2+y.^2)).*cos(y.*(x-xh));
funk(2:end-1,:) = funk(2:end-1,:)*2;
funk(:,2:end-1) = funk(:,2:end-1)*2;
out = sum(funk(:))*dx*dy/4;
disp(out)
Now for the second part the limits are 0 <= x <= 2, 0 <= y <= ((pi*x)/2)
How do I get y (line 4 in code) to take corresponding x values from the x-matrix to create the y-matrix? If I get that to work I shouldn't have to change anything else in the code right, or am I missing something?
0 commentaires
Réponses (1)
Sean de Wolski
le 15 Avr 2015
Modifié(e) : Sean de Wolski
le 15 Avr 2015
How about instead of re-linspacing:
y = pi*x/2
2 commentaires
Sean de Wolski
le 15 Avr 2015
x is a vector (output from linspace) so x multiplied my scalars will also be a vector.
Run it!
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!