雲雀は高く空を舞い このページをアンテナに追加 RSSフィード

「ひよこは高く空を舞い」について

2006-06-01

[]良いコードとは? 良いコードとは? - 雲雀は高く空を舞い を含むブックマーク はてなブックマーク - 良いコードとは? - 雲雀は高く空を舞い 良いコードとは? - 雲雀は高く空を舞い のブックマークコメント

no titleより。

良いコードとは

  • fast
  • clear
  • readable
  • maintainable
  • efficient
  • short
  • memory-efficient
  • "clever"
  • reliable

とのこと。また、これをどう追求していくかってのはmatlabに限った話しでは無い.毎日5回、1000回ずつ唱えよ.

コメント欄にRubyのイタレータを使えばよりアドバンスな表現が簡単に実現できる、と書いてある.簡単かどうかは馴れがあるだろうけど、たしかに簡単かも.

[]構造体の呼び出しにおけるダイナミックフィールドリファレンス 構造体の呼び出しにおけるダイナミックフィールドリファレンス - 雲雀は高く空を舞い を含むブックマーク はてなブックマーク - 構造体の呼び出しにおけるダイナミックフィールドリファレンス - 雲雀は高く空を舞い 構造体の呼び出しにおけるダイナミックフィールドリファレンス - 雲雀は高く空を舞い のブックマークコメント

http://blogs.mathworks.com/loren/?p=6:titleより.

Matlabのデータ型の1つ,構造体のフィールドには.に続く文字列を指定することでアクセスできる.

allegro.height = 175;
allegro.weight = 62;

y = allegro.weight;

.()を使うことで文字列を変数で指定できる.

property{1} = "height";
property{2} = "weight";

allegro.(property{1}) = 175;
allegro.(property{2}) = 62;

y = allegro.(property{2});

メリットとしては扱いやすいことや、分かりやすいことが挙げられる.複雑な構造体*1を使用する際にsetfield, getfield, evalを使うよりもよっぽど読みやすく分かりやすい.

追記

fieldnamesと言う関数があるとか.これはfieldnames(structure)とすることでフィールドの一覧をセル構造体として出力する.

[]sort & find sort & find - 雲雀は高く空を舞い を含むブックマーク はてなブックマーク - sort & find - 雲雀は高く空を舞い sort & find - 雲雀は高く空を舞い のブックマークコメント

no titleよりsortfindの使い方.

sort

sortデフォルトでは昇順に並び替える。しかし、オプションで並び順を明示することで昇順にも降順にも使用可能.

t2 = sort(t1, 'descend')
t3 = sort(t1, 'ascend')

another way (not recommended)
t4 = flipud(sort(t1));
//with no option, sort sorts by ascend

find

findでは条件に合うものを「n個」探し出す、と言った使い方が出来る.

n = 3;

x = rand(1, 100);
xTrue = find(x>.5, n)


cat::Matlab

*1:個人的には「複雑な構造体」が出る時点で何らかしら問題があるんじゃないかと思うけど

テクノラティプロフィール