MATLABプログラミング 質問箱 その1

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2006/10/21(土) 01:57:14
なぜそこでその関数名やら、どのように使ったのかを書かないのか。
日記ならご自分ブログでどうぞ
953デフォルトの名無しさん:2006/10/21(土) 01:59:10
んじゃ書いてみます.
fminsearchの初期値つまり求めたい変数に数百×数百(千だったかも)の行列を突っ込んだ.
954デフォルトの名無しさん:2006/10/21(土) 12:25:51
>>953
試してないけど fminsearch なら確かに妥当っぽい動作な気もする。
初期値からちょっと変えて計算、ちょっと変えて計算ってやるんだろうし。
955デフォルトの名無しさん:2006/10/21(土) 15:42:27
そういう関数もあるんだね.
optimization toolbox持ってないとダルイのね・・・
956デフォルトの名無しさん:2006/10/21(土) 15:59:15
最適化Tool boxほしいなぁ
957デフォルトの名無しさん:2006/10/22(日) 20:16:58
matlabにsleepに相当する機能はありませんか?
octaveだとあるのだが。
UNIX版matlabだと system('sleep 10'); なんてやってますが、
windows版でできる方法はないでしょうか。
958デフォルトの名無しさん:2006/10/23(月) 02:58:58
pause
959デフォルトの名無しさん:2006/10/23(月) 05:04:13
すみません、ハンドル関数オペレーター@を使いたいんですが、
次のように出てしまいます。どこがおかしいのかわかりません。
どなたかアドバイスいただけませんか。

>>f=@(x,y) x*y
??? f=@(x,y) x*y
|
エラー: "identifier"が見つかりません。"("が見つかりました。
960デフォルトの名無しさん:2006/10/27(金) 05:43:27
matlabで棒グラフを書くときに、それぞれの棒グラフの色を自由に設定する方法ってどなたか分かりますか?
デフォルトだと、青、緑、赤茶、みたいな設定になっていて、それを変えたいんです。
教えてください!!!お願いします!!!
961デフォルトの名無しさん:2006/10/27(金) 06:57:20
あ、すみません。もうひとつ。
棒グラフの軸の設定はどうやったらできるかわかりますか。

例えば、yの値を0から10までにしたい・・など・・。
962デフォルトの名無しさん:2006/10/29(日) 02:54:56
0 から pi までの(pi は含まない) pi/4 間隔のベクトル(数列)を楽に作るにはどうしたらいいでしょう?
やりたいことは
0:pi/4:pi
みたいなことなのですが、pi を含んでしまうもので。
963デフォルトの名無しさん:2006/10/29(日) 03:14:55
0:pi/4:pi-pi/4

じゃ駄目?
964デフォルトの名無しさん:2006/10/29(日) 04:57:25
うーん、本当は <= を < にするような方法を期待していたのですが、そういうもんでしょうか。
ありがとう
965デフォルトの名無しさん:2006/10/29(日) 22:43:30
行列データを可視化させたいのですが,
非負実数は黒く
負実数は白く
みたいなイメージのだしかたってありますか?
966デフォルトの名無しさん:2006/10/29(日) 23:05:52
俺はバカだから訳わかんね。こういう事かな。

a=rand(1,10)-0.5; %正負のある行列を用意
plot(find(a>0),a(find(a>0)),'*k',find(a>0),a(find(a<=0)),'*w') %正の数だったら黒く、負の数だったら白く*でプロット
967デフォルトの名無しさん:2006/10/29(日) 23:08:25
plot(find(a>0),a(find(a>0)),'*k',find(a<=0),a(find(a<=0)),'*w')
に訂正。ほんとにバカだ。ハハハ
968デフォルトの名無しさん:2006/10/29(日) 23:16:31
plotよりimagescとかimshowみたいな表示はないかしら
969デフォルトの名無しさん:2006/10/29(日) 23:19:24
>>966,967
にお礼言うのを忘れてた.ありがとう.
970デフォルトの名無しさん:2006/10/30(月) 07:54:48
動画のキャプチャー画像をまとめて処理しようとしてるんですが、
imreadすると自動的に縦×横×RGBの3次元配列になってしまいます。
これに1次元さらに加えて、それが何枚目の画像かを分かるようにするにはどうすればいいでしょうか?
971デフォルトの名無しさん:2006/10/30(月) 12:04:50
相関行列を「corrcoef」で求めた際、「警告: ゼロ割です」と出ます。
そのままその固有ベクトルを求めようとすると、
「??? エラー: ==> eig
EIG への入力は、NaN または Inf を含まなければなりません。」
と出ます。
どうしたらエラーを出さずに固有ベクトルを求めることができるのでしょうか?
972デフォルトの名無しさん:2006/10/30(月) 23:03:31
>>965
Aをその行列として,
imagesc(A, [min(A(:), max(A(:)))]);
colormap(gray);
973デフォルトの名無しさん:2006/10/30(月) 23:04:40
imagesc(A, [min(A(:), max(A(:)))]);

magesc(A, [min(A(:)), max(A(:))]);
に訂正
974デフォルトの名無しさん:2006/10/31(火) 09:29:26
>>960=961
色を全てを自由にって訳には行かないだろうが、
インスペクタでいじればOK.縦軸を0から10にするには
set(gca,'ylim',[0 10]);
カラーを直接いじる方法もあったがちょっと思い出せね。

>>970
4次元行列にしてもよし、セルを使ってもよし。
画像サイズが異なることを想定してセルにしたほうがいいな。
3次元データx,yがあった場合、
z{1} = x;
z{2} = y;
みたいな感じでOKよ。

>>971
相関行列にゼロ割りによるInfが含まれている。
相関行列計算式は省くが、分母が0になっていることが原因。
「EIG への入力は・・・」は言葉通り受け取ればよし。
つまり相関係数に0が含まれている公算が大だ。
回避する方法としては、入力行列に影響が出ない程度微細なノイズを
加えることが考えられる。詳しいデータ無いからこれ以上はわかんね。
975デフォルトの名無しさん:2006/10/31(火) 22:05:18
MATLAB6.5で

a='method'

と打ってみてびびった。
976デフォルトの名無しさん:2006/11/01(水) 18:24:37
matlabで%を使うとその行はコメントアウトになり、プログラムは
読み込まないと思います。

・・その%の使い方ではなく、文字として「%」を表示させたいのですが、
どうしたいいのでしょうか。。。
977デフォルトの名無しさん:2006/11/03(金) 11:04:36
%% とか ¥% とかじゃないの?
978デフォルトの名無しさん:2006/11/03(金) 23:26:19
>977
ありがとうございます。はい、¥%とか使ってしてみたんですが、うまく表示されなくて。。。

title('5%');
の場合はできるんですが、

title(sprintf('%d \%',j*5),'FontSize',12);
のように使うとできないんです・・・。

使っているVers.は7.0.1なんですが。。。

979デフォルトの名無しさん:2006/11/05(日) 12:34:40
4 8 16 32 64
みたいな等比数列を作りたいのですが、
2:3:19
的に楽にできる方法ってありますか?
980デフォルトの名無しさん:2006/11/05(日) 14:13:40
2 ^ (1:10) とかで。
981デフォルトの名無しさん:2006/11/05(日) 14:14:17
ごめん、ピリオド抜けてた。
2 .^ (1:10)
982977:2006/11/05(日) 14:15:07
>978
だから「%%」だってば。
983デフォルトの名無しさん:2006/11/06(月) 02:26:42
>981
なるほろけっと。とんくす
984デフォルトの名無しさん:2006/11/06(月) 02:27:39
matlab で開いているディレクトリをエクスプローラで開く、ってできないですかね?
もちろん  win の話です。
985デフォルトの名無しさん:2006/11/06(月) 02:28:16
あ、もちろん matlab からエクスプローラ起動して、って意味です。
986デフォルトの名無しさん:2006/11/06(月) 02:39:24
eval(['!explorer "' pwd '"']);

とかどう?今手元にMatlabないから試してないけど。
987デフォルトの名無しさん:2006/11/06(月) 04:37:54
>>986
ほぇー。そんな手があるとは。動いた。ありがとう。
988デフォルトの名無しさん:2006/11/06(月) 04:40:25
あ、
!explorer .
でできた。なんにしてもありがとう。
989デフォルトの名無しさん:2006/11/07(火) 00:36:06
公共交通機関に関する研究を行ってる者なのですが、
先日MATLABを使い始めまして
MATLABでどうにか公共交通機関のシミュレーションを行いたいと思っています。
線の上で四角が移動するというようなプログラムを作りたいのですがどうすればよろしいでしょうか?
よろしくお願いします。
990デフォルトの名無しさん:2006/11/08(水) 02:20:06
( ゚д゚) 、ペッ
991デフォルトの名無しさん:2006/11/08(水) 14:06:18
MATLABで筆跡認識のプログラムを作りたいと思っています。
先日MATLABを使い始めて、取り込んだ筆跡データをSOMでマップ化(分類)することには成功したのですが・・・
この先、どうやって認識させればいいのでしょうか?
誰か、アドバイスを宜しくお願いします。
992デフォルトの名無しさん:2006/11/08(水) 15:52:52
ほえ?学習できたんだから、同じように新データにたいして classification できるでしょ?
ってか matlab スレ。
993デフォルトの名無しさん:2006/11/08(水) 16:07:59
>>922
レスありがとうござます。
どこで聞けばいいのか分からなかったので、すいませんでした。
classificationってなんでしょうか?
あと、認識→認証の間違いでした。
994デフォルトの名無しさん:2006/11/08(水) 22:42:48
>>993
認識、認証は対した問題じゃないけど
Classification(分類)とClustering(クラスタリング)はかなり意味が違うこの分野の用語
>>991 でマップ化(分類)といっているけど、SOM は Unsupervised(教師なし)のはずで、
たぶん教師なしで、”クラスタリング”したんじゃないかと思う。
そこを説明なしで区別したかったので、分類という言葉を使いたくなかった。
995デフォルトの名無しさん:2006/11/08(水) 23:28:50
>>944
レスありがとうございます。
用語が全然分かってませんでした。
あと、質問文が間違ってました。
筆跡データをMATLABのSOM TOOLBOXというものを使い、クラスタリングしてマップ化したものから、
新たに筆跡データに入力して一番類似しているデータを探し出すのはどうしたらいいのでしょうか?
996デフォルトの名無しさん:2006/11/09(木) 02:56:37
ほえ?学習できたんだから、同じように新データにたいして classification できるでしょ?
ってか matlab スレ。
997デフォルトの名無しさん:2006/11/09(木) 02:57:20
ヒント:somtoolbox の autolabel
998デフォルトの名無しさん:2006/11/09(木) 10:19:42
(・∀・)
999デフォルトの名無しさん:2006/11/09(木) 12:06:53
(´ー`)y━・~~
1000(´・д・`)DOn'03 ◇JcpHA18Tqs:2006/11/09(木) 12:07:39
日テレはルパンにひどいことをしたよね(´・ω・`)
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。