MATLABプログラミング 質問箱 その2
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/11/10(金) 11:28:22http://www.cybernet.co.jp/matlab/
MATLAB 本家
http://www.mathworks.com/
Yahoo MATLAB
http://dir.yahoo.co.jp/Science/Mathematics/Software/MATLAB/
MATLAB入門
http://feedback.mech.fukui-u.ac.jp/matlab/matlab0.htm
MATLAB チュートリアル
http://www-isys.eei.metro-u.ac.jp/~sho/pub/ttmatlab/Index.html
0232デフォルトの名無しさん
2007/10/25(木) 22:13:34方法を教えてください
0233デフォルトの名無しさん
2007/10/25(木) 22:39:500234デフォルトの名無しさん
2007/10/26(金) 09:37:430236デフォルトの名無しさん
2007/11/01(木) 13:39:31specgramの逆の操作がしたいです。
X=specgram(x,128,8000);
で、
スペクトログラムXから音xを合成したいのですが、どうしたらいいですか??
0237デフォルトの名無しさん
2007/11/02(金) 00:57:30matlabじゃなくてoctaveの命令だったかも。
0238デフォルトの名無しさん
2007/11/02(金) 06:26:24計算すごく速くなる?
ベンチとかないかなぁ
0239デフォルトの名無しさん
2007/11/02(金) 19:57:08(例えば,パトカーのサイレン,人の叫び声等)
分類するソフトを個人的に作成しています.
とりあえずmatlabでスペクトル表示を行い,
様々なサウンドデータのスペクトルを見たのですが,
分類の条件を何にしようか考えています.
「パトカーのサイレンは○○Hzで特に高いピーク値を得られる」
などの特徴を分類する際の条件にできるかなと思ったのですが,
この他に,音を分類する上で有効な条件となるようなものを
ご存知の方がいましたらご教授お願いします.
0240デフォルトの名無しさん
2007/11/02(金) 20:58:500241デフォルトの名無しさん
2007/11/02(金) 21:45:160242デフォルトの名無しさん
2007/11/04(日) 12:40:22早速ですが質問させて下さい。
任意形状の2次元物体をメッシュ切りした上に、
コンターグラフの様な物を描かせたいのですが、
どなたか出来る方法をご存じないでしょうか?
宜しくお願いします。
0243デフォルトの名無しさん
2007/11/04(日) 19:30:340244デフォルトの名無しさん
2007/11/05(月) 20:40:09SIM
0245デフォルトの名無しさん
2007/11/07(水) 10:02:25ループとsum関数を使えばすぐに出来るんですがね
0246デフォルトの名無しさん
2007/11/07(水) 10:05:37Image Processing Tool Boxだったかにあるよ。座標変換してからinterp2に流し込めばすぐにできるけどね。
0247デフォルトの名無しさん
2007/11/07(水) 22:42:27じゃぁ、ループとsum関数を使えば?
0248デフォルトの名無しさん
2007/11/08(木) 01:47:43matlab ではできるだけループを使わないのが重要
速度がダンチ
0249デフォルトの名無しさん
2007/11/08(木) 05:18:32B=A(1:2:end,1:2,end)+A(2:2:end,1:2:end)+A(1:2:end,2:2:end)+A(2:2:end,2:2:end);
0250デフォルトの名無しさん
2007/11/08(木) 05:19:060251デフォルトの名無しさん
2007/11/09(金) 15:59:58SCRIPT anfisを関数として実行してみてください.
これを解決するにはどうすればよい のでしょうか?
一週間前ぐらいにMATLAB始めた者です。
0252デフォルトの名無しさん
2007/11/09(金) 20:08:08SCRIPT anfisを関数として実行してみてください.
0253デフォルトの名無しさん
2007/11/11(日) 22:32:56分からなさすぎてノイローゼになりそうです。
0254デフォルトの名無しさん
2007/11/12(月) 02:23:500255デフォルトの名無しさん
2007/11/12(月) 07:39:220256デフォルトの名無しさん
2007/11/13(火) 21:23:48set(h, 'xlim', [x1 x2]);
じゃダメなの?
0257デフォルトの名無しさん
2007/11/16(金) 21:18:38MATLABに変換したいのですが、手書き以外で
何かいい方法あったら教えてください。
0258デフォルトの名無しさん
2007/11/16(金) 22:16:21周波数軸をどうやって設定すればよいかわからないのです。
パルスはガウシアンパルスでUWBなので5ギガ位まで表示させるつもり何ですが、うまくいかないのです。
どなたかお願いします。
0259デフォルトの名無しさん
2007/11/17(土) 02:50:17グーグルの使い方くらい知らないと
今後いろいろ苦労すると思うから覚えた方がいいよ。
0260デフォルトの名無しさん
2007/11/17(土) 18:16:24A = load("hoge.txt");
B = A(:,4);
みたいに、全部読んで目的列以外は捨てればいいんですが、
ファイルのサイズが大きいと、
全部読むのに時間がかかるので、効率化したいのです。
026118
2007/11/17(土) 23:13:55これってなぜなんでしょうか?
0262デフォルトの名無しさん
2007/11/18(日) 00:14:17dlmreadのマニュアル読むと良いよ。
0263デフォルトの名無しさん
2007/11/18(日) 13:49:03通常のデータであれば、最小二乗法ですが、対数データの場合はどのようにやればよいのでしょうか?
0264デフォルトの名無しさん
2007/11/18(日) 16:04:560265beta-infinite
2007/11/20(火) 13:16:10http://beta-infinite.blogspot.com/
0266デフォルトの名無しさん
2007/11/25(日) 19:51:530267デフォルトの名無しさん
2007/11/26(月) 18:14:01誰か請負いませんか?
価格は応相談、MATLAB使えてBP法分かる人ならそんなに難しい作業じゃないと思います
仕様とかその辺は請け負ってくれる人がいたらメールなりなんなりで連絡します
0268デフォルトの名無しさん
2007/11/26(月) 18:32:59月80万だったら考えるけどね。
それかNNツールキット買えばいいんじゃないの?
0269デフォルトの名無しさん
2007/11/26(月) 18:46:20層やニューロン数を完全に一般化した物でなければ速攻で作れるでしょ
もちろんfor文抜きでな
0270267
2007/11/26(月) 19:12:503時間未満:一律12000円
3時間以上:時給4000円
7時間以上:一律28000円
このあたりでよろ
おれ自身じゃ作れないので金で解決する
0271デフォルトの名無しさん
2007/11/26(月) 19:19:220272デフォルトの名無しさん
2007/11/26(月) 19:29:200273デフォルトの名無しさん
2007/11/26(月) 20:31:277時間以上28000円は安いな。
0274267
2007/11/27(火) 00:00:36秘密厳守の上その時点で断ってくれてもOKだから
0275デフォルトの名無しさん
2007/11/27(火) 00:06:40全然予算がないようだし学生の卒論か?
0276267
2007/11/27(火) 01:14:15まさにそれ
誰か頼むよ〜
0277デフォルトの名無しさん
2007/11/27(火) 01:19:35↑この最後のページにある問題を教えてください。
参考の為に問題文だけ書くと・・・
1)40名のクラスがあった時、すべての人の誕生日が異なる確立をモンテカルロ法で計算しなさい。
2)その結果を解析的に求めた結果と比較・考察しなさい。
よろしくお願いします。
モンテカルロ法が使えるプログラムはMATLABと書いてあったのでここに質問しました><
スレ違いでしたらすみません。。
0278デフォルトの名無しさん
2007/11/27(火) 06:40:060279請負人
2007/11/27(火) 11:53:450281デフォルトの名無しさん
2007/11/27(火) 18:59:28バカ学生に使いこなせるとは思えん
0282デフォルトの名無しさん
2007/11/28(水) 15:25:32同時にファイル内の関数名もあわせて変えてくれるとベスト
0283デフォルトの名無しさん
2007/11/29(木) 23:23:21このページの
h=plot(0,0,'.b','MarkerSize',30,'EraseMode','xor');
を使ってアニメーションを作る方法で、
同時に2つの色の違うボールを描画するにはどうすればいいのですか?
0284デフォルトの名無しさん
2007/11/29(木) 23:34:51面積を求めることは可能でしょうか。
ファイルをアップしましたので、よろしかったら見てみてください。
http://www.csync.net/service/file/index.html
(ファイル名はmatlabです)
画像の灰色の部分の面積を求めたいのですが、
積分のやり方もわからないのです(:_:)
あとMファイル(txtになってしまってます)のコピーが二つありますが、
mensekiの方は画像の元になるグラフが書けます。
danmenの方は、元のプログラムですが、
xの値を0〜0.5まで変えると赤と緑の線が一周するように
できているのですが、この二つの線と、黄色の線が作る面積を求めたいんです。
どんな方法でもいいのでどなたか教えてくださいm(__)m
0285beta-infinite
2007/11/30(金) 00:29:49「MATLABの極」にソースをアップロードしました。いかがでしょうか
http://beta-infinite.blogspot.com/
0286デフォルトの名無しさん
2007/11/30(金) 03:26:05MAT LABで書いたFigureのX軸Y軸をX→Y、Y→Xと逆にしたいのですが
どうすればいいんでしょうか?お願いします。
0287283
2007/11/30(金) 10:53:34ありがとうございます。
今までhold onとか使っていたんですが、こんなシンプルにいけたんですね。
ですが、シミュレーションしたものをアニメーションとして表示したいので
この方法だとどうしても描画が遅くてシミュレーションの結果通りに描画できません。
そこで>>283の方法は高速だということなので、
>>283のイレースモードxorを使う方法でのやり方を知りたいのです。
>>283の方法以外でも高速に描画できる方法をご存知の方はお願いします。
具体的にしたいことは、
・2つボールの0.001秒毎の位置が2つの配列に入っている。
・それをある時間dt秒毎に描画したい。
・1回の描画毎にpause(0.001*dt);などして時間に正確にアニメーション化したい。
自分のやり方や>>285さんのやり方だと
dtを大きくすればするほどアニメーションがゆっくりになってしまいます
0289MATLABの極
2007/11/30(金) 12:02:44PAUSE(n) は、n秒間停止して、その後実行を続けます
当然ですが、pause(dt)のdtを大きくすれば、
アニメーションがゆっくりになってしまいます
0290MATLABの極
2007/11/30(金) 13:29:41view(90,90)という関数を使えば、いいと思います。
http://beta-infinite.blogspot.com/2007/11/matlabfigurexyxyyx.html
に参考
0291283
2007/11/30(金) 13:44:06ですが、dtを大きくするとその分荒いサンプリングをすることになるので
描画時間がdt秒に比べて十分小さければ同じようなアニメになるはずですよね
コマ送りになるかどうかの違いはあれど。
でもやはり描画時間はそこまで小さくするのは無理なのでしょうか。
MATLABではこんなことはできないのでしょうか
0292MATLABの極
2007/11/30(金) 14:04:16現状の1コマの処理時間は、
= matlabの演算時間 + 描画の時間 + pause(dt)の時間
matlabの演算時間 + 描画の時間をなくする方法は、getframe,movie,movie2avi関数で
使うといいと思います。
http://beta-infinite.blogspot.com/search/label/%E3%82%A2%E3%83%8B%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3
に参考
0293デフォルトの名無しさん
2007/11/30(金) 15:21:360294MATLABの極
2007/11/30(金) 15:45:10MATLABの修業中です。覚え書きのブログだと思っていただければ、
0296デフォルトの名無しさん
2007/11/30(金) 17:13:210297デフォルトの名無しさん
2007/11/30(金) 17:57:240298デフォルトの名無しさん
2007/11/30(金) 21:40:020299デフォルトの名無しさん
2007/11/30(金) 22:31:07help fftとコマンドを打って出てきた説明を理解できなければ
回線を切って死ぬか教授に頭を下げて教えを請いなさい
0300デフォルトの名無しさん
2007/12/01(土) 04:36:12beta-infinite.blogspot.comだけは見ないように。
0301デフォルトの名無しさん
2007/12/01(土) 12:59:020302デフォルトの名無しさん
2007/12/01(土) 16:02:42プログラムで図を描かせたときにX,Y,Zラベルの刻みのラベルを
変更したいのですが、関数などプログラムで書かせることができるでしょうか?
少し伝わりにくい文章ですが、よろしくお願いします。
0303デフォルトの名無しさん
2007/12/01(土) 16:26:010304デフォルトの名無しさん
2007/12/01(土) 17:18:44関数名リネームって>>282が言ってるようなことか?
もしそうならファイル名と違ったらファイル名の方が優先なだけだから
コード中の関数名は適当でOK。
しかしそういう時は普通呼ぶ側のコードも変えないといけないから
どっちにしろ一括置換とかする程度の手間をはぶくのは無理なわけで
コードの頭の関数名変えるくらいの手間は取るに足らないと思うが。
0305デフォルトの名無しさん
2007/12/01(土) 19:52:21ここ見るといいよ
http://www.mathworks.com/support/tech-notes/1700/1702.shtml
0306デフォルトの名無しさん
2007/12/02(日) 18:39:33できる。
0307デフォルトの名無しさん
2007/12/04(火) 06:02:50NxD 派? DxN 派?where N is the number of vectors and D is the dimension of each vector.
どっちのほうが親切なんだろう?toolbox によって(人によって)違うんだよねぇ。
0308デフォルトの名無しさん
2007/12/04(火) 09:55:13simulinkである変数がある値になったときシミュレーションを終了したいのですが
どうすればできますか?
0309デフォルトの名無しさん
2007/12/05(水) 06:53:25figureウインドウを作成してgetframeで取り込む場合、スクリーンキャプチャをしているようで、
他の作業をすると、その画像がムービーの中に入ってしまいます。
そのためムービー作成中は何も作業ができません。
0310デフォルトの名無しさん
2007/12/05(水) 16:25:53X=dicomread('--.dcm');
[Y,map] = gray2ind(X);
imwrite(Y,map,'--.jpg','jpg');
とすると、colormapを使用したimshowの表示画像と異なってしまいます。
よろしくお願いします。
0311デフォルトの名無しさん
2007/12/05(水) 18:06:21要素の大きさが対角成分の要素の大きさの0.5から2倍の範囲なら1で置換、
それ以外なら0で置換する、
ってforループを使わずにできるでしょうか?
0312デフォルトの名無しさん
2007/12/05(水) 23:19:500313デフォルトの名無しさん
2007/12/06(木) 00:59:41対角行列なら対角成分以外すでに全部0やん
0314デフォルトの名無しさん
2007/12/06(木) 02:21:480315デフォルトの名無しさん
2007/12/06(木) 08:48:340316デフォルトの名無しさん
2007/12/07(金) 01:04:38僕はMatlabで音系のことをやってるけど、
wavwriteとかのデフォルトが行=サンプル/列=チャンネルなので、
ベクトルの集合はいつも縦長ベクトルを横にいくつか並べるというかんじ。
DxNってことになるのかな?
0317デフォルトの名無しさん
2007/12/07(金) 12:48:35u2=[ [ { arctan( ( 1-k ) * cot( u2*v*w ) -b*tan(u2*v*w) ) } /( 2*a) ] + ( r*π ) ] / [ { arctan( (1-k) * cot(v*w) -b*tan(v*w) ) } / (2*a) ]
a=sqrt(k)*(y/x-x/y)
b=k*(y/x)^2-(x/y)^2
matlab流の書き方じゃなくてすみません。
上記の連立非線型方程式からxとwを数値解として求めるプログラムをつくりたいのですが・・・
x,w 以外の値はすべて既知で、
u1,u2 は 1<u1<u2<=3 である任意の実数
q,rは 0または1
それ以外は任意の正の実数
分母は必ず正の値(になるはず)
最適解を求める際に、分子のarctan(・・・)の項が負の値になってしまう時にはqまたはrを「1」にしてπを加える
それ以外の場合にはq,rは「0」
と、こんな感じなのですが,どなたかサクっと作ってくださいませんでしょうか・・・
0318デフォルトの名無しさん
2007/12/12(水) 05:19:530319デフォルトの名無しさん
2007/12/12(水) 10:23:37一行にいくつ数があるかわからないときにどうやって読み込んだらいいんだ?
ちなみにこんなファイルフォーマット
1 1:8392 2:8384.23 4:9832.82
2 2:8329 3:8389.34 5:9328.82
3 4:9838
先頭の 1,2,3 は最終的には捨てる行数
1:8392
は要素[1]に8392という値ということ。そして最初の行は 3 を飛ばして 4 に行っている。
そして最後の行は、他の行と読みこむ数が違う。
0320デフォルトの名無しさん
2007/12/12(水) 10:36:230321デフォルトの名無しさん
2007/12/13(木) 04:09:16それを一発で君の思い通りに読んでくれる
ファイル読み込み関連の関数が貧弱じゃないやつって何?
煽ってるんじゃなくて単に興味があるから知りたい。
ExcelとかRとかできるんかな?
0322デフォルトの名無しさん
2007/12/13(木) 12:21:500323デフォルトの名無しさん
2007/12/13(木) 13:11:340324デフォルトの名無しさん
2007/12/13(木) 13:25:52フリーフォーマットで他のソフトで出力されたデータを取り込みたいのですが
textreadがうまくいかず…
1
1.00000E+00 2.00000E+00 3.00000E+00 4.00000E+00 -0.40763E-13 -0.22240E-04
2
5.00000E+00 6.00000E+00 7.00000E+00 8.00000E+00 -0.84319E-13 -0.22422E-04
と並んでるデータがありまして、このデータの6つ並んだうちの
後ろ二つを取り込んで行ベクトルにしたいんです。
で、textreadを用いて
[head1,data1,data2,data3,data4,data5,data6,] = textread('ファイル名.txt', '%u %f %f %f %f %f %f')
とやってみたものの、うまくいきません。
どうやら1の後ろに何かがあるとmatlabが認識し(ホントは改行だけのはず)
data1〜6 (%fの指定部分)に0をいれとります。
そして次の行に移行し、そこではきちんとデータを拾えてます。
周波数を表す 1 と 次の行の 1.00000E+00 を取り込むとき
%u %fだとフォーマットの指定に不足があるのでしょうか??
0325デフォルトの名無しさん
2007/12/13(木) 14:21:09textread は一行ずつ読み込むんだろ?
最初の行は先頭以降何もないから0をが入っていくと。
[data1,data2,data3,data4,data5,data6,] = textread('ファイル名.txt', '%f %f %f %f %f %f')
として、奇数行と、偶数行に後でわけるとかになるんじゃね?
0326デフォルトの名無しさん
2007/12/13(木) 15:38:43以前同様のものを読み込んだ際に行ごとでなかったんですよね
たとえばこんなデータ
1 1 0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.58726901E-12 0.55467926E-06
を読み込むとき、
[head1,head2,data1,data2,data3,space1,space1,data4,data5,data6] = textread('testATV.txt','%u %u %f %f %f %c %c %f %f %f');
で、data5,data6に
0.58726901E-12 0.55467926E-06
を格納できたんです。
これって、五つ目の%f(浮動小数点)のあとに%c(スペース)を読み込んでるので
行をまたいでも効果があることになると思うんです。
0327デフォルトの名無しさん
2007/12/13(木) 15:39:320.00000000E+00 0.58726901E-12 0.55467926E-06
0328デフォルトの名無しさん
2007/12/13(木) 15:41:181 1 0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.58726901E-12 0.55467926E-06
0329デフォルトの名無しさん
2007/12/13(木) 15:42:561番目、2番目の1の下にはスペースが存在していて
3番目の0.00000000E+00 と下の行の0.00000000E+00 は
列がそろっています。
0330ks
2007/12/16(日) 14:41:45教えてください。
========
1次遅れ+無駄時間要素を含む制御対象の限界感度法による
PIDパラメータをmatlab上で、どう求めるんですかね〜
========
教えてください。
========
0331デフォルトの名無しさん
2007/12/21(金) 01:33:00textreadにこだわらなくてもいいんじゃないの?
■ このスレッドは過去ログ倉庫に格納されています