matlab中的变化率

时间:2014-11-20 05:14:49

标签: matlab

我已经绘制了时间与theta之间的图表,当时间增加theta减少到一段时间它开始增加现在我想找到它正在减少的速率。方程式theta = exp(-t / tau)我必须找到tau?任何人都可以帮助我..

1 个答案:

答案 0 :(得分:0)

从您的问题中您并不完全清楚您认为自己的问题所在。但是,当我读到你的问题时,听起来你正试图将方程拟合到某些真实数据中。具体来说,它听起来像:(1)你有一些真实数据,(2)只有部分数据对你感兴趣,(3)对于那些有趣的数据,你想要将它与方程theta=exp(-t/tau)相匹配。

如果这确实是您想要的,那么您首先必须找到您认为应该适合该等式的那些数据点。我会绘制您的数据点,然后通过眼睛确定哪些是与您相关的。丢弃其余的。

接下来,您需要将它们与您的等式相匹配。由于你的方程式是指数式的,因此最容易找到" tau"是将其转换为线性方程。当你这样做时,你得到的是log(theta)= -t / tau'。或者,同样地说,log(theta) = -1/tau * t

如果您记录所有theta数据点并将它们与t进行绘图,则应该看到一条直线。如果这确实是与您的数据匹配的公式,则您的数据点应在log(theta) = 0.0处经过t = 0.0。如果是这样,您可以通过评估线的斜率来找到tau:slope = mean(log(theta)./t)。然后,tau = -1/slope

如果您的数据点没有经过零,则需要将它们移位一段时间,以便它们确实经过零。然后你可以评估斜率并获得你的tau值。

顺便说一下,这不是一个真正的Matlab问题。在计算上,这是一个非常简单的问题,所以如果Matlab对你来说是新的,你可能会比现在更难。它可以很容易地在Excel(或任何电子表格)或任何可能更容易使用的工具中完成。