我正在尝试在积分“Ufluid方程”上实现循环。但是我无法成功地进行正确的循环。这个大问题如何使用限制因为范围在每一步都不同。 任何身体帮助我为这些计算制作循环。
U=3.888889
H=0.25
r = linspace(-0.125, -0.0416);
Ufluid1= 1.5*U*(1.0 - (2.0*r/H).^2);
A1=sum(Ufluid1,2)/((-0.125)-(-0.0416))
r = linspace(-0.0416, 0.0416 );
Ufluid2= 1.5*U*(1.0 - (2.0*r/H).^2);
A2 =sum(Ufluid2,2)/((-0.0416)-(0.0416))
r = linspace(0.0416, 0125 );
Ufluid3= 1.5*U*(1.0 - (2.0*r/H).^2);
A3=sum(Ufluid3,2)/((0.0416)-(0125))
提前致谢
答案 0 :(得分:2)
如果您想将其作为循环,则可以使用单元格。但是,等式看起来不是一个整数,您必须考虑积分元素的宽度。另外,我认为需要调整linspace。但是关于循环,请尝试:
U=3.888889
H=0.25
A = 0;
r{1} = linspace(-0.125, -0.0416);
r{2} = linspace(-0.0416, 0.0416);
r{3} = linspace(0.0416, 0.125);
for k = 1:length(r)
Ufluid = 1.5*U*(1.0 - (2.0*r/H).^2);
A=A + sum(Ufluid,2)/((-0.125)-(-0.0416));
end
或者如果您想分别保存不同的部分:
U=3.888889
H=0.25
r{1} = linspace(-0.125, -0.0416);
r{2} = linspace(-0.0416, 0.0416);
r{3} = linspace(0.0416, 0.125);
for k = 1:length(r)
Ufluid = 1.5*U*(1.0 - (2.0*r/H).^2);
A{k}=sum(Ufluid,2)/((-0.125)-(-0.0416));
end
答案 1 :(得分:0)
我解决了问题解决方案
j=1
for i = -0.125:0.083333:0.083333;
r = linspace(i, i+0.083333);
Ufluid= 1.5*U*(1.0 - (2.0*r/H).^2);
Ufluid_A(j)=sum(Ufluid,2)/0.083333;
j = j+1;
end