2012年5月28日月曜日

Octaveでbool型をstemする方法

Octaveさんでいろいろつまづいたので自分用にメモ。

Octaveでステップ関数を作る時は。
x= 1:10 >= 5
とか書くとステップ関数u(n-5)ができる。
しかしこれを直接
stem(x)
とするとエラーがでるはず。
これはxの中身が
[0,0,0,0,1,1,1,1,1,1]
となってるが、bool型で入っているため、int型(整数型)じゃない!と怒られてる。
そこでboolをintに直したいんだが、ググるとint32()とか有用そうなのがでてくる。
しかしstem(int32(x))をするとなんだか思うようにいかない。
画像の左側見ると分かるけど、なぜか原点から直線が伸びる…なにこれー。
int系変換じゃだめなのかなーとかあれこれ考えてると、
そういやCだと整数と浮動小数の計算は勝手に浮動小数に揃えたなぁ、なんてのを思い出す。
そこでOctaveでも何か数値演算すればboolもintに強制変換されるんでね?と考え、これがビンゴ。
stem(x*1)
とか書くとあっさり描画されました。めでたしめでたし。
一応isintegerとかislogicalで調べるとちゃんとint型になってるぽいです。

さて、こんな記事書いたら読みに来るのはきっとうちの大学生なんだろうなあw
GoogleAnalyticsで地域統計をニヤニヤしながら見るとしますか。

<ブログランキング参加中、よければ押してってね>
人気ブログランキングへ

0 件のコメント: