我正在尝试简化我正在进行的项目的一些计算。我必须计算三种不同孔面积和三种材料类型的三种模型的正应力,应变和位移以及剪切应力,应变。总的来说,我正在计算的每个参数应该有9个值。
我继续在AoP的*上得到错误,当我检查AoP的计算时,它只显示pi值并忽略它应该是第一个p ^ 2值乘以pi乘以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)
答案 0 :(得分:1)
你的循环正在将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)
在pi不受伤害之后,()
括号,但它们是不必要的。最后的disp
语句也是不必要的,因为它们将显示在循环内。