我需要在matlab中绘制谐波振荡器的通风功能。 所以我知道:
V(x)=1/2momega^{2}x^{2}
我知道如何解决积分:
int{sqrt{frac{2E}{momega^{2}}}}^{x}sqrt{2m(E-V(x))}dx
灵魂来源:我太懒了再写这个功能所以从现在起我们称之为F(x)
F(x)= E/omega*arcsin(sqrt{momega^{2}\2E}}x)+E\omega*
*sqrt{1-momega^{2}/2E}x^{2}}+Epi\2omega
另外,我可以说最终功能(通风功能)看起来像这样:
psi = 2c(-1)^{n}\sqrt{2m(E-1\2*momega^{2}x^{2})}}sin(F(x)+pi\4})
其中c是const。
我手动完成了所有操作,但我真正需要的是在matlab中完成所有操作。我试图自己绘制,但由于某种原因它给了我一个线性函数。 代码:(m = 1,omega = 1,E = 0.5 * 10 ^ 6,c = 1,n = 0)
y = @(x) (0.5*10^6).*asin((10^-3).*x);
g = @(x) (0.5*10^6).*sqrt(1-(10^-3).*x);
a = 0.5*pi*0.5*10^6+pi/4;
k = @(x) 2.*sqrt(10^6-x.^2);
f = @(x) y(x)+g(x)+a;
x = -1e-10:-1e-9:-1e-6;
psi = @(x) k(x).*sin(f(x));
plot(x,psi(x))
我的计算或代码本身可能存在问题。无论哪种方式我都会感谢你的帮助!谢谢!
答案 0 :(得分:0)
我没有按照计算进行计算,但您看到线性函数的原因是您选择的x
范围。试试这个:
ezplot(psi);
你会看到振荡。