[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 09/22 10:39 / Filesize : 230 KB / Number-of Response : 899
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



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


717 名前:デフォルトの名無しさん [2008/09/09(火) 11:36:43 ]
はじめまして、今matlabの勉強をしている者です。

matlabのエディットウィンドウで、文字の挿入ってどうやるんですか?
現状では入力してある行に文字を挿入すると後ろの文字が消えてしまい、
全文入力し直しになってしまうのです、これをwordなどみたいに
文字を挿入したら、文が自動で後ろに移動してくれるようにできないですか?

また、同様にスペースキーも文字間のスペースをあけてくれず
文字を消してしまうのですが?どうしたらいいですか?

OSは vinelinux4
matalab v7.0.1 SP1です

718 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 22:12:45 ]
MATLABっていうか
キーボードのinsert

719 名前:デフォルトの名無しさん [2008/09/10(水) 13:58:00 ]
GUIを作成して、
ボタンを押すとシミュレーションが実行するようにしたんですが、
GUIなしでコマンドから直接実行した場合だと160秒くらいで終わるのに、
なぜかGUIからだと260秒もかかるんですが、
なんでこんなにかかると思いますか?
やってることはまったく変わらないですが・・・。

720 名前:133.43.185.64 mailto:sage [2008/09/10(水) 21:20:24 ]
>>719
全然見当がつかん。
プロファイラを実行した状態で GUI 経由でシミュレーションを行って、
時間のかかっている箇所を割り出してから相談してもらった方がよいと思われ。

721 名前:デフォルトの名無しさん [2008/09/11(木) 00:44:20 ]
>>720
アドバイスありがとう。
実はこういう経験あまりしてなかったんで、
プロファイラとか使ったことなかったんです。
ちょっと調べて割り出してみます。

722 名前:初心者 [2008/09/11(木) 01:43:15 ]
非常に低レベルなことで申し訳ないのですが、
Cでいうポインタのような概念はMatlabにはないのでしょうか?


723 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 01:54:01 ]
>>722
ないはずだよ
wikipediaにも書いてある
まあ、google codeとかmatlab centralで検索すれば
自作のポインタ関数出て来ても可笑しくないけど

724 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 02:15:40 ]
>>722
デフォはポインタ
渡された変数を編集しようとした時点でコピーが始まる

725 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 06:15:09 ]
>>722
何をしたいのかをはっきりさせて
それをMATLABではどうやるのか、と考える方がいいよ。

他の言語のやり方をそのまま持って来ようとしても
そうは行かない場合は多い。MATLABに限らず。



726 名前:デフォルトの名無しさん [2008/09/14(日) 02:33:41 ]
質問です。

例えば
3,6,4,5,2
4,15,7,5,3
6,4,4,7,3

のような行列があってノイズで15だけ値が大きい場合には、
それを周りの数字に近い値に矯正(たしか平滑?)するにはどうすればいいですか?
自分が知ってるやり方だと、ノイズも含め全ての成分が平均化されてしまいます。
どうにかノイズ以外はそのままの値で、ノイズ部分だけを周りの値に馴染ませたいんです。

727 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 02:59:50 ]
10はノイズ? 13はノイズ?
15を適当に5とかにしたら「馴染んだ」ことになるの?

自分が何をやりたいかをまずは具体的にする。
君以外にそれがわかる人はここにはいないよ。

728 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 07:57:32 ]
実験データの改竄捏造でもしたいのかなw

729 名前:デフォルトの名無しさん mailto:sage [2008/09/14(日) 12:03:36 ]
>>726
if ノイズ
   平滑
else
   なにもしない


730 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 07:18:58 ]
 ああ 

731 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 13:38:27 ]
>>726
新しいやり方を考えればいいだけ。

732 名前:デフォルトの名無しさん [2008/09/17(水) 23:20:14 ]
質問です。

Cのプログラム等に記載するための離散時間系のデジタル1次ローパスフィルタを作るためにMATLABでフィルタの係数を求めようとしています。

そのためのプログラムとして、サンプリングインターバル=6ms、フィルタ周波数=10Hzとして、
   omega = 2 * pi * 10
T = 1 / omega
sys = tf(1, [T, 1])
[num, den] = tfdata(sys)
[numd, dend] = c2dm(num, den, 0.006)
として求めると、y[n] = 0.6859 * y[n-1] + (1 - 0.6859) * x[n]という式が求められます。

一方で、連続時間系の1次ローパスフィルタの伝達関数(サンプリングインターバル=6ms、フィルタ周波数=10Hz) G(s) = 1 / (1+Ts) を手計算でz変換を行い、離散系のローパスフィルタの式を求めると、(T = 1 / omega、omega = 2 * pi * 10)
   y[n] = 1 / (1+omega*0.006) * y[n-1] + (1 - 1 / (1+omega*0.006)) * x[n]
となるため、値を代入すると、
   y[n] = 0.7263 * y[n-1] + (1 – 0.7263) * x[n]
となり、先ほどMATLAB関数から求めた式と乖離が出てきてしまいました。

そこで、有識者の方々にお聞きしたいのは
   1.そもそも上記のデジタル1次ローパスフィルタの作り方は間違っているのか?
   2.c2dm コマンドの中身がよくわからないが、これは計算誤差が出るようなものなのか?
   3.離散系に変換したシステムのボード線図を見て特性を確認したいのだが、その場合
     も連続系と同じく
          bode(numd, dend)
     でよいのか?

長文となってしまい、見にくくて申し訳ありませんがどなたか有識者の方がいらっしゃればご教授ください。

733 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 14:54:34 ]
簡単な計算ミスのような気もするのですが、、、

734 名前:デフォルトの名無しさん [2008/09/18(木) 22:11:28 ]
>>733
と言いますと・・・?

735 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 22:13:54 ]
周波数とインターバル(周期)とで混乱していない?
間違いを探したいのなら、
他の数字の組み合わせにしてみて、計算してみるのはどうでしょう?



736 名前:デフォルトの名無しさん [2008/09/18(木) 23:19:11 ]
>>735
すいません、だいぶ他の数字でもやってみたのですが・・・
基本的な結果としては、低周波(0.01Hz、1Hz)では値の乖離はほとんど見られないのですが、高周波になればなるほどどんどん値が離れていくということになっています・・・
なので、アナログからデジタルに変換するときの計算誤差なのではと思った次第なのですが・・・

           MATLAB計算値         手計算値
   0.01Hz      0.9996            0.9996
0.5Hz 0.9813            0.9815
5Hz 0.8282 0.8414
10Hz 0.6859 0.7260

どなたかご教授いただけると助かります



737 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 23:34:44 ]
>>736
サンプリングインターバルも変えてみたらどう?

738 名前:デフォルトの名無しさん [2008/09/19(金) 00:13:17 ]
変えてみた結果は以下の通りになりました。

             MATLAB計算値        手計算値
 0.5Hz  12msec      0.9630          0.9637
2Hz 24msec 0.7396 0.7683
0.01Hz 480msec 0.9703 0.9707
10Hz 480msec 0.0000 0.0032

という感じで、サンプリングインターバルが大きくなる、もしくは周波数が大きくなると乖離がどんどん大きくなるといった傾向が見られます。

そこで離散系に直したときのボード線図を見て、連続系のそれとの特性の違いを見たいのですが、離散系に直したシステム
     [numd, dend] = c2dm(num, den, 0.006)
     bode(numd, dend)
という見方でよろしいのでしょうか?明らかに異なった波形が出てくるので、離散系の場合はボード線図を違う見方で見なければいけないのかなと予想しているのですが。。。
見方がわかりませんので、もしご存知でしたら教えてください。


739 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 00:33:01 ]

ttp://www.ikko.k.hosei.ac.jp/joomla1506/matlab-topmenu-33/17-matlab20070307.html

740 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 00:35:38 ]
matlabをはじめたばかりなんですが質問です。
stem3でつくったグラフを等高線のグラフにそのまま変えたいのですが、
どなたかわかる方いらっしゃいましたらお願いします。

741 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 02:50:24 ]
ステムを輪切りにして上から見て、意味あるの?

742 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 11:49:33 ]
>741
値がどのように分布しているか等高線の方がわかりやすいと思い
変えたいのですが。

743 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 15:11:34 ]
>>742
matlab 等高線
でぐぐれ

744 名前:デフォルトの名無しさん [2008/09/30(火) 15:46:00 ]
GUIのプログラムについての質問です
ファイルguimain.m内で

handles.a=1;
guidata(hObject, handles);

とhandles.aを設定したとき
別のファイルgui2.m内で
handles.aを編集する方法はあるのでしょうか

function gui2(hObject,handles)
handles.a=2;
guidata(hObject, handles);

ではできませんよね?

745 名前:デフォルトの名無しさん [2008/09/30(火) 16:32:46 ]
効率はわかりませんが

function out = gui2(handles)
handles.a=2;
out = handles;

として、呼び出し側でguidata(hObject, handles); することで解決しました。



746 名前:t [2008/10/07(火) 19:46:19 ]
ベルヌーイの螺旋を描ける方いらっしゃいませんか?
困っています。

747 名前:デフォルトの名無しさん mailto:sage [2008/10/15(水) 20:23:01 ]
描けるよ

748 名前:デフォルトの名無しさん mailto:sage [2008/10/18(土) 10:33:41 ]
>>745
構造体使う必要がないならglobal宣言すれば簡単かと

749 名前:デフォルトの名無しさん [2008/10/19(日) 22:46:09 ]
z = f(x, y) を、3次元プロットしたいのですが、
どうやったらよいのでしょうか?

試しに

----------------------
z = [
0 0.1 0.3 0.5 0.3 0;
0 0.3 0.5 0.3 0.3 0;
0 0.5 1.0 0.7 0.5 0;
0 0.3 0.5 0.3 0.3 0;
0 0.1 0.3 0.5 0.3 0
];
[x, y] = size(z);
surfc(x, y, z)
----------------------

としたのですが、うまくいきませんでした。
おそらく行列のプロットを理解していない
と思うのですが・・・。
非常に低レベルな質問で申し訳ありませんが、
よろしくお願いします。


750 名前:デフォルトの名無しさん mailto:sage [2008/10/19(日) 23:52:00 ]
mesh(z)でどうだ

751 名前:749 [2008/10/20(月) 00:01:45 ]
>>750

早速のご回答、ありがとうございます!
無事、3D plot をすることができました。
ありがとうございます!

752 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 17:54:34 ]
MATLABで式の簡単にする変形を一ステップずつやって
どうやって、変形して最終の形にするのか
見る方法ありませすか?

753 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 23:45:04 ]
意味がわからない。
mathematica?

754 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 23:47:52 ]
シンプリファイとかやるときの途中の式がしりたい。
シンボリックマスツールズの

755 名前:いかわ [2008/10/24(金) 15:35:48 ]
'"2008-09-23 02:30:00.1"' というフォーマットで書かれたストリングのセルから時間データを抽出するよいアイディアをどなたかご存知でないでしょうか?

もしも、''がなく、"2008-09-23 02:30:00.1" というフォーマットならば、sscanf(%d-%d-%d %d:%d:%d); によって時間データを抽出できるのですが。。



756 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 20:06:56 ]
日付の区切りがスラッシュにかわったりしただけでも
どうすればいいかわからなくなるのかなこういう人は・・。


757 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 04:01:54 ]
だれか Matlab compiler で matllab スクリプトコンパイルして、
C で使ったことある人いない?
ttp://www.mathworks.com/access/helpdesk/help/toolbox/compiler/index.html?/access/helpdesk/help/toolbox/compiler/f2-972343.html
これの通りやってみて、C をコンパイルできるようにまでは持って
いったんだけど、実行すると
libmatrixInitialization: unhandled exception
と出る。なにが足りないんでしょうかね?

758 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 05:49:28 ]


759 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 10:11:57 ]
>>757
回答にはなってないかもしれんけど、
おいらは、加えてBuilder for .NETを使ってMファイルを.NETコンポーネント化
してから、.NET系言語から、そのコンポーネント呼び出して使ってるよ。

760 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 15:42:45 ]
A=zeros(100000,100000);
だけでメモリ不足になります

余分な変数消去や仮想メモリ等をいじってみましたが効果はありませんでした
これを解消するには結局メモリ増設しかないのでしょうか?

761 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 16:38:49 ]
>>760
メモリ増設しても無理じゃね?
100000*100000って、数値だけで10Gになるからアクセスすることさえ厄介になってくると思う。
メモリ量的には更に数倍になるわけで、オンメモリで処理するのはどうせ無理だし。

762 名前:760 mailto:sage [2008/10/27(月) 18:09:13 ]
>>761さん

ご回答ありがとうございます
低レベルな質問ですみませんでした

このような行列はMATLABではそもそも扱えない(普通は扱わない)と考えてよいのでしょうか?
株価のシミュレーションでforを使うより行列を使った方が早いため
あのような行列が処理できると助かったのですが

763 名前:デフォルトの名無しさん mailto:sage [2008/10/28(火) 01:30:51 ]
「普通のPC」では扱えない というのが正解かと。
10Gのメモリっていうといわゆるスーパーコンピューターの領域

764 名前:デフォルトの名無しさん [2008/10/30(木) 04:26:55 ]
たとえば*を増やしていって、
処理の進行状況を表示したいのですが、
改行を抑制する方法はありませんか?


765 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 21:20:25 ]
質問です
複素数の実部虚部それぞれ七桁で表示させたいのですが
zに複素数が入っていて
sprintf('%7f',z)
とすると実部だけが七桁で表示されてしまいます
どうしたらよいでしょうか?



766 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 22:41:17 ]
関数realとimagを使用して実部と虚部を取り出せばいいじゃない

767 名前:デフォルトの名無しさん [2008/10/30(木) 23:07:49 ]
サポート受けられないということは、ここの住人はコピーや労か

768 名前:デフォルトの名無しさん [2008/10/31(金) 00:06:48 ]
>>764
なんで今どうやってるのか書かないの?

769 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 14:35:01 ]
>>766
ありがとうございます
sprintf('%7f %+7f',real(z) imag(z)i)
のような感じでしょうか?
今試せる環境ではないのでiとかがどうなるのかよく分かりませんが・・・・・

770 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 19:10:46 ]
教えてください。
1辺の長さが1の正三角形を上下に並べて出来る平行四辺形をプロットして、
それに含まれるかどうかの判定をしたいのですが、判定条件はどうしたらいいでしょうか。
N個の点を行列で与えて、図形に入っていれば赤、入っていなければ黒という風に
表示させたいのです。
よろしくお願いします

771 名前:デフォルトの名無しさん mailto:sage [2008/10/31(金) 19:25:24 ]
>>769
+の位置が不適切だけどそれを直せばイケル

772 名前:デフォルトの名無しさん mailto:sage [2008/11/01(土) 17:39:35 ]
>>771
すいませんまだ試せていないんですがこうすると実数値の場合に
3+0i
みたいな表示になっちゃいませんかね?
もっと簡単にできる方法ないですかね

773 名前:デフォルトの名無しさん [2008/11/07(金) 14:26:53 ]
質問があります


例えばデータシートが1000枚あって、各データシートからX,Y,Zの値を取り出して、
座標(X,Y,Z)をplot3でプロットします。これがこのシートの3次元での点(位置)になりますよね。
それを1000枚分やると3次元空間に点が1000点でき、動きの軌道のように繋がって表示されます(そういうデータなので)。

問題は次なのですが、数十点ほど動きの軌道からはみ出してプロットされた点(多分計測時のノイズ)が
存在します。なのでプロット点全体を平滑化したいのですが、三次元プロットした点をフィルタするのは
可能なんでしょうか。

よろしくお願いします

774 名前:デフォルトの名無しさん [2008/11/07(金) 21:04:04 ]
>>773
成分ごとにやれば?


775 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 07:04:44 ]
結局の所作業としてはプロットした点をフィルタせずに
フィルタしてからプロットするんでしょ?



776 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 09:03:51 ]
Matlab C ライブラリの関数
mlfMatrixPrint とか
mlfLength とかってどこに行ったの?
昔は matlab.h ってのがあったみたいなんだが、
R2007b だけど、ないんだよね。
matlab 内のビルトイン関数を C から直接呼び出せなくなったの?

777 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 14:40:02 ]
私は>>675じゃないんですけど
>>675の解決策ってありますか?

778 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 07:24:17 ]
スレを675以降もネットリと見てみよう

779 名前:デフォルトの名無しさん [2008/11/10(月) 20:04:54 ]
こんばんは。最近MATLABで動画像処理を始めたものですが、
250*350でフレーム数200のAVIの動画をRGBで格納するために
T=zeros(250,350,3,200)
としてみたのですが、メモリが足りませんと出てしまいました。
解決策がわかりません

ちなみにPCはXP Core(TM)2 Duo CPU メモリ2Gを使っています。

よろしくお願いします

780 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 22:36:17 ]
[A;B]という行列(n行m列)から [A;A;B;B]という行列(n^2行m列)をfor文を
使わずに 作りたいのですが可能でしょうか。
基礎的な質問でしょうがよろしくお願いします。


781 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 23:00:26 ]
>>780
[A;A;B;B]だったらn*2行m列だと思うんですが。

782 名前:780 mailto:sage [2008/11/10(月) 23:08:49 ]
例が分かりづらくて済みません。別の例ですが[A;B;C]という行列だったら
[A;A;A;B;B;B;C;C;C]という行列を作りたいのです。


783 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 23:58:44 ]
>>779
メモリが足りないのものはしょうがないのである。
本当に全部格納しなければいけないのか考えてみるのである

784 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 00:01:09 ]
>>782
つまり *3 でいいんだね?
X = [A;B;C] からA, B, C の分解は終わっているものとする。
Y = [repmat(A, 3, 1); repmat(B, 3, 1); repmat(C, 3, 1)]

785 名前:780 mailto:sage [2008/11/11(火) 00:57:46 ]
>>784
ありがとうございます。確かに直接記述すればそうなるんですが、
行列の行数が任意の数nであってもそのような行列が作れるか
、つまり各行ベクトルをn個並べてn^2行の行列を作れるかということが
分からないんです。



786 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 06:44:37 ]
matlab Mex で
X(1,:)
ってどうやんの?

787 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 10:22:08 ]
>>785
repmat(x, 1, length(x))

788 名前:780 mailto:sage [2008/11/11(火) 13:01:35 ]
>>787
おかげで解決しましたーありがとうございます。

789 名前:デフォルトの名無しさん [2008/11/11(火) 18:11:41 ]
[id,check] = textread('01.txt','%s%s');
と読み込んだ後
id  とすると中身があるのは確認できるのですが
fprintf('filename','%s',id);
というふうにして書き込もうとするとFunction is not defined for 'cell' inputs.
というエラーがでてidをtxtに書き込むことができません。

textreadで読み込んだidをtxtに書き込むにはどのようにすればよいでしょうか?
よろしくお願いします。

790 名前:デフォルトの名無しさん mailto:sage [2008/11/11(火) 21:31:48 ]
>>789
www.excite.co.jp/world/

791 名前:789 [2008/11/12(水) 16:00:23 ]
>>789エラーの内容は分かったんですけれど
セルをtxtに書き込めるようにする方法が調べてみてもよく分かりません
もしよかったら教えてもらえませんか?
よろしくお願いします。

792 名前:シン [2008/11/14(金) 12:57:46 ]
MATRABのプログラムで、x1=0、x2=1.2 x3=2.1 x4=3.5 y1=0.3 y2=1.2 y3=2.4 y4=2.7 の4点のラグランジュ補間をとりグラフを出力したいのですが教えてください
。できればfor文をつかった形式でお願いします。あと範囲は0<x<10です。


793 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 18:27:37 ]
レベル低過ぎ
説明書読め

794 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 21:16:11 ]
MATLABわかる人
pc11.2ch.net/test/read.cgi/tech/1226576323/l50
スレからのマルチポスト

795 名前:デフォルトの名無しさん [2008/11/15(土) 17:26:18 ]
MATLABのプログラムで、xy平面上の点P(i)=(x(i),y(i)), i=1,2,3,4,5について
5個の点P(i)を適当に設定し、これらの点を順に線分で結んでできる多角形の図を作れ。ただし各点P(i)は*印で示すこと
最後の点P(5)を最初の点P(1)に結んでみよ。
のプログラムを作りたいんですけど、誰かわかる方教えてください。



796 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 12:12:10 ]
>>792
plot([1:10], lagrange(x, y));

>>795
line(x, y, '*');

宿題は宿題スレに頼めよ

797 名前:デフォルトの名無しさん [2008/11/16(日) 13:49:26 ]
宿題スレのURL教えて!

798 名前:770 mailto:sage [2008/11/17(月) 07:40:28 ]
ショボーン(´・ω・`)

799 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 11:33:58 ]
>>770
まはやMATLABですらねぇな

三角形の中に点があるかどうかは時計回り(または反時計回り)に
各辺を回ったときに常に辺から左側(または右側)に点があるかどうかでわかる

N角形〜閉曲線の場合でも一緒

800 名前:デフォルトの名無しさん [2008/11/18(火) 19:50:56 ]
MATLABで2の5乗根の値を出したいのですが何かいい関数がありませんか?
よろしくお願いします


801 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 22:09:27 ]
2^(1/5)

802 名前:800 mailto:sage [2008/11/19(水) 15:32:16 ]
ありがとうございます。

803 名前:デフォルトの名無しさん [2008/11/20(木) 14:09:32 ]
質問です。
MATLAB5.0でフォルダ内のファイル全てに同じ処理を施すようにしたいのですが、
どのようにしたらいいでしょうか?

サンプルプログラムを書いていただけたらうれしいです。

804 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 14:58:26 ]
自分でかけよ

805 名前:デフォルトの名無しさん [2008/11/20(木) 17:45:43 ]
こんばんは。
MATLABで近似曲線を描きたい場合、データがXとYの2軸のグラフでプロットされてるなら、
近似曲線用のコマンドがあるのでできます。しかし今回はXYZの三軸の要素があるデータをplot3コマンドで
グラフ化したものに近似曲線をひきたいと考えていて、方法をずっと考えていたのですが全く思い浮かびません。

どなたかアイデアがありませんか?



806 名前: ◆DcKrXqTCB2 mailto:sage [2008/11/22(土) 04:46:22 ]
>>803
name=dir
-------
gnuplotを、Windows 2000のOctave Ver3.1.50 Winows で使いたい、どうすれば?

807 名前:デフォルトの名無しさん [2008/11/22(土) 13:26:48 ]
工学系の学生です。質問させてください。
常微分方程式の境界値問題用のbvp4cソルバや、偏微分方程式のpdeソルバは様々な微分方程式で汎用的に使えるものなのでしょうか。
実験系の研究室にも関わらず、実験結果を説明するための数値計算をやらなくてはいけないことになってしまったのですが、
自分でコードを作る技術がなく、既存のソルバで手早く計算できないものかと思っています。
情けない質問ですがよろしくお願いします。

これらのソルバを使う時に収束性や初期値の設定等にコツが必要でしたら、そのコツについても教えていただけませんしょうか。
「この本を読め!」でもうれしいです。
勉強用にこれ↓を買おうと思ってます。もっと良い本ってありますかね。
ttp://www.amazon.co.jp/MATLAB%E6%95%B0%E5%80%A4%E8%A7%A3%E6%9E%90-G-J-Borse/dp/427402380X

808 名前: [2008/11/23(日) 09:07:11 ]
上の本、高いですね−。

質問です。
plotで線をつなげずにヒストグラムのように描くにはどうすればいいですか?
(データは600行ほどのテキストファイルで、それぞれの行に数値が入っています。
それをdlmreadで読み込んでplotしたら横の軸は600までで思い通りなのですが
それぞれのデータ点がつながってplotされてしまいました)

809 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 12:19:59 ]
hist()があるよ

810 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 12:21:35 ]
アッコにおまかせでやっていたけど、
古物商の免許を取って古本屋で、売れ残りかつ専門的な本を安値で買って
アマゾンで売るという商売で月にだいたい10万円、多いときで30万円
の商売している人がいるらしいよ。
>>807の紹介した本もそういう人が提供している可能性大だね。
ではではノシ

811 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 16:42:29 ]
アッコにおまかせで微分方程式 まで読んだ。

812 名前: [2008/11/24(月) 19:25:16 ]
809さん、hist()をうまく使えばいいんですね!ありがとうございます。

813 名前:age [2008/11/26(水) 00:56:33 ]
MATLAB R2008b studentバージョン
を買いました。
mccを実行しようとしたところ、mccは用意されてなかったみたいです。
studentバージョンだからですか?

814 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 14:04:59 ]
matlabの正式バージョンってマジでいくらするんですか?

815 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 17:04:20 ]
>>814
MATLABだけ?それとも、Simulinkも?
まぁ、国産の軽〜高級車くらい見ておけばいいんでない?



816 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 22:52:25 ]
随分幅のある例を出してきたな。10倍以上あるじゃないか。

817 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 19:50:28 ]
ライセンスは細かく分かれているから、組み合わせでかなり変わるしな。

818 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 13:38:54 ]
今日、MATLAB EXPOやってるな
聞いてくれば?

819 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 22:31:49 ]
ある計算で、メモリ不足に陥っています。
512MB×4のメモリから、2G×2のメモリに増設しました。
zerosでどれだけのサイズを確保できるかを試したんですが、増設しても変わりありませんでした・・・。
10000×10000のゼロ行列でメモリ不足に陥ります。
サイズ増やせると期待したのですが、こんなもんなんでしょうか。
問題の計算のほうも改善できませんでした。どこかおかしいところがあればアドバイスお願いします。
バージョンはR2006b、OSは32bitXPです。

820 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 23:17:47 ]
10000x10000x8bytes=80,000,000
100Mそこそこだから確保は出来るはずだが、他にも巨大な変数があったら不明
メモリが断片化してる可能性もあるのでpackコマンドを使ってみる

それでも足りなければ↓に従い64bitOSを使うなどの対処を。
www.cybernet.co.jp/matlab/support/techkwdb/search_view.php?id=1628

821 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 23:47:44 ]
覆面算をエクセルのマクロで解きたいのですが教えてください
B、C、Dは0を除外

    C A B
 +)  B A C
----------------------
  D A B A


822 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 00:31:47 ]
>>820
800M だべ?
>>819
他のソフトも入れて (matlab 自体もいれて)、
32bit CPU && Windows なら 2GB の壁があるから、
そんなもんじゃねーがの。

823 名前:820 mailto:sage [2008/12/06(土) 14:35:28 ]
>>882
おおう
単純な計算ミスorz
仮想メモリもふやして一応matlabが2G使えるはずだけど800Mなら他の変数しだいか。
やっぱ64bitでやるとかコマンドラインモードでやるとかが必要かもねえ

824 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 15:21:17 ]
>>820>>823
有難う御座います。
clearやって不要な変数などは一切消去して試した結果です。
因みにタスクマネージャーでmatlabのメモリ使用量みたら700M程度でした。
ウィンドウとか最小化すると200Mまで減ったりしますが、こんなもんでしょうか。。

やっぱり64ビット環境かぁ。。。
その場合、ゼロ行列ではどれだけのサイズが確保可能になるんでしょうか?

825 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 20:36:07 ]
変数名を文字列に変換することって出来ないのでしょうか?
例えば、行列Aのプロット結果のtitleに「plot of A」とか書きたいんだけど、数が多くて手入力では限界が・・・



826 名前:デフォルトの名無しさん [2008/12/09(火) 00:28:04 ]
その変数をシングルクォートではさめば文字列になるよ。

827 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 03:06:40 ]
>>825
文字列から変数っつーか、式に eval で変換する、ほうが楽かも

828 名前:825 mailto:sage [2008/12/09(火) 21:52:58 ]
>>826>>827
アドバイスありがとうございます。しかし私の説明が不十分でした。

私がやりたいことは、例えば、
func = [1 2 3]
plot(func)
で[1 2 3]がプロットされますが、そのタイトルに'func'を含めたいのです。

title(func)
ではfuncの中身、つまり[1 2 3]がタイトルに表示されてしまいます。
title('func')
だと、funcとは表示されますが、変数名自信(funcの部分)が変わる場合には自動で対応できません。

そこで、別変数(例えばfunc_name)に変数名を格納できれば
title(func_name)
とすることで、自動でタイトルを付けることが出来ると思ったのです。
そういう関数とかないかなと探しているのですが、なんだかなさそうな気配です・・・

829 名前:デフォルトの名無しさん [2008/12/09(火) 22:41:47 ]
title('func')だと自動対応できない、というが
その例で変数名が変わったとき
plot(func)は対応できるの?

君自身、自分が何をやりたいかが
分かってないのではないか。

830 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 23:42:36 ]
>>828
だから、変数名を格納して、eval で展開すれば、というとるやんけ

831 名前:デフォルトの名無しさん [2008/12/10(水) 03:25:58 ]
eval使わなくてもMATLABには>825の目的の機能があるよ。
825が何やりたいかちゃんと説明できてないから予想だけど。

832 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 06:55:04 ]
>>831
その予想を書けよ。言われる前に書けよ。

833 名前:デフォルトの名無しさん [2008/12/10(水) 23:04:31 ]
まともに質問できない人には質問になってないよって
教えてあげるのが親切ってもんだよ。

834 名前:825 mailto:sage [2008/12/11(木) 00:09:46 ]
不評を買ってしまったようで・・・
実はプログラミング自体にあまり慣れていないもので、上手く伝えることが出来ないみたいです。
アドバイスを元にもうちょっと試行錯誤してみようと思います。

>>829
そこは泥臭い手法を採ってまして・・・
あまりに下手なので説明は遠慮させていただきます。
泥臭くて良いのなら引数で渡せばいいじゃんとか言われるとそれまでなのですが、
機能として有りそうにも拘わらず見つけることが出来なかったため質問した次第です。

>>830
ありがとうございます。調べて試してみます。

>>831
説明が上手くなくて申し訳ないです。

835 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 01:48:56 ]
>>834
>機能として有りそうにも拘わらず見つけることが出来なかったため質問した次第です。
そんな機能必要ないから存在しないだけだから



836 名前:デフォルトの名無しさん [2008/12/11(木) 01:57:53 ]
プログラムに慣れてないとかいう問題ではたぶんなくて
自分がやってることとやりたいことを全部書いてないだけだと思うよ。

>825
> 変数名を文字列に変換する
をしてくれるvarnameという関数が仮に存在したとしても
あなたの質問の例では意味がない。

func = [1 2 3];
plot(func)
title('func')



func = [1 2 3];
plot(func)
title(varname(func))

と書けても「手入力」の節約になってない。
plotとtitleの部分を関数にしたいということなら分かるけど。

help inputname

837 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 03:15:16 ]
そう。だから文字列配列を作って eval で展開するのさ。
funcnames = { 'func1', 'func2', 'func3' };
for i = 1:length(funcs)
 eval(sprintf('plot(%s)', funcnames{i]));
 title(funcnames{i]);
end

>>831
eval 使わないとなるとどうやるんだ?参考までに教えてくれ。

838 名前:デフォルトの名無しさん [2008/12/11(木) 07:16:07 ]
なんで>>837はえらそうなのか。

839 名前:デフォルトの名無しさん [2008/12/11(木) 17:53:58 ]
> eval 使わないとなるとどうやるんだ?

>>836に書いてあるんだけど。

evalもいいけどデバッグしにくくなるし
よほどの理由がある時以外は使わない方がいいよ。

840 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 02:41:03 ]
>>839
書いてないよ
>varnameという関数が仮に存在したとして

841 名前:デフォルトの名無しさん [2008/12/12(金) 02:59:31 ]
> help inputname

842 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 07:44:47 ]
>>841
は?inputname は全然ちゃうやろ。help みたんかいな

843 名前:デフォルトの名無しさん [2008/12/12(金) 07:57:51 ]
頭悪いのにえらそうな人ってやっかいだね。
>>828

func1 = [1 2 3];
func2 = [4 5 6];

plot(func1)
title('func1')

plot(func2)
title('func2')

とすると数が多くなったときにtitleを
いちいち書くのが手間だっていうんだから

plotfunc(func1)
plotfunc(func2)

function plotfunc(f)
plot(f)
title(inputname(1))
end

でしょ。

844 名前:デフォルトの名無しさん [2008/12/12(金) 08:01:52 ]
あ、テストせずに書いたけど
plotfuncの中にfigure追加しないとだめですね。
もとの質問者がsubplotとか使ってるなら
そのへんは適当に。

845 名前:デフォルトの名無しさん [2008/12/15(月) 18:02:33 ]
m個のデータから正規方程式を使い
A=Cexp(Bcosφ)を知りたい時どうすればいいですか?
Bは定数で、未知のCとφが知りたいんです。
未知定数が2つで積っていうのがよくわかりません



846 名前:デフォルトの名無しさん [2008/12/15(月) 18:20:25 ]
韓国に攻撃されてるぞwwww7
jfk.2ch.net/test/read.cgi/news4vip/1229319433/

世界フィギュア選手権で浅田真央が韓国を破り金賞に輝く

韓国人が腹いせに2ちゃんねるを攻撃

vipper今夜19:00 反撃凸 ←いまここ★

目標
www.dcinside.com/

Dcinside(ディーシーインサイド)は、韓国の電子掲示板サイトである。
デジタルカメラの情報を提供する専門サイトとして有名になりつつ、だんだん人が集まり韓国最大のコミュニティーサイトとなった。 韓国の2ちゃんねるともいえるサイト。
2004年に2ちゃんねるのサーバをDoS攻撃したことで有名。


847 名前:デフォルトの名無しさん mailto:sage [2008/12/17(水) 18:08:04 ]
m質点の串団子モデルの剛性マトリクスをfor文を使って次のように書いたのですが、
for文を使わないで書く方法はありますでしょうか?
for文をなるだけ使わないのがMATLABっと以前のレスで見たのですが、
何分プログラミング自体初めてでして。。


row_m = input('Enter m = ');

k0 = input('Enter 0 or 1 =');
switch k0
case 0
k1 = input('Enter k = ');
kk = k1*ones(1,row_m);
otherwise
kk = zeros(1,row_m)+input('Enter kmatrix = ');
end

K = kk(:,1);
for N = 2:row_m
K0 = [kk(:,N),-kk(:,N);-kk(:,N),kk(:,N)];
K1 = [K,zeros(N-1,1);zeros(1,N-1),zeros(1)];
K2 = [zeros(N-2),zeros(N-2,2);zeros(2,N-2),K0];
K = K1+K2;
end

ここはこうしたほうが良いなどなんでも結構ですのでご助言を頂けると幸いです。

848 名前:デフォルトの名無しさん mailto:sage [2008/12/18(木) 00:06:06 ]
for N = 2:row_mなくして
Nの代わりにまんま2:row_mを使え

849 名前:デフォルトの名無しさん [2008/12/19(金) 03:19:52 ]
すいませんがよろしくお願いします。
waveファイルをインポートするにはどうすればいいのでしょうか?
helpをみてもできません。
[y,Fs,Bits] = wavread('onsei1.wav');
と入力したら、
??? エラー ==> wavread at 67
ファイルを開けません
とでます。
誰か教えてください!

850 名前:デフォルトの名無しさん mailto:sage [2008/12/19(金) 04:42:52 ]
plotで図示したグラフとcontourで図示したグラフを重ねて表示する際、
X軸Y軸が逆になってしまいます。
contour(y,x,z)とすれば軸はあうのですが、いまいち納得いきません。
どうしてこうなるのでしょうか?

851 名前:デフォルトの名無しさん [2008/12/20(土) 07:17:39 ]
画像をimresizeでbicubicで補間しながら拡大・縮小したときの動作確認がしたいのですが
どうしたらいいでしょうか?

もしくはbicubicで補間しつつ拡大縮小を少数精度の倍率を与えたときに正確に動作が
保証できるプログラムを組んだことのある方いらっしゃいませんか?
ソースをアップして欲しいのです・・・。修士論文が間に合わない・・。

852 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 12:44:18 ]
Y = find([0 1 0 0 1])
Y
 2 5
の逆ってどうやるんでしたっけ?

853 名前:デフォルトの名無しさん mailto:sage [2008/12/22(月) 12:49:22 ]
>>849
ファイルがそこにないんじゃない?

>>850
meshgrid を使ったと仮定して、
meshgrid の使い方間違ったんじゃない?

854 名前:デフォルトの名無しさん [2008/12/24(水) 00:27:15 ]
>>852

X(Y)=1

855 名前:デフォルトの名無しさん [2008/12/25(木) 13:57:23 ]
プログラム初心者です。
MATLABを使えるようになりたいんですが
基本的な使い方とか解説してあるいいサイトとかあったら教えていただけないでしょうか。



856 名前:デフォルトの名無しさん mailto:sage [2008/12/25(木) 15:36:00 ]
サイトではないですが、「MATLAB+Scilabプログラミング事典」という書籍にはお世話になりました。MATLABに似たscilabについても記載されていますが。
後はMATLABのhelpでしょうか。

857 名前:855 mailto:sage [2008/12/26(金) 11:56:00 ]
>>856
ありがとうございます。
探してみようと思います。

858 名前:デフォルトの名無しさん mailto:sage [2008/12/28(日) 22:52:26 ]
Student Editionって以前は自分名義のクレジットカード+HPへの登録+学生証のコピーの郵送が必要って
Q&Aに書いてあったと思うのですが、今は生協で買えるんですねー
その場合は上記の郵送とか面倒な作業は必要ないんでしょうか。

859 名前:デフォルトの名無しさん mailto:sage [2008/12/29(月) 23:57:12 ]
>>858
生協で学生証提示でオケ

860 名前:デフォルトの名無しさん mailto:sage [2009/01/04(日) 02:36:50 ]
>>859
返事遅くなってすいません。
煩雑な手続きは無くなったんですね。ちょっと興味有ったので買ってみることにします。
ありがとうございました。

861 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 00:42:52 ]
scilabってコマンドはマトラボとおなじなんでしょうか?
家でもやろうかと思ってるんですが

862 名前:デフォルトの名無しさん [2009/01/06(火) 00:54:09 ]
言い直すと学校でマトラボを使っているんですが
家でもやりたいのでscilabをだいようできるでしょうか?

863 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 01:35:49 ]
www.ipc.yamanashi.ac.jp/bul/final01/ohki/matlab.html
>Scilab の文法は MATLAB と良く似てはいるが, 細部には違いがある.

>Octave は, 基本的な言語仕様の点で MATLAB 互換となるように設計されており,
>Octave で作成したプログラムの多くは修正なしでそのまま MATLAB で実行可能である
>(MATLABの方が機能が豊富なので,逆は真でない).

864 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 03:08:02 ]
>>863
わかりやすくありがとうございます

865 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 13:51:44 ]
freematは?



866 名前:デフォルトの名無しさん mailto:sage [2009/01/06(火) 15:34:35 ]
octaveを語ろう
pc11.2ch.net/test/read.cgi/unix/1086016412/

Scilabを触ってみるスレ
science6.2ch.net/test/read.cgi/kikai/1068735555/

SCILAB&SCICOSについて教えてください
science6.2ch.net/test/read.cgi/sim/980480122/

どれも過疎化しているが…
freematスレは見当たらなかった。

867 名前:MATRAB_Mathematica [2009/01/08(木) 21:47:19 ]
下記をMathematica上で使うにはどうすればいいですか?
Seq = {-0.2266091476053614,0;[0.2155407618197651,-1.2670686037583443],0;
[-4.2551584226048398,0.5047757263881194],2;
[0.2331599353469357,0.0447459687134724],-2;
[6.6244572505007815,-18.389000853969371],4;
[-0.0567684937266291,0.1443950619899142],-4;-5.5119344180654508,5};
ScaleS = -0.5985483742581210;
ScaleD = -1.6707087396895259;
Family = 'Symlet';



868 名前:デフォルトの名無しさん mailto:sage [2009/01/13(火) 16:23:57 ]
matlabでH.264動画を表示させるにはどうしたらよいのでしょうか。
「mmreader」で読み込んでも走査線が分かれて表示されます。
インターレース動画は奇数偶数をいじって解除・表示できたのですが、
H.264やmp4コーデックでエンコードされた動画は上1/3が黒く表示され、
走査線がバラバラに表示されます。
H.264動画の走査線をどのように分解したらよいのか詳しくわかりません。
詳しい方がいらっしゃいましたらよろしくお願いします。

869 名前:デフォルトの名無しさん mailto:sage [2009/01/16(金) 16:05:57 ]
プログラミング初心者です。画像処理の質問です。

ある画像から2値化を行い,1つの物体だけを取り出そうと考えています。
bwlabelを使ってラベル画像を作った後に,ラベル付けされた各物体の特徴量として面積と円形度を求め,ある範囲に入っている物体1つを取り出したいのですが,よくわかりません。

調べたところbwselectがあったのですが,これは画像をクリックする操作があるため出来れば避けたいと思っています。

わかる方がいましたらアドバイスを頂けないでしょうか?
よろしくお願いします

870 名前:デフォルトの名無しさん mailto:sage [2009/01/26(月) 18:35:45 ]
MATLABを使っていて分からないことがあったので、画像処理について質問させてください。

0〜1の間の乱数を128×128の行列に入れて、これをXと置いた後、
imshow(X,128)で濃淡レベル128のグレースケールで表示します。
これで、白〜黒の画像が表示されるのですが、これを白〜赤のように色をつけて出力したいです。
colormap(Red);imshow(X,128)
でできるかと思ったのですが、上手くいきません。どうすればよいか教えていただけないでしょうか。

871 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 10:49:11 ]
>>870
MATLABよく知らんから逆に聞くけど、colormap(Red)するとどう出力されるの?
もしかして、黒-灰-白が黒-赤-白になるとか? colormapの仕様をよく調べてみるといいんでない?

872 名前:デフォルトの名無しさん mailto:sage [2009/01/27(火) 13:32:39 ]
Redがサポートされてないってオチだろ
Hotとかにしてみ

873 名前:デフォルトの名無しさん [2009/01/27(火) 21:20:12 ]
2次元画像処理で、ハイパスフィルタを書いたのですが
このコードで正しいのか自信がもてません。
何方か、分かる方がいらっしゃいましたらご指摘願います

function I=highpass2(I,THV)
% ハイパスフィルタ
function I=hp2(I,THV)
I=double(I);
I2=fft2(I);
I3=abs(I2);
[m,n]=size(I);
for k=1:m;
for l=1:n;
if( I3(k,l)<THV )
I2(k,l)=0;
end
end
end
I = uint8(real(ifft2(I2)));
end
I = hp2(I,THV*1000);
end


874 名前:873 [2009/02/03(火) 20:31:01 ]
スレ汚し失礼いたしました。
どうも上のコードで良かったみたいですので、高速化ver貼り付けておきます。

function I=highpass2(I,THV)
% ハイパスフィルタ
% THVは0〜255の間でお願いします(0〜10推奨)
function I=hp2(I,THV)
I=double(I);
I2=fft2(I);
[m,n]=size(I);
I2=I2.*double( im2bw( abs(I2)./(m*n*255), min(THV./255,1.0) ) );
I = uint8(real(ifft2(I2)));
end
[m,n,o]=size(I);
for i=1:o
I(:,:,1) = hp2(I(:,:,1),THV);
end
end


875 名前:デフォルトの名無しさん [2009/02/05(木) 12:28:10 ]
Linux用Matlabについての質問です。
32 bit版のmatlabがあるのですが、64bitカーネルのLinuxで動きますか?




876 名前:デフォルトの名無しさん mailto:sage [2009/02/05(木) 13:13:25 ]
つかってるLinuxによるとしかいえない。

877 名前:デフォルトの名無しさん [2009/02/10(火) 07:48:30 ]
plotでデータ数5000の系列を、同じグラフに5本書きます。
それぞれの系列をカラーでわけたくない場合はマーカで区別すると思うのですが、
データ数が5000だとどのマーカも潰れて見えません。

データ数100個飛ばしでマーカをつけるなど、そのような飛び飛びでマーカをつける方法はありますか?

878 名前:デフォルトの名無しさん [2009/02/10(火) 11:47:31 ]
カラーバーにおいて、特定の値の色を指定する方法を
教えて頂けないでしょうか。
今、カラーバーの範囲を[a, b] (a < 0 < b) にして、
0 の色を白に指定したいのですが、苦労しています。
よろしくお願いします。

879 名前:デフォルトの名無しさん [2009/02/14(土) 07:56:25 ]
www.osaka-kyoiku.ac.jp/~ashino/topics/wavehist.html?

このページの真ん中当たりにコッホ曲線のウェーブレット変換が書かれてあるのですが、
この上側の図に書かれてあるコッホ曲線はよく見かける三角形をたくさん合わせたものと全く違いますが、何を表しているのでしょうか?
下の図は3次元的な図になっていますが、それぞれ横、縦、手前の軸は何を表しているのでしょうか?

880 名前:デフォルトの名無しさん [2009/02/22(日) 20:44:57 ]
eval関数について質問です.
変数を文字列化してテキストボックスとしてfigureに挿入しようと
思っているのですが,以下のようにやってもうまくいきません.

eval(['text(20,70,',num2str(k),',''FontSize'',16,''FontName'',''Century'');']);

基本的に([])内の'と,の使い方についてよく理解していません.
'〜',〜,'〜',〜,… のような順番で結合したい要素を配置して,
''内に更に'〜'のような表現がある場合''〜''に書き換える決まり?が
あるんじゃないかと勝手に解釈して上記のコマンド書きました.

非常にややこしい文になりましたが,そこらへんの事も含めて
ご教授いただきたいです.よろしくお願いします.

881 名前:デフォルトの名無しさん mailto:sage [2009/02/23(月) 22:13:59 ]
>>880
俺の脳内MATLABで実行してみたら、こんな感じだと俺の妄想どおりになった
eval(['text(20,70,''',num2str(k),''',''FontSize'',16,''FontName'',''Century'');']);

>>''内に更に'〜'のような表現がある場合''〜''に書き換える
そうそうそんな感じ
dl.cybernet.co.jp/matlab/support/manual/r13/toolbox/matlab/ref/?/matlab/support/manual/r13/toolbox/matlab/ref/eval.shtml

882 名前:880 [2009/02/24(火) 00:16:41 ]
>>881
仰るとおりのコマンドでうまくいきました.
リンク先も一応見た事あるのですが,evalで長いコマンド括る方法が無かった物で…
おそらくevalで一括するよりも,先に文字列作るなりしたほうが良いのかも知れませんね.
ありがとうございました.

883 名前:デフォルトの名無しさん mailto:sage [2009/02/25(水) 13:58:40 ]
plot([0.1:0.1:0.9 0.91:0.01:0.99], [0.1:0.1:0.9 0.91:0.01:0.99].^2)
こんな意味のプロットを
plot(1:18, [0.1:0.1:0.9 0.91:0.01:0.99].^2)
のような表示でプロットしたい(x 軸の点ごとの間隔を等間隔にしたい)のですが、
上のようにプロットすると、x 軸のラベルがもちろん、1,2,3,4 のようになってしまいます。
このラベルは [0.1:0.1:0.9 0.91:0.01:0.99] のままにしたいのですが、
どうようにすれば実現できるでしょうか?よろしくお願いします。


884 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 09:09:55 ]
>>883
plot(1:18, [0.1:0.1:0.9 0.91:0.01:0.99].^2)
でプロットしてからXTickLabelを変更すればいいんじゃない?


885 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 20:50:40 ]
そんな姑息な真似はいやなんです。



886 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 22:08:33 ]
そうかい、すまんね。

887 名前:デフォルトの名無しさん [2009/03/06(金) 14:46:30 ]
既出かもしれませんが、
たとえば、(z-0.99)/(z-0.58)みたいな伝達関数があって、
任意のzdをzに代入したい場合、つまり、zd=0.45+0.53jをzにいれるには
どうしたらできるでしょうか?
それとも、そもそもMatLabではできないですか?

888 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 01:41:31 ]
伝達関数、と限定した言い方をするってことは
こんな↓単なる台数方程式的な話ではないんですよね。
z=0.45+0.53*j
x=(z-0.99)/(z-0.58)

889 名前:デフォルトの名無しさん mailto:sage [2009/03/07(土) 10:47:17 ]
なんだか分野を書かない質問が多いよね。
信号処理の質問を経済学の人が見てもしょうがないのにさ。
ちなみに filter だったと思う。
signal processing toolbox に一度ひととおり目をとおしておくとよいでしょう。

890 名前:デフォルトの名無しさん mailto:sage [2009/03/11(水) 02:58:33 ]
>>888
方法が見つからなかったので、結局、代数方程式を新たに作って解決したのですが、
もし、tfで作った関数に当てはめることができれば、そういった手間を省けると
思って質問しました。

>>889
すいません。分野は機械工学のデジタル信号処理です。離散時間を扱ってます。
あと、
そういったツールボックスがあるのですね。勉強になりました。

891 名前:デフォルトの名無しさん [2009/03/17(火) 22:46:36 ]
どうもすいません。matlabのコードを.Net向けにコンパイルを行ってその結果を受け取っているのですが
function [a,b] = func( c )
の様に引数を2つ以上返すとき、どうすれば2つとも受け取れるのでしょうか?
というより文法的に何か可能は方法があるのでしょうか?


892 名前:デフォルトの名無しさん mailto:sage [2009/03/17(火) 22:57:06 ]
>>891
何の言語を使っているのか知らんが、その言語スレで聞いたら?
まぁ、構造体を作ってって処だろうけど。

893 名前:abc [2009/03/18(水) 16:27:20 ]
行列の列ごとに、0で無い値の中での平均を求める方法を教えてください。

894 名前:デフォルトの名無しさん mailto:sage [2009/03/18(水) 23:53:24 ]
for i = 1:size(A,2)
mu(i) = mean(A(A(:,i) ~= 0, i));
end
いや、
mu = sum(A, 1) ./ sum(A ~= 0, 1)
こっちのほうがスマートかな

895 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 08:37:26 ]
meanの引数に直接行列をぶち込むのと結果が変わらなくね?



896 名前:デフォルトの名無しさん mailto:sage [2009/03/19(木) 11:15:21 ]
mean なら0もカウントしちゃうぜしょ。

897 名前:デフォルトの名無しさん [2009/03/19(木) 22:33:19 ]
figureで軸を指定した関数で表示するにはどうしたらいいでしょうか?
logプロットの様な感じでlog以外の指定した関数で表示したいです。

898 名前:デフォルトの名無しさん mailto:sage [2009/03/24(火) 06:48:41 ]
基本的な0次、1次のBessel関数でMATLAB組み込みより速いのってありますか?






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<230KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef