有人可以告诉我如何在matlab中计算以下内容:
,其中
g = 9.91
As = 1000
z = 10
zv = 30
zD = 10
pz = 999
Az = 500
答案 0 :(得分:2)
嗯,有几种方法可以解决这个问题:
就像Rudy评论的那样,这是分析性的一个微不可或的整体,因为它是integral of a power(z 1 )。它的无限积分将是:
F(z) = (g/As)(z2/2 - zvz)pzAz
根据Second Fundamental Theorem of Calculus,通过将积分边界代入F(z)
来计算定积分,即:
ST = F(zd) - F(0) = (g/As)(zD2/2 - zvzD)pzAz
在MATLAB中,那将是:
ST = g / As * zD * (zD / 2 - zv) * pz * Az
ST =
-1.2375e+06
如果由于某种原因,您希望通过近似积分来数值计算,则可以使用trapz
函数:
dz = 0.001; z = 0:dz:zD;
y = g / As * (z - zv) * pz * Az;
ST = trapz(z, y)
ST =
-1.2375e+06
或用简单的总和做一个更粗糙的近似:
ST = sum(y * dz)
ST =
-1.2387e+06