double integration with loop
4 views (last 30 days)
Show older comments
José Anchieta de Jesus Filho
on 6 Mar 2020
Commented: José Anchieta de Jesus Filho
on 7 Mar 2020
thank you very much if anyone can help me.
so, I need to create a loop that calculates integrals at each point. Say I have the following function handle
D = @(x,y) x.*(Z(x,y).^2);
from that function, I need to calculate a double integral and create the following loop
int1 = @(y) integral(@(x)D(x,y),x1,x2,'ArrayValued',true);
int2 = integral(@(y)int1,y1,y2,'ArrayValued',true);
c1 = int2./g % g is a scalar number
int11 = @(y) integral(@(x)D(x,y),x2,x3,'ArrayValued',true);
int22 = integral(@(y)int11,y1,y2,'ArrayValued',true);
c11 = int22./g % g is a scalar number
int111 = @(y) integral(@(x)D(x,y),x3,x4,'ArrayValued',true);
int222 = integral(@(y)int111,y1,y2,'ArrayValued',true);
c111 = int222./g % g is a scalar number
.
.
.
i'm trying to do like this
x = 1:0.1:5
for i = 1:length(x)
D = @(x,y) x.*(Z(x,y).^2);
int1(i) = @(y) integral(@(x)D(x,y),x(i),x(i)+0.5,'ArrayValued',true);
int2(i) = integral(@(y)int1(i),y1,y2,'ArrayValued',true);
c = int2(i)./g
end
I need to plot a graph of c versus x
5 Comments
Walter Roberson
on 6 Mar 2020
p1 = @(r) integral(@(z1) dF(z1,r),z0,z0+e,'ArrayValued',true); % e is also a scalar
p1 is a function handle.
F = integral(@(r) p1,ri,re,'ArrayValued',true);
@( r) p1 is a handle to an anonymous function that accepts a single parameter and ignores the parameter and returns the function handle p1. You should be just using
F = integral(p1,ri,re,'ArrayValued',true);
Accepted Answer
darova
on 6 Mar 2020
Here is a shot
z0 = 0:0.001:0.03;
c = z0*0;
Brt = @(z1,r) z1+r;
e = 0.1;
ri = 0;
re = 1;
ro = 15;
v = 2;
dF = @(z1,r) 2.*pi.*v.*ro.*(Brt(z1,r).^2).*r; % v , ro are scalar numbers
for i = 1:length(z0);
F = integral2(dF,z0(i),z0(i)+e,ri,re);
c(i) = F./v;
end
plot(z0,c)
3 Comments
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!