バコラー日記

人生は決して受け身になってはいけない。攻めるが勝ち!

    タグ:MATLAB

    • カテゴリ:
      このエントリーをはてなブックマークに追加 Share on Tumblr Clip to Evernote
    標本分散と不偏分散の違いについて調べたのでメモ。詳しく知りたい場合は下記リンクがよくまとめられていておすすめです。
    ・参考:母分散と不偏分散

    標本分散と不偏分散の使い分けはやりたい内容によります。

    サンプルについて言及したい場合は標本分散、その母集団について言及したい場合は不偏分散ですね。

    例えば、テストをやって、学級の中での偏差値を出したい場合は標本分散、その学級の結果をつかって全国の学生の学力の分布を言及したい場合は不偏分散といったところでしょうか?
    ・引用元:標本分散と不偏分散 - 数学 - 教えて!goo

    以上です。

    ちなみに、MATLABの分散(var)、標準偏差(std)はデフォルトだと「不偏分散」で処理しているみたいですね。
    分散 - MATLAB
    標準偏差 - MATLAB

    • カテゴリ:
      このエントリーをはてなブックマークに追加 Share on Tumblr Clip to Evernote
    MATLABで図を表示させまくるので、figureウインドウが大量に作成されるのでいちいち閉じるのが面倒ですよね。

    今まで1つずつクリックしてfigureを終了させていたのですが、figureを削除させるコマンドを探したらすぐに見つかったのでメモ。

    ■close - 指定した Figure を削除
    関数 close は、現在の Figure あるいは指定された Figure を削除します。またオプションで、関数 close 操作の実行に関するステータスを返します。

    • close
      現在の Figure を削除します (close(gcf) と同じ)。

    • close(h)
      h で指定された Figure を削除します。h がベクトルまたは行列の場合、関数 close は h で指定された Figure をすべて削除します。

    • close name
      指定された名前の Figure を削除します。

    • close all
      ハンドルが隠されていない Figure をすべて削除します。

    • close all hidden
      ハンドルが隠されているものも含め、すべての Figure を削除します。

    • close all force
      Figure をすべて削除します。これには、ウィンドウを閉じないよう変更された CloseRequestFcn の GUI も含まれます。

    • status = close(...)
      指定されたウィンドウが削除済みの場合は 1、そうでない場合は 0 を返します。

    ・引用元:指定した Figure を削除 - MATLAB

    とりあえず、close all は多用しそうです。

    • カテゴリ:
      このエントリーをはてなブックマークに追加 Share on Tumblr Clip to Evernote
    MATLABにてfigureに表示させた図を連番でPDF出力する簡単な方法が分からなかったので、自分でコードを書きました。

    dataを列毎に図にプロットしてPDFファイルに出力しています。



    "file1.pdf","file2.pdf","file3.pdf", ... という風に「for i=1:n」のループの回数だけ図をPDFファイルに出力します。

    他に良い方法があれば教えて頂けると嬉しいです。

    【参考】
    saveas (MATLAB Function Reference)
    strcat (MATLAB Function Reference)
    num2str (MATLAB Function Reference)

    • カテゴリ:
      このエントリーをはてなブックマークに追加 Share on Tumblr Clip to Evernote
    MATLABにてfigure(図)のx,y軸に平行に直線を引く方法を調べたのでメモ。

    ・参考:Weblogで本と戯れ言を : MATLAB Tips - 軸に平行に直線を引く

    ■X軸に平行な直線をプロット
    >> plot([0 1600], [20 20], 'r');

    第1引数がX軸の範囲,第2引数がY軸の範囲になります。
    Y軸の値を同じにしているためにX軸に平行な直線が引けます。

    数学的に書くと、「y = 20」の直線です。


    ■Y軸に平行な直線をプロット
    >> plot([100 100], [0 2000], 'r');

    同じく数学的に書くと「x = 100」の直線です。

    以上です。

    • カテゴリ:
      このエントリーをはてなブックマークに追加 Share on Tumblr Clip to Evernote
    MATLABで、csvファイル(カンマ区切り)の読み込みと書き出しをするコマンドを調べたのでメモ。

    ■書き込み
    csvwrite('filename',M)
    もしくは
    dlmwrite('filename',M,',')

    ■読み込み
    M = csvread('filename')
    もしくは
    M = dlmread('filename',',')

    ■部分読み込み
    M = csvread('filename',row,col,range)
    もしくは
    M = dlmread('filename',',',range)

    ※rangeは省略可。指定する場合[始点行,始点列,終点行,終点列]
    ※ここでのrow,col,rangeにおいてはなぜかMATLAB標準の1から始まるインデックスではなく1列目が0で表されるので注意!!

    ・引用元:初心者によるMATLABメモ| CSV形式のデータの読み書き

    csv形式のデータを読み込む/書きだすので、'filename'は'data.csv'という風に書くといいかと思います。

    以上です。

    このページのトップヘ