为什么绘制此方程式不能生成正确的曲线?

时间:2018-09-13 14:05:36

标签: matlab octave trigonometry

目的是绘制以下方程式:P * sin(x)/ x + cos(x),对于P = 1.6且x [0,5]中的x,忽略绿色填充区域,应看成像这样的东西:

enter image description here

但是,通过以下代码:

x = 0 : 0.01 : 5;     % ka/pi, where k-wavevector, a-lattice spacing.

P = 1.6;              % 2*m*U_0 / hbar^2.
rhs =  P * sinc(x*pi) + cos(x*pi);
rhs2 = P * ( sin(x*pi) / x*pi) + cos(x*pi);

plot(x, rhs, '--b', x, rhs2, 'b', x, -1*ones(size(x)), 'r', x, 1*ones(size(x)), 'r')
axis([0 5 -3 3])
xlabel('ka/pi')
legend('P*sinc(x) + cos(x)', '(2mU_0b)/(hbar^2) * sin(ka)/ka + cos(ka)', 'y = -1', 'y = 1')

我现在得到的是:

enter image description here

我在这里做错了什么?


我使用的是Windows 10 Octave-4.2.1

0 个答案:

没有答案