【问题标题】:Octave- Negative step functionOctave-负阶跃函数
【发布时间】:2019-03-17 09:23:19
【问题描述】:

我正在尝试编写代码来绘制负阶跃函数(当 t*=t* 时等于某个值的函数)。我想要一个代码,我可以自己更改步进的幅度和步进发生的时间。我尝试了以下功能,但它不适合我正在寻找的内容:

  x = zeros (size (t));
  ind2= t<1000;
  x(ind2)=0;
  ind = t >= 1000 & t < inf;
  x(ind) = -20*10^-5;
  endfunction

有人可以建议我并回答吗?谢谢

【问题讨论】:

  • 为什么不适合?代码有什么问题?它有一些冗余,但应该可以工作。注意可以写-20e-5,不需要写-20*10^-5

标签: octave


【解决方案1】:

这行得通吗?

clear;clf;

## usage: Pristep = Heaviside (t,tstar,amplitude)
##
##
function Pristep = Heaviside (t,tstar,amplitude)
  Pristep=zeros(size(t));Heavisideon=find(t>tstar)
  Pristep(Heavisideon)=amplitude*ones(size(Heavisideon));
endfunction

%% example:

nt=101;t=linspace(-10,10,nt);
plot(t,Heaviside(t,pi,-exp(1)))

【讨论】:

  • 您可以删除findonesPristep(t&gt;tstar)=amplitude 将起作用。
  • 不行,因为我没有包含 Heaviside 函数的包。
  • 对不起,Heaviside函数是我给你的脚本的一部分(从三行cmets开始),你应该可以剪切和粘贴我写的内容,它会按原样运行。
猜你喜欢
  • 2012-10-16
  • 1970-01-01
  • 2015-10-27
  • 1970-01-01
  • 1970-01-01
  • 2022-07-07
  • 2020-11-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多