与matlab集成的例子

时间:2012-09-15 17:49:31

标签: matlab calculus integral

有人可以告诉我如何在matlab中计算以下内容:

enter image description here

,其中

g = 9.91
As = 1000
z = 10
zv = 30
zD = 10
pz = 999
Az = 500

1 个答案:

答案 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