【发布时间】: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 是错字吗?