首页 > 解决方案 > 如何用 Matlab 向量化阶跃函数

问题描述

我已经使用面向对象和矢量化代码实现了一个参数阶跃函数,但某些结果存在不一致。代码如下:

classdef A6
   properties
      eps
   end
   
   methods
      function Y = value(obj,X)
         Y=double(X>=0 & X<=0.3)...
             +double(X>0.3 & X<0.4)*obj.eps...
             +double(X>=0.4 & X<=0.6)...
             +double(X>0.6 & X<0.7)*obj.eps...
             +double(X>=0.7 & X<=1);
      end
   end
end

我使用 eps=0.8、dx=1/20 和 X=(dx:dx:1-dx) 测试了该函数。在计算 Y=value(a,X), X(6)=0.3 但 Y(6)=0.8 时,根据前面的不等式,我应该期望结果为 1。任何帮助将不胜感激。

标签: functionvectorizationstep

解决方案


推荐阅读