1

我有一段代码,我在其中挑选出在给定阈值 d/2 内以 ds 间隔的 x 值。这可能不是最有效的方法,但除了我在这里提出的偶尔的错误之外,它工作正常,我想保留该方法。但是,MATLAB 似乎切断了此代码创建的向量的上端点。我的猜测是它有某种舍入误差并且没有达到上限。它适用于不同(但数量级相同)的 d 和 ds 值。

d=250e-9;
ds=1e-9;
xlim=0;

while xlim < ((d/2)-ds)
    xlim = xlim + ds;
end;

disp(xlim);

xlim 返回为 1.25e-7。然后,

xrel = -xlim:ds:xlim

这将显示 xrel,它从 -1.25e-7 开始,到 1.24e-7 结束。顺便说一句,正好有 250 个值(稍后在我的代码中,我认为这是一个奇数)。关于变通的任何想法?谢谢!

4

1 回答 1

0

如果您键入:格式长

在执行此操作之前,您会看到在您的程序之后 xlim 并不完全是 1.25e-7。这是一种不好的方法,请改为执行以下操作:

xrel = -d/2:ds:d/2

这将为您提供 251 长度的向量,其值从 -1.25e-7 到您想要的 1.25e-7。

于 2013-08-02T18:59:59.600 回答