1 名前:デフォルトの名無しさん [2006/11/10(金) 11:28:22 ] MATLAB 日本語版 www.cybernet.co.jp/matlab/ MATLAB 本家 www.mathworks.com/ Yahoo MATLAB dir.yahoo.co.jp/Science/Mathematics/Software/MATLAB/ MATLAB入門 feedback.mech.fukui-u.ac.jp/matlab/matlab0.htm MATLAB チュートリアル www-isys.eei.metro-u.ac.jp/~sho/pub/ttmatlab/Index.html
345 名前:デフォルトの名無しさん mailto:sage [2008/01/11(金) 15:54:33 ] ホントだwww頭悪くてすまそww ありです。
346 名前:デフォルトの名無しさん [2008/01/12(土) 16:46:00 ] plotで描ける線の種類を増やせないでしょうか? 6種類のデータを1枚の図に、白黒で書く、ということで困っています。
347 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 21:13:17 ] >>346 解決しないかも知れないけどマーカと併用するのはダメなんですか 線種で区別できる程に線が絡み合ってないのならそれでいけるのではないでしょうか
348 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 22:26:34 ] >>339 フォーマット変換のほうだと思います。
349 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 10:21:20 ] >>348 MATLABでなくていいなら、画像ビューワでも画像エディタでもいくらでもやりようがありそうだが。 何を、何故、MATLABでやりたいのか全然判らんのだよ。
350 名前:デフォルトの名無しさん mailto:sage [2008/01/15(火) 22:46:03 ] >>349 MATLABで画像処理の勉強をしろといわれ、つい2値化の画像を白黒だけの カラー画像に変えてやろうと思った。
351 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 00:07:40 ] まずおめーは、白黒だけのカラー画像とかわけわかんねーことをいうな カラー画像っつったらRGBとか3チャネルあるやつを普通は指すんだよ。
352 名前:デフォルトの名無しさん mailto:sage [2008/01/16(水) 00:15:23 ] あほす R == G == B のことだろ それより2値化の画像って何だ? 2値の画像だろ
353 名前:デフォルトの名無しさん mailto:sage [2008/01/17(木) 06:03:13 ] ステップ応答の試験をしてMATLABで伝達関数を出したいんですけど、 最小二乗でフィットさせるときの方法とかいうのが分からないので教えてください。
354 名前:デフォルトの名無しさん [2008/01/17(木) 12:20:28 ] テキストファイルの行数を事前に知る関数はないでしょうか?
355 名前:デフォルトの名無しさん [2008/01/17(木) 17:09:55 ] >336 エスパー回答すると、im2bw関数とかで2値化してしまった画像は、0が黒、1が白になります。 そしてどちらかの値しか取れない。 これをグレースケールの画像に変換したい場合は、0〜255の値を扱えるように拡張して、その後に掛け算をしてあげると良いです。 具体的には BW; % 2値化された画像 I = uint8(BW)*255; % グレースケール化された画像 な、感じです。 実際は、Image Processing Toolbox内のim2uint8とかいう関数が同じ事をしているよ。 RGB化したい場合はさらに [w,h] = size(I); CI = zeros(w,h,3); % カラーイメージを入れるための準備 CI(:,:,1) = I; % 赤に代入 CI(:,:,2) = I; % 青に代入 CI(:,:,3) = I; % 緑に代入 …でいいはず(うろ覚え
356 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 00:32:14 ] >>353 どういう関数系にフィットさせるの?
357 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 06:14:54 ] >>357 よくある1次遅れ、2次遅れ、むだ時間とかいうパラメータを使った低次元伝達関数です たとえば G(s) = Kωn^2 / (s^2 + 2ζωns + ωn^2) * e^(-τs) のパラメータを出したいんです
358 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 06:15:39 ] 安価ミス × >>357 ○ >>356
359 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 06:31:51 ] あ、あと私のMATLABにはSystem Identification Toolboxが入っていないのでこれを使わない方法を教えて欲しいです。
360 名前:デフォルトの名無しさん [2008/01/18(金) 08:58:30 ] そこまでわかっているのなら、最小自乗でフィットするだけじゃん ttp://www.wakayama-u.ac.jp/~miw/ApIp/01/2.html
361 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 10:53:24 ] 指数関数的に減衰していくデータにフィットさせたいのですが、このように非線形の場合どのようにやればよいのでしょうか? 対数プロットでは直線になるので、何か最小自乗法のような物は使えないでしょうか?
362 名前:デフォルトの名無しさん [2008/01/18(金) 17:47:29 ] fminsearch関数使えば?Simplex方による繰り返し計算だけど。
363 名前:デフォルトの名無しさん mailto:sage [2008/01/18(金) 19:14:34 ] 数学的には間違いだけれども、 対数変換して直線フィットすると、ある値が出る。 それを初期値に>>362 にしたがって、解を探す。
364 名前:デフォルトの名無しさん mailto:sage [2008/01/19(土) 12:02:15 ] >>360 ごめんなさい その最小二乗でだけっていうところが分からないでの聞きにきたんですよね・・・
365 名前:デフォルトの名無しさん [2008/01/19(土) 12:47:42 ] polyfit使えば一発。ただ原点に返って正規方程式を逆行列で解くのもありだな。
366 名前:デフォルトの名無しさん [2008/01/19(土) 14:03:31 ] >>364 MATLAB以前の問題なのか… >>365 polyfitって、フィットさせる式に制限があるからね。
367 名前:デフォルトの名無しさん [2008/01/19(土) 21:23:54 ] >>365 ployfitって単なる多項式しか出来ないんですよね >>366 MATLAB以前の問題かもしれないんですけど、 やるとしたらデジタルで出てきたデータをz変換してそれを行列使って最小二乗してやるということになるのでしょうか?
368 名前:デフォルトの名無しさん [2008/01/20(日) 15:18:25 ] だから単純なたとえばy = a*x^2 + …とか>>360 に書いてあることはわかるんだが、 伝達関数の場合のプロセスが分からないっていうことなのだが教えてもらえないのか? なにを調べたらいいか分からないからここに来たんだが
369 名前:デフォルトの名無しさん [2008/01/20(日) 18:50:24 ] >>368 あなたはどういうデータを持っていますか? 理論的には、どういう操作をしますか どういう式にあわせて、係数を推定したいですか?
370 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 19:08:25 ] わかった具体的に質問しよう まず>>357 のような伝達関数で出力されたデータを>>360 のような行列表記するとどうなるのか そもそもこのやり方以外に方法があるのならどういったものがあるのか ということをよければ教えてくれ
371 名前:デフォルトの名無しさん [2008/01/20(日) 20:11:17 ] 実空間で解いたらいいんじゃないの? 2次の遅れ系なら解は2つの指数関数の和だろ? それに入力パルス(今の場合e^(-τs) なのかな?)との叩き込み積分が掛かっているだけ。 それをコスト関数にしてfminsearchにかければいい。 行列表記ができるのはpolyfit関数なんかが使える線形な式のみじゃないの?
372 名前:デフォルトの名無しさん [2008/01/21(月) 13:58:02 ] 実空間でfminsearch使ったら出来そうだけど、ζの大きさによって式が変わるから、 せっかくz空間で来まった式で表現できるG(z)がもったいないなぁと思ったんですが、そんなものですか? あと、e^(-τ*s)っていうのはむだ時間を考えたときのです。いるかいらないかは実験データを見てから決めようと思うんですけど。 今functionの使い方を勉強してる段階ですが、fminsearchでやってみます。
373 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 23:06:45 ] 370==372 なのか? なにか教えてもらえると思うとすぐに下手に出るのか。
374 名前:372 [2008/01/21(月) 23:24:44 ] というよりイライラしていたら言葉が悪くなるんだよ
375 名前:デフォルトの名無しさん [2008/01/22(火) 21:13:48 ] 問題をあなたが理解していないのでは、と思わざるを得ない。 なぜなら、あなたが何をしたいのかが、伝わらないからである。 伝達関数の求め方はいろいろあるんだよ。
376 名前:デフォルトの名無しさん [2008/01/22(火) 23:54:33 ] 何をしたいか:伝達関数を出したい 教えて欲しいこと:伝達関数の求め方 求め方として最小二乗かなと思って>>353 と書き込んだんだがどこが伝わらなかったんでしょうか?
377 名前:デフォルトの名無しさん [2008/01/23(水) 09:50:12 ] >>376 それで伝わっていると思うのなら、 あんたの理解が甘い。 先生に教えてもらえ。
378 名前:デフォルトの名無しさん [2008/01/23(水) 13:29:48 ] linux(openSuSE 10.3)でmatlabを使おうとするとjavaのAssertionに引っかかって 死にます。java1.5だとそうなるらしいのですが、-nojvmというオプションを渡すと GUIなしで起動するという話もみました。でも_JAVA_OPTIONという環境変数に-nojvmを 渡しても、Matlabが起動しません。(matlabのactivationはまだできてない)。どなたか同様の問題を乗り越えた方はいませんか?
379 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 18:24:49 ] polarでMarkerSizeを変更する方法を教えてください
380 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 20:08:24 ] ふつうのグラフで軸をスケーリングするには AXIS([XMIN XMAX YMIN YMAX]) とすればできますが、 subplotを使ったグラフの軸をスケーリングするには どうしたらいのでしょうか?
381 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 21:17:09 ] >>380 同じ
382 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 21:51:14 ] >>381 同じでできるんですか? AXIS([XMIN XMAX YMIN YMAX])としてもできなかったので 聞きにきたんですが。もう一度試してみます。 もしこれでできない場合、他に方法はないでしょうか?
383 名前:デフォルトの名無しさん [2008/01/23(水) 23:35:12 ] >>382 subplot(211) plot(x,y) axis([xmin xmax ymin ymax]) % subplor(212) plot(x,y) axis([xmin xmax ymin ymax])
384 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 09:38:12 ] >>382 subplot(2,1,1); plot(x, y); set(gca, 'xlim', [xmin xmax]); set(gca, 'ylim', [ymin ymax]); でもいけるのでは?
385 名前:デフォルトの名無しさん mailto:sage [2008/01/24(木) 13:55:38 ] >>381 >>383-384 できました。ありがとうございました! 自分が馬鹿でした。 axis設定してからplotしてました。 plotしてからaxisなんですね。
386 名前:デフォルトの名無しさん [2008/01/27(日) 13:14:09 ] >>384 set(gca, 'xlim', [xmin xmax], 'ylim', [ymin ymax]); で桶では?
387 名前:デフォルトの名無しさん [2008/01/27(日) 18:20:12 ] 逆ラドン変換iradon()を使うとデフォルトでRampフィルタがかかってしまうのですが フィルタ無しの方法はありませんか? 海外のMATLABのヘルプでは値でNo filteringにできるそうなんですがバージョンが 古いのかバージョン7.2では出来ません。
388 名前:デフォルトの名無しさん [2008/01/27(日) 20:46:38 ] 逆投影なんかツールボックスを使わなくても数行でかけるのに(´・ω・`)
389 名前:387 [2008/01/28(月) 04:32:33 ] なんとかヒントでもよければ教えてもらえないでしょうか? 専門外のことなのでどうにもこうにもツールに頼ってしまってorz
390 名前:デフォルトの名無しさん mailto:sage [2008/01/28(月) 09:50:41 ] edit その関数 で、中身見てフィルタ部分カットしたのを書くのはどうですか?
391 名前:デフォルトの名無しさん [2008/01/28(月) 12:49:16 ] まあ、簡単に考えると配列の方をirotateで回転させ、そこに加算していけば2行で書けるんだけどね。 それで角度でループさせるの。 iradonの中を触るんだったら、Hというのがフィルター関数なので、この部分を取り去るか、1にしてしまうか。 勉強のために1から作りたいんだったら、C言語で出ている教科書を買って、ネチネチと移植してもいい。 おれは院の先輩の薦めで「SPECT画像再構成の基礎」(医療科学社)という本の中に出ているフーリエ変換法のプログラムを移植したよ。
392 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 00:08:17 ] グラフの大きさを変えるにはどうすればいいのでしょうか? いつもマウスでウィンドウのサイズを変えて 縦横比を見やすく調整しているんですか コマンドでできないでしょうか?
393 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 02:07:23 ] position
394 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 12:54:18 ] set(2,'position',[30 246 1120 420] って感じですね? できました! ありがとうございます
395 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 15:41:21 ] figure(1); print -deps 〜.eps のようにグラフをepsファイルに出力してるんですが その出力したepsファイルのサイズ(縦横比)を変えることはできないでしょうか? set 'position'でできるかと思ったらできませんでした。
396 名前:デフォルトの名無しさん [2008/01/29(火) 16:20:06 ] 自由落下した物体が床で跳ね返る時、速度の符号が 変わりますよね。その時ゼロクロッシングとかいう エラーでちゃいます。ゼロクロッシングの検知を 無効にするとうまくシミュレーションできません。 何でですか?
397 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 20:45:50 ] 483 名前:名無しさん@5周年[] 投稿日:2008/01/29(火) 16:04:56 ID: 自由落下した物体が床で跳ね返る時、速度の符号が 変わりますよね。その時ゼロクロッシングとかいう エラーでちゃいます。ゼロクロッシングの検知を 無効にするとうまくシミュレーションできません。 何でですか?
398 名前:デフォルトの名無しさん [2008/01/30(水) 16:50:48 ] set(gcf,'PaperPositionMode','auto')かな?
399 名前:395 mailto:sage [2008/01/30(水) 20:04:51 ] >>398 printに-zbufferとか-openglオプションってのを つけてみてもできなくて困っていたのですが ずばりそれでできました!ありがとうございます
400 名前:デフォルトの名無しさん [2008/02/05(火) 13:58:03 ] MEXをVisualC++2008ExpressEditionで 開発するときの設定の仕方ってどこか にありませんでしょうか?m(_ _)m
401 名前:デフォルトの名無しさん [2008/02/05(火) 17:04:41 ] x=[0:1000]に対応するf(x)が手元にあって 各xについてx-x/10<=x <= x+x/10の範囲でfの移動平均をとって平滑化をしたいんですが ループを使わない方法はないでしょうか?
402 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 21:10:33 ] 100*100*100のxyz空間を用意して,各点に対して同じ100*100*100のAという行列の値を カラーマップに対応する色で描画するにはどのようにすればいいのでしょうか? X = 1:100; Y = 1:100; Z = 1:100; [XX,YY,ZZ] = meshgrid(X,Y,Z); によってxyz空間とそれぞれの点に値を持つ100*100*100のA行列は用意できている状態です。 例えばカラーマップの範囲が0(青)〜10(赤)でありA(50,50,50)=10の場合 出力されるfigureの(50,50,50)の部分を赤に色付けしたいです
403 名前:デフォルトの名無しさん [2008/02/08(金) 03:53:49 ] Control System Toolboxを使われている方に質問です。 ゼロ次ホールドの連続時間伝達関数である、 H = (1-exp(-sT))/s ; T:サンプリング周期[sec] という表現をmatlab上で再現するにはどのようにしたらよいのでしょうか? s = tf('s'); を使って直接表現しようと試みたのですが、上手くいきませんでした。 連続時間システムの制御器の設計及びコンピュータへの実装の際に 使用したいと考えています。 よろしくお願いします。
404 名前:デフォルトの名無しさん [2008/02/08(金) 12:02:16 ] 構造体にセットしたデータをfwriteとかでバイナリファイルに書き込むのはどうしたら良いのでしょうか?
405 名前:デフォルトの名無しさん [2008/02/12(火) 21:18:32 ] 素人質問ですが教えていただければ幸いです。 10個の自動計測されたデータが列方向に並んでいるcsvファイルを csvreadで一気に読み込んだ後に(例えばAとする)、 10個の列要素に小分け(A1〜A10)しようと考えています。 各要素の1行目は説明なので2行目から最終行までを選択して取り込むには どうすればよいのでしょうか? 思いつきでA1=A(:,2:inf)とかしようとしたらエラーがでてしまいました。 多分while文とかでNaNがでるまで読み込み続けるとかすると思ったのですが 力尽きてしまいました。 やさしい人。お願い。
406 名前:デフォルトの名無しさん [2008/02/12(火) 21:48:36 ] infじゃなくってendじゃないの?
407 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 22:15:32 ] >>405 よく読まずに書いてしまうが、infではなくendを使ってみたらどう
408 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 23:12:03 ] >>2 請けた仕事について、2chで無料で意見伺う無神経さw というか綱渡りで仕事してるからけつに火がついてしまうのに懲りてないな。 ベンチャー高専隊
409 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 23:47:16 ] A(:,1)=[] で1列消せるはず
410 名前:405 [2008/02/13(水) 00:47:05 ] 407さん、ありがとうございます!おっしゃる通りで解決しました。 さらに色々触ってみて疑問が沸いたので厚かましく質問させてください。 (長文ですみません、誰も呼んでくれないだろうなぁ・・・) 例えば、 ----------------- time data1 data2 1 10 100 2 11 99 3 10 102 4 9 98 | | | ----------------- というデータをcsvファイルから読み込んで、 data1とdata2を1/1000倍してから csvファイルとかExcelファイルに上と同じ書式でE書き込もうとして 下記のコードを書いてみました。 結果、xlswriteではうまく動くのですが、csvwriteではエラーが出ました。 セル配列を使えなかったようです。 私が自宅で使っているMATLABはバージョンが古く(ver.6.5)、xlswriteが使えません。 できれば古いバージョンでも動くファイル処理関数で対応できないものかと思っています。
411 名前:405 [2008/02/13(水) 00:48:21 ] (続き)書いてみて失敗したコードです。ご指導お願いします!! ------------ clear all Alldata = csvread('csvsample.csv', 1, 0); Time = Alldata(2:end, 1); Data1 = Alldata(2:end, 2); Data2 = Alldata(2:end, 3); Data1 = Data1/1000; Data2 = Data2/1000; Dataset = [Time Data1 Data2]; Dataset_cell = num2cell(Dataset) Label = {'Time', 'Data1', 'Data2'}; Outdata = {Label ; Dataset_cell}; %xlswrite('newxls', Outdata) csvwrite('newcsv.csv',Outdata)
412 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 01:28:43 ] みなさんMATLABのfigureをWordとかPowerPointにはるのにどうしてますか? 今まではBMPで保存してXnViewの自動トリミングで余白を削ってはってました。 ただ、BMPだとWordでグラフを拡大縮小したりするとフォントがかすれたりして見た目がかなり汚くなります ベクターフォーマットのemfファイルで保存するのが一番きれいなのですが、グラフの余白を簡単に削る方法が見つからないです XnViewでもemfファイルを読み込めるんですが、XnViewで自動トリミングしてemfファイルに保存すると、 ファイルサイズが10倍以上になって、しかもビットマップデータみたいに拡大縮小すると汚くなります グラフの余白を簡単に削れてきれいに貼り付けられるうまい方法とかないですか?
413 名前:405 [2008/02/13(水) 02:19:36 ] 自己解決しました。スレ汚しすみませんでした。 泥臭く下記のように書いてみました。 データ整理するのにxlsreadとかxlswriteって便利だなぁと思いました。 --------- clear all Alldata = csvread('csvsample.csv', 1, 0); Time = Alldata(2:end, 1); Data1 = Alldata(2:end, 2); Data2 = Alldata(2:end, 3); Data1 = Data1/1000; Data2 = Data2/1000; Fid=fopen('newcsv3.csv', 'wt'); Label = {'Time', 'Data1', 'Data2'}; for i=1:length(Label) fprintf(Fid, '%s,', Label{i}); end fprintf(Fid,'\n'); Dataset = [Time, Data1, Data2]; [Rownum, Colnum] = size(Dataset); for i=1:Rownum for j=1:Colnum fprintf(Fid, '%d,', Dataset(i,j)); end fprintf(Fid, '\n'); end fclose(Fid);
414 名前:デフォルトの名無しさん [2008/02/13(水) 07:14:12 ] すいません、皆さんみたいにハッカーになるためにはどんなことが必要ですか?
415 名前:デフォルトの名無しさん [2008/02/15(金) 12:54:18 ] >>412 グラフの大きさを指定して、拡大縮小せずに使えるようにする
416 名前:デフォルトの名無しさん [2008/02/15(金) 15:21:13 ] MATLABでドロネー分割をつかって、3角形のパッチを利用した形状モデルを作っているのですが、パッチにテクスチャを貼り付けるにはどうすればいいでしょうか?
417 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 16:11:34 ] 3次元の立体形状から有限要素法用のメッシュを作り出す方法を教えてください
418 名前:デフォルトの名無しさん [2008/02/15(金) 17:19:00 ] テクスチャマッピングの仕方を教えて欲しいです。 わかりやすいサイトとかがあればお願いします。 よろしくお願いします。
419 名前:デフォルトの名無しさん [2008/02/15(金) 18:09:31 ] 要求が高いなぁw まず、www.google.co.jp。日本語以外のサイトも調べよう。
420 名前:デフォルトの名無しさん [2008/02/18(月) 22:58:56 ] 2次元のグレースケールの画像を、Z軸がピクセル値で3次元表示させたいんですけど、どうすればよろしいですかね?
421 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 04:52:22 ] >>420 surf
422 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 16:17:32 ] すいません, a = 'Hello World' を b[1] = 'Hello' b[2] = 'World' に分割するコマンドはありませんでしょうか.
423 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 16:40:36 ] doc regexp
424 名前:デフォルトの名無しさん [2008/02/20(水) 16:55:39 ] >>422 [ str,rem ] = strtok( a,' ' ); これで、最初のスペースまでの単語がstrに入り、残りがremに入る。 remの中をさらに切り分けたければこれを繰り返す。 str系の関数はC言語とほぼ同じだな。
425 名前:デフォルトの名無しさん [2008/02/21(木) 23:23:05 ] WAVファイルをパワースペクトル表示する方法を教えてください お願いします
426 名前:デフォルトの名無しさん [2008/02/22(金) 01:14:46 ] ぐぐれ
427 名前:デフォルトの名無しさん mailto:sage [2008/02/23(土) 23:13:43 ] ググっても見つからなかったんで質問させてください。 h1 = plot(x1) hold on h2 = plot(x2) h3 = plot(x3) ... といくつかのプロットを重ねた後、一つだけ(例えばx2のプロット)だけ消したい、または変更したいという場合、どうしたらいいですか? 全部プロットしなおせばいいんですが、ちょっと重い上に何度もやるプロットなんで、全部やり直すというのは避けたいんです。
428 名前:427 mailto:sage [2008/02/23(土) 23:15:57 ] 書き忘れてました。プロットツールは使わず、関数で出来る方法で探しています。
429 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 10:19:58 ] www.google.co.jp/search?hl=ja&rls=GGGL%2CGGGL%3A2006-17%2CGGGL%3Aja&q=matlab+line&btnG=%E6%A4%9C%E7%B4%A2&lr=
430 名前:427 mailto:sage [2008/02/24(日) 22:00:13 ] >>429 ありがとうございます!
431 名前:デフォルトの名無しさん [2008/02/25(月) 11:05:16 ] グラフの凡例中で改行するにはどうすればよいでしょうか? plot(X1) hold on plot(X2) plot(X3) legend({'X1';'test'},'X2','X3') とタイトルや座標軸中の改行と同じように入力しても無理でした。
432 名前:デフォルトの名無しさん [2008/02/25(月) 13:33:55 ] 100枚の画像あってサイズが縦240横352なんですが 横の左50画素、右46画素をカットして横幅を256画素に、 30×30の位置の色と同じものを上に縦16×横240くっつけて 256×256の画像にしたいのですが、どうすればいいでしょうか?
433 名前:デフォルトの名無しさん mailto:sage [2008/02/25(月) 13:40:08 ] つ[ImageMagick] なんでもかんでもMATLABでやりたいならしらね。 つーか、MATLABエキスパートに任せた。
434 名前:422 mailto:sage [2008/02/25(月) 19:24:02 ] >>423 >>424 ありがとうございました! 6.5なので423での'split'は無理みたいでした.
435 名前:デフォルトの名無しさん [2008/02/25(月) 20:47:37 ] 質問です! ある画像の一部分(オブジェクト)の画素値の平均をとりたいのですが、 ラベル付けして、オブジェクトの全ピクセルの座標は取ったのですが、 for i=r(min):r(max) for j=c(min):c(max) heikin=mean2(Img(i,j,:)); だと、オブジェクトの形が四角ではないのでオブジェクトの外側の画素値まで 計算してしまいます。 何かいい方法がありましたら教えてください。
436 名前:デフォルトの名無しさん [2008/02/25(月) 21:04:19 ] >>435 オブジェクトがなんなのかわかりませんが、その内側と外側で違う特徴的なものをfindで引っかけてやればいいのでは? たとえばオブジェクトの外側が-100より必ず小さいのであれば m = find( Img( : ) < -100 ); heikin = mean( Img( m )); の2行でできるはず。 Imgの範囲を絞りたいのだったら、 i = r(min):r(max); j = c(min):c(max); m = find( Img( i : j ) < -100 ); heikin = mean( Img( m )); forループは極力使うのは止めましょう。
437 名前:435 [2008/02/25(月) 22:08:15 ] ご回答ありがとうございます。 バッチリ上手く行きました。 差しでがましいですが もう一つ質問が… 二値化の画像にラベル付けをしてあるのですが、 ある座標を与えて、その座標を含むオブジェクトのラベル番号、 もしくはそのオブジェクトを構成している全座標を入手したいです。 [r,c] = find(bwselect(Img2,i,j)); これが僕の絞り出した答えでしたが無理でした。。 いいアイディアがありましたら教えてください。
438 名前:435 [2008/02/25(月) 22:08:54 ] ご回答ありがとうございます。 バッチリ上手く行きました。 差しでがましいですが もう一つ質問が… 二値化の画像にラベル付けをしてあるのですが、 ある座標を与えて、その座標を含むオブジェクトのラベル番号、 もしくはそのオブジェクトを構成している全座標を入手したいです。 [r,c] = find(bwselect(Img2,i,j)); これが僕の絞り出した答えでしたが無理でした。。 いいアイディアがありましたら教えてください。
439 名前:デフォルトの名無しさん [2008/02/26(火) 21:13:42 ] >>432 画像の読み込みをまずやってみよう
440 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 11:35:03 ] フルカラーを使ってのムービーを作成する際のコーデックは何がおすすめですか?
441 名前:デフォルトの名無しさん mailto:sage [2008/02/27(水) 13:22:39 ] 無圧縮AVI 後で別のソフトで変換
442 名前:デフォルトの名無しさん [2008/02/28(木) 22:32:06 ] 質問させてください! 統計的に(最小2乗法などを用いて)2次近似モデルを式として作成する関数を探しています。 例えば実験にて2つの入力を調整し、1つの出力が得られるものがあるとします。 そのときの計測条件を[x,y](2入力、ともにベクトル)、計測値を[z](1出力、ベクトル)としたときの 計測値Zに対するX,Yの2次近似モデルを作成したいのです。 アウトプットイメージとしては Z=係数*X^2+係数*Y^2+係数*X*Y+係数*X+係数*Y+係数 のような感じです。 プロの皆さん、どうか教えてください〜
443 名前:デフォルトの名無しさん [2008/02/29(金) 03:55:17 ] >>442 z=[ z1,z2,......,zn ] '、x=[ x1,x2,......,xn ] ' , y = [ y1,y2,......,yn ] ' とし z = A*x^2 + B*y^2 + C*x*y + D * x + E*y + F とすれば a = [ x.^2 y.^2 x.*y x y ones( length( x ),1) ]; x = [ A B C D E F] ' ; とおいて x = a\z; で解けるはず。未知数が6つなので、データ数が少なくとも6つ以上ないと無理だけどね。 重み係数を使う必要がある場合は、ノルムを最小にするようにしないといけないけどね。
444 名前:デフォルトの名無しさん [2008/02/29(金) 03:56:57 ] >>437 find関数の中は条件文じゃないと機能しないのでは?
445 名前:デフォルトの名無しさん [2008/02/29(金) 21:13:31 ] >>443 ありがとうございますー、やってみます!