Need to apply trapezoidal rule for double integration with an array by using the for loop
11 vues (au cours des 30 derniers jours)
I want to use trapezoidal numerical integration on the F1 for the variables r1 and r2 for which limits are 0 to 1, where z is a matrix. The direct command of integral2 cannot be applied due to the array function. I am stuck at first loop, where the error "Conversion to double from function handle is not possible" is showing. Please help. Thanks in advance.
Sargondjani le 23 Juin 2021
There are two things that need correction:
1) Remove the line i=i+1. This is what the for loop does. (also don't use "i" in general because i=sqrt(-1)))
2) The funciton handle. I will try to explain how function handles work. I have a function:
F = @(a,b,X1,X2)a*X1.^2 + b*X2.^2;
a,b are parameters. I will set them, for example a=1, b=2;
Now i want to loop over X1, given values of a, b, and X2:
X2 = 0.1;
y = NaN(1,m);
for ii = 1:m
X1 = ii*h;
y(1,ii) = F(a,b,X1,X2);
Now the value of F, given a,b,X1(ii),X2 are assigned to y(ii). I hope that clarifies something.