おかげさまでspamコメントが増えてきましたので、一応コメントを承認制にしました。基本的には承認します。
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
がんばったので、こちらにメモを残しておきます
・前提 1.101chのMEGデータから、一部抜粋してプロットしたい (101行(チャンネル)*780列(時間…サンプリング周波数600Hzなので、1200ms)) →plot(チャンネル番号,:)とか 2.同じチャンネルの、標準刺激の波形と逸脱刺激の波形を重ねあわせたい →plot(変数1(チャンネル番号,:),'b');hold on;plot(変数2 (チャンネル番号,:),'r')とか ('b'とか'r'とかってのは、色指定 bは青、rは赤 3.同じ条件については、1枚のグラフ上にプロットしたい subplot(n,m,l) 1枚のグラフをn行m列に分割し、lで指定した番号にグラフを載せていく。 subplot(4,4,1); plot(data1(4,:),'b');hold on;(plot(data2(4,;),'r'); subplot(4,4,2); plot(data1(11,:),'b');hold on;(plot(data2(11,;),'r'); … と延々(コピペを駆使しつつ)貼ってけば、できなくもない 4.そのほか、グラフに対していろいろ指定しておきたい 5.上記の件について、群(2)*条件(2)*時間軸(2)*逸脱条件(2)の16枚のファイルを作りたい というのを、手打ちでやるのは面倒なので、スクリプトで処理したい…と思って作ったのが以下のものです。%以下はコメント行 function lat(data1,data2) time=-100:10/6:1200;%x軸 time(781)=[];%781個できるので、1個消去 %ここまでは、x軸データが別にあればfunction lat(data1,data2,time)とかにしとけばOK n=16;%グラフ数を設定 k=[4,9,88,85,11,15,82,79,3,44,64,73,41,90,90,59];%チャンネル番号を指定 j=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16];%subplotの番号指定のために準備(いらないかも) for c=1:n;%c=1についての処理をendまで行い、次にc=2についての処理をendまで行い…というのを、c=n(つまり、16)になるまで繰り返す ch=k(c);%チャンネルデータ読み出し、 % kで設定したチャンネル番号の、c番目(というのは、前述のとおり、1,2,3と変動する)を拾う subplot(4,4,j(c)); %4行4列のグラフを表示する。以下のplotの位置を、j(c)で指定 plot(time,data1(ch,:),'b',time,data2(ch,:),'r');%それぞれのチャンネルの、data1(青)、data2(赤)の重ね合わせ %以下はグラフ表示の設定 axis([-100,1200,-100,70]);%([xmin,xmax,ymin,ymax]).xは時間、yはfT xlabel('time(ms)');%x軸のラベル ylabel('fT');%y軸のラベル grid;%グリッドの表示 title(ch);%グラフのタイトル(チャンネル番号を拾ってきている(上の、ch=k(c))ので、それを表示) legend('sta','lat',4);%凡例の表示、数字は位置(-1…領域外側、0…適当に、1…左上、2…右上、3…左下、4…右下) %ココマデ end end 時間軸データ及び逸脱条件による色の変化は、mファイルを別に作ることで設定しましたが、今思うと、 function p(data1,data2,xmin,xmax,data2color)とかにして、 … plot(time,data1(ch,:),'b',time,data2(ch,:),data2color); … axis([xmin,xmax,-100,70]); とかにしておけば、一個で済みましたね。明日試してみます。 PR |
カレンダー
カテゴリー
プロフィール
HN:
渡辺隼人
性別:
男性
ブログ内検索
アクセス解析
カウンター
|