【发布时间】:2012-09-15 17:49:31
【问题描述】:
有人可以告诉我如何在matlab中计算以下内容:
在哪里
g = 9.91
As = 1000
z = 10
zv = 30
zD = 10
pz = 999
Az = 500
【问题讨论】:
-
你知道这在分析上是微不足道的吗?
-
请注意,给
z赋值是没有意义的,因为它是积分变量。
有人可以告诉我如何在matlab中计算以下内容:
在哪里
g = 9.91
As = 1000
z = 10
zv = 30
zD = 10
pz = 999
Az = 500
【问题讨论】:
z赋值是没有意义的,因为它是积分变量。
嗯,有几种方法可以解决这个问题:
就像 Rudy 评论的那样,这是一个微不足道的分析工作,因为它是 integral of a power (z1)。它的不定积分是:
F(z) = (g/A<sub>s</sub>)(z<sup>2</sup>/2 - z<sub>v</sub>z)p<sub>z</sub>A<sub>z</sub>
根据Second Fundamental Theorem of Calculus,将积分界代入F(z)计算定积分,即:
S<sub>T</sub> = F(z<sub>d</sub>) - F(0) = (g/A<sub>s</sub>)(z<sub>D</sub><sup>2</sup>/2 - z<sub>v</sub>z<sub>D</sub>)p<sub>z</sub>A<sub>z</sub>
在 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
【讨论】: