我正在为我正在做的一个项目简化一些计算。计算了三种不同孔隙面积、三种材料类型的三种模型的法向应力、应变、位移和剪应力、应变。我计算的每个参数总共应该有9个值。
我一直在AoP的*上得到错误,而且当我检查AoP的计算时,它只显示pi值,并且忽略它应该是第一个p^2值乘以π乘以25。
以下是我的代码:
% Height[m]
h= 0.0045;
%Length o[m]
l=0.0025;
%cross-sectional area [m]
a=h*l;
%Force [N]
f=1000;
% three pores [m]
p=[0.00150 0.00175 0.00200]
% three materials E used
E=[ 1.138e12 6.96e10 1.25e-3]
% three materials G used
G=[ 4.20e10 2.630e10 2.4e10]
AoP=25*(pi()*(p)^2)
for p=1:3 E=1:3 G=1:3
AoP=25*(pi()*(p)^2)
A=a-AoP
%Normal Stress
NSTRESS =f/A
%Normal Strain
NSTRAIN = NSTRESS/E
%Normal Displacement
NormalDisplacment = NSTRAIN*h
%Shear stress
SStress=f/a
%Shear strain
SStrain=SStress/G
%Shear displacement
SDisplacement = SStrain*h
end
disp (NSTRESS)
disp (NSTRAIN)
disp (NormalDisplacment)
disp (SStress)
disp (SStrain)
disp (SDisplacement)发布于 2015-04-19 17:30:44
您的循环正在将p(和E和G)重置为1、2和3,一次只能循环一次。您需要使用一个整数作为循环迭代器,然后使用该整数作为p的下标:
for ip = 1: 3
for iE = 1: 3
for iG = 1: 3
AoP=25*(pi*p(ip)^2)
end
end
end每次您想在计算中使用p、E或G时,都需要给它们各自的下标:
p(ip)
E(iE)
G(iG)圆周率后面的圆括号()不疼,但它们是不必要的。最后的disp语句也是不必要的,因为它们将显示在循环中。
https://stackoverflow.com/questions/29732792
复制相似问题