"Arrays have incompatible sizes for this operation" with for loop in integral2
1 次查看(过去 30 天)
显示 更早的评论
I am going to find a fixed point for some intergal represented function.
(this is just an example, I do not know if the fixed point exists or not) by the iteration:
My code is like that:
input = @(y,s) y;
N_it=10;
output=cell(1, N_it);
output{1}=input;
density = @(z,t,s) exp( -(z.^2)./(2.*(s-t)) ) ./ (sqrt(2*pi).*sqrt(s-t));
for i=1:N_it
input=output{i};
integral = @(y,t) integral2( @(z,s) input(z,s).*density(z-y,t,s),0,100,@(t)t,T,'RelTol',0,'AbsTol',1e-5);
n_output=@(y,t)integral(y,t);
output{i+1}=n_output;
end
For N_it =1, I can get the answer, there is no error. For N_it>1, when I find the value of n_output(1,1), there is an error "Arrays have incompatible sizes for this operation." and then a very long list indicating my problematic lines.
0 个评论
回答(1 个)
VBBV
2024-3-13
input = @(y,s) y;
N_it=10;
output=cell(1, N_it);
output{1}=input;
density = @(z,t,s) exp( -(z.^2)./(2.*(s-t)) ./ (sqrt(2*pi).*sqrt(s-t)));
for i=1:N_it
input=output{i};
integral = @(y,t) integral2( @(z,s) input(z,s).*density(z-y,t,s),0,100,@(t)t,T,'RelTol',0,'AbsTol',1e-5);
n_output=@(y,t)integral(y,t);
output{i+1}=n_output;
end
output(1,1)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!