ChangeLog 最新ページ

MATLAB - Shunk Memo

最終更新時間: 2008-11-01 15:44

2007-05-28 Mon

対数の数列 [MATLAB]

最近MATLABを使っている.
ふと,以下のような対数の数列を使いたいなと思った.

1 2 3 ... 10 20 ... 100 200 ... 1000
しかしながら,上述したような数列を作る関数が見当たらなかった.
なので,自作することにした.
以下にソースを示す.
また,ファイル名は logscale.m とする.
function scale = logscale(start,stop)
% function scale = logscale(start,stop)

step = start;
add  = start;

cnt=1;
while step <= stop
    scale(cnt)=step;
    cnt=cnt+1;
    step=step+add;
    if mod(step,add*10) == 0
        add = add * 10;
    end
end
使い方は
[src]
logscale(1,1000)
[src]
とすればよい.
ただし, logscale(2,1000) のようにするとうまく動かない.
スタート点の指定は 1, 10, 100, 1000のように10の乗数でなければならない.

書き方がなってなくてすみません.