Plot 使用倍频程绘制函数

Plot 使用倍频程绘制函数,plot,octave,figure,Plot,Octave,Figure,我是GNU倍频程新手,我想在[0:2000]范围内绘制函数psi: function y = H(x) if (x > 0) y = 1 else y = 0 endif endfunction function y = psi(s) t = 200 phiabs = 500 K = 1000 n0 = 1000 y = -n0 * e .^ (-(s - phiabs) / t) * H(s - phiabs) - K * H(s) *

我是GNU倍频程新手,我想在
[0:2000]
范围内绘制函数
psi

function y = H(x)
  if (x > 0)
    y = 1
  else
    y = 0
  endif
endfunction

function y = psi(s)
  t = 200
  phiabs = 500
  K = 1000
  n0 = 1000
  y = -n0 * e .^ (-(s - phiabs) / t) * H(s - phiabs) - K * H(s) * H(phiabs - s)
endfunction

如何做到这一点?

首先,您需要修改
psi
H
函数,使其能够执行,以便可以向其传递
s
值数组,并接收
y
值数组

function y = H(x)
    y = double(x > 0);
endfunction

function y = psi(s)
  t = 200
  phiabs = 500
  K = 1000
  n0 = 1000
  y = -n0 * exp(-(s - phiabs) ./ t) .* H(s - phiabs) - K .* H(s) .* H(phiabs - s)
endfunction
还请注意,您需要使用而不是
e.^()

然后,您将要使用在图形中绘制结果

s = 0:2000;
y = psi(s);

plot(s, y)

你说的“印刷”是什么意思?是否在命令行上显示值?在图形中绘制?在图形中绘制<代码>绘图~=打印