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

これは、-1.25e-7 で始まり 1.24e-7 で終わる xrel を表示します。ちなみに、正確に 250 の値があります (後のコードでは、これは奇数値であると見なしています)。回避策に関するアイデアはありますか?ありがとう!

4

1 に答える 1

0

次のように入力する場合:

これを行う前に、xlim が手順の後で正確に 1.25e-7 ではないことがわかります。これは悪い方法です。代わりに次のようにしてください。

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

これにより、必要な -1.25e-7 から 1.25e-7 までの値を持つ長さ 251 のベクトルが得られます。

于 2013-08-02T18:59:59.600 に答える