【问题标题】:plotting equation in matlab在matlab中绘制方程
【发布时间】:2014-01-30 15:17:47
【问题描述】:

我几天来一直在尝试在 matlab 中绘制方程,但我无法让它看起来正确。这是给学校的,所以我知道最终结果应该是什么样子。我得到了类似但不一样的东西。

这是我应该得到的情节:

在图片下它说我应该使用方程 5.8,但我认为不可能用它得到这条曲线,因为它只给出一个结果,并且在图中显示为一个点,这里是方程 5.8:

如果您阅读上面的前几行,我认为很明显存在打印错误,我应该使用公式 5.6(但我不确定)所以这里是公式 5.6:

方程所需的数据也在 5.6 以上给出。这是我的 Matlab 代码:

p1=1.581;
p2=-5.534;
p3=0.5523;
om1=1.214;
om2=0.001414;
om3=2.401;
c1=-0.3132;
c2=3.297;
c3=-2.381;
t=0:0.5:5

Ca=0.2132;
Ra=2.275;
V1=(p1*Ca*(sin(om1*t+c1)-om1*Ra*Ca*cos(om1*t+c1)))/(1+(om1^2)*(Ra*Ca)^2)
V2=(p2*Ca*(sin(om2*t+c2)-om2*Ra*Ca*cos(om2*t+c2)))/(1+(om2^2)*(Ra*Ca)^2)
V3=(p3*Ca*(sin(om3*t+c3)-om3*Ra*Ca*cos(om3*t+c3)))/(1+(om3^2)*(Ra*Ca)^2)
V=V1+V2+V3
plot(t,V,'.')

这是我得到的:

因此,在 t=0 时,我得到一个负数,而不是零,这同样适用于 t=4:5。我的错误是什么是错误的方程式还是我的代码不好?

【问题讨论】:

  • 您是否故意省略了指数项?此外,从标题到图 5.3,Ca 可能实际上等于 0.21321(在最后一个之前有一个奇怪的空格)——不确定这是否会有所不同。
  • 是的,它说我应该省略它,而且我没有 H 的价值,所以我不能把它放在 eqvasion 中,并尝试看看它会不会有什么不同。我还注意到 Ca 的不同值,并尝试在诊断上没有任何明显的差异,我认为这是错字,Ca 是 0.2132。抱歉英语不好,请帮忙
  • 如果您想要 V(t=0)=0,则 H 的值应该不难推导,因为 exp(-t/(Ra*Ca)) 是 1,而 t 为零。所以 H 将是 -(V1(1)+V2(1)+V3(1))。
  • 您的代码对我来说看起来不错。我只能认为情节实际上可能包含一个指数项。
  • Tnx 所以有人可以帮我合并它,因为我不知道 H 的值。它会让情节看起来像它应该吗?你也同意我应该使用 eqvasion 5.6 而 5.8 是错字吗?

标签: matlab plot


【解决方案1】:

这是一个使用你的代码的情节,除了我使用的

t=0:0.05:5;

这看起来与书中的人物非常相似。我同意指数项可能是差异接近于零的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多