MATLABプログラミング 質問箱 その2at TECH
MATLABプログラミング 質問箱 その2 - 暇つぶし2ch82:デフォルトの名無しさん
07/03/04 23:08:10
こんばんわ
早速ですが質問させてください
function のなかで function を定義するのはどうすれば良いのでしょうか。

83:デフォルトの名無しさん
07/03/05 00:16:37
hoge.m

function hoge
foo
end

function foo
end

84:82
07/03/05 09:18:41
>>83
成程、関数の終了時にendが必要なのですね。
早速のご回答、ありがとうございました。

85:デフォルトの名無しさん
07/03/06 19:51:30
なくても動いたと思うが。

86:デフォルトの名無しさん
07/03/17 04:32:55
リモートデスクトップ環境ではmatlabは実行できないのでしょうか????

87:デフォルトの名無しさん
07/03/18 06:57:16
おはようございます
早速ですが,1*pの行ベクトルxがあるときに,
xを縦にn行並べたn*p行列はfor文を使わないで生成できますでしょうか.
よろしくお願いします.

88:デフォルトの名無しさん
07/03/19 23:16:17
教えてください
Optimization Toolboxのfminuncで
関数y=func(x,z)をxについて最小化したいんですが,
どうすればよいでしょうか.zはこちらで与えたい定数です.
ヘルプには
X = fminunc(FUN,X0,OPTIONS,P1,P2,...) は、
問題に関連したパラメータ P1,P2,... を、直接、関数
FUN に渡します。
と書いてあったんで
x=fminunc(@func,x0,[],z)
というように,zを与えようとしたのですが,うまく行きません.
ご教示いただきますと幸いです.
よろしくお願いいたします.


89:デフォルトの名無しさん
07/03/20 08:41:43
>>87
repmat

90:デフォルトの名無しさん
07/03/20 20:26:35
>>87
ones(n, 1) * x;

91:デフォルトの名無しさん
07/03/28 17:20:31
複素成分の符号を逆(+なら-、-なら+)にする関数ってありますか?

92:91
07/03/28 17:22:06
間違えました。複素数の虚数部でした。

93:デフォルトの名無しさん
07/03/28 17:49:47
conj

94:デフォルトの名無しさん
07/03/28 17:52:01
最近は共役って言葉を数学で教えなくなったんだな

95:デフォルトの名無しさん
07/03/30 15:40:00
円周率は大体3、という教育に期待するほうが無駄

96:デフォルトの名無しさん
07/03/30 15:59:13
わけも分からず3.14と教えられる方が問題あると思うよ
現代の小学生は正方形の中に
円をかいて4より小さいって自分で調べて3をみつけだしているからね

97:デフォルトの名無しさん
07/03/30 19:48:43
ご自分のときはどうだったのかな?
私のときは方眼紙に缶とかを利用して円を描き、
その面積を計算したりしたよ。

98:デフォルトの名無しさん
07/03/31 07:54:43
円を描いて32等分。
並べ替えて平行四辺形みたいな形状をつくり、縦x横。
更に班内で平均。


99:デフォルトの名無しさん
07/04/10 17:24:07
構造体を与えると固有のパスコードが返されるような関数ってありますか?

例えば
a.b = 1;
a.c = 'test';
なときに
x = somefunc(a);

x = 'ZSGADRERASVFDSAD'
みたいなのが返ってくるような。

入力する構造体の構造と値が一致した場合のみ戻り値xも一致して、
そうでない場合は全然違う値が出てくる、というようなものを探して
います。何か良い方法を知っている方がいましたら教えてください。

100:デフォルトの名無しさん
07/04/13 18:33:46
MATLABやScilabで式長の制限はあるんでしょうか?
Scilabでかなり長い式を定義しようとしたら,
invalid factorと言われて困っております..

101:デフォルトの名無しさん
07/04/14 09:23:29
>>99
そのものずばりなものは見たことないよ。
fieldnames()とかを使ってフィールド名を出してきたり、struct2cellで値を出してきたりして、あとはMD5なんかに突っ込むしかないんじゃないかなー。

102:デフォルトの名無しさん
07/04/18 13:22:38
初心者のしつもんです
simulinkで
y(0)=0
y'=1-xy
の微分方程式を作るにはどうやるのか教えてください
やってみたけどわかりませんでした
よろしくお願いします

103:デフォルトの名無しさん
07/04/18 13:49:42
すみませんスレ間違いました
出直してきます

104:デフォルトの名無しさん
07/04/23 18:07:27
ソースにIsim、placeってあるんですがどういう意味ですか?

105:デフォルトの名無しさん
07/04/24 09:19:10
あげ

106:デフォルトの名無しさん
07/04/28 14:31:42
isocolorsで3次元上の物体の表面に色をつけることができますが、同様に、alpha値を指定することはできないでしょうか?

107:デフォルトの名無しさん
07/05/01 16:54:04
一からMATLAB/simulinkを勉強しようと思っているのですが、
どういったところから始めるべきでしょうか?
解説書を見ながら、何かのデータをいじくっていけばいいのでしょうか?

108:デフォルトの名無しさん
07/05/02 18:10:44
clearで変数をクリアするとき、指定した変数以外をクリアする方法が知りたいです。
-regexpで正規表現を使うってのはわかるんですが
a ab abcって変数があるとき
clear -regexp [^\<ab\>]
とするとabcだけがクリアされちゃいます。

109:108
07/05/02 18:13:52
すいません変数abだけクリアしたいのです。

110:108
07/05/02 18:15:05
またまたすいません。
変数ab以外です。

111:デフォルトの名無しさん
07/05/04 15:19:36
108ですけど誰か答えられる人いないんですか?

112:デフォルトの名無しさん
07/05/04 16:50:58
clear allですべて削除した後、必要なものだけ再作成。

113:デフォルトの名無しさん
07/05/05 04:10:57
正規表現の話だろ?もはや matlab も関係ないよ。正規表現を勉強しろ、とだけ。

114:デフォルトの名無しさん
07/05/05 12:32:09
>>108
まあそれだとabcにマッチするよな当然。
そしてbはclearされないけどxはクリアされると。

115:デフォルトの名無しさん
07/05/06 04:50:08
リモートデスクトップでmatlabは使えないのでしょうか?

116:デフォルトの名無しさん
07/05/06 12:07:48
割れものだと使えません。

117:デフォルトの名無しさん
07/05/06 12:41:06
自宅で試行錯誤するだけならFreeMATでもいいんじゃないかな
URLリンク(freemat.sourceforge.net)

場合によっては octave-forge から持ってくるにしても
関数群が貧弱であれだけど

118:デフォルトの名無しさん
07/05/06 15:05:37
>>116
そうなの?

119:デフォルトの名無しさん
07/05/10 03:07:47
初心者です。質問させてください。
imhistでプロットしたヒストグラムの数値を
計算に使うにはどうしたらいいんでしょうか?
どこかに格納されてたりするんでしょうか。
お願いします。

120:デフォルトの名無しさん
07/05/10 03:42:55
ヘルプをみれば返り値として受け取れると書いてある

121:119
07/05/10 10:14:03
ありがとうございます~。

122:デフォルトの名無しさん
07/05/26 08:23:39
3Dボリュームの可視化で、表面の色を液体金属のようにしたいのですが、
どのようなパラメータを設定すればよいのでしょうか?

123:デフォルトの名無しさん
07/05/29 17:47:05
gzipで圧縮されているデータを解凍してから表示しているのですが、
解凍作業をmatlab上から行えないでしょうか?

124:デフォルトの名無しさん
07/05/30 00:08:44
!でコマンドラインよべなかったっけ?

125:デフォルトの名無しさん
07/05/30 08:03:46
>>124
dosとかunix

126:デフォルトの名無しさん
07/06/01 02:50:30
matlabで3次元グラフを表示させてその表示した三次元グラフの表面積って計算可能ですか?

127:デフォルトの名無しさん
07/06/05 00:50:58
表面積の計算は自分でやってください。

128:デフォルトの名無しさん
07/06/08 23:27:58
関数外のグローバルな変数を関数内で用いるには、変数として代入するしかないのでしょうか?

function Y = f(X,Za,Zb,・・・)

if X=1
 Y=sum(Za)
elseif X=2
 Y=sum(Zb)
elseif...

というように必要なグローバル変数Z*が非常に多いので、代入以外に方法があればと考えています。
Z*を一つの変数にまとめることも考えましたが、すでにZ*それぞれが3次元変数なので、出来れば避けたいです。

129:デフォルトの名無しさん
07/06/09 05:32:17
>>128
matlab global でぐぐるくらいしようよ。一発だよ。

130:デフォルトの名無しさん
07/06/16 11:35:13
x -y
y x
の逆行列を求めるにはどうやるの?

131:デフォルトの名無しさん
07/06/16 19:30:47
くだらない質問でごめんなさい。
色々調べてみてもイマイチ理解が出来ていないんですが・・・。
matlabでローパスフィルタを作製しようと思ったときに参考にできるサイト
ってありますかね?

132:デフォルトの名無しさん
07/06/16 23:18:28
>>130
inv([x -y ; y x])

133:デフォルトの名無しさん
07/06/16 23:19:09
>>131
ローパスフィルタを作ること自体はfilter関数に何を入れてやればいいかだけ。
信号処理論の勉強をすべし。

134:デフォルトの名無しさん
07/06/19 15:53:58
hann関数を使用すると
未定義の関数、またはメソッド 'hann' (タイプ'double' の入力引数)。
と表示されます
w = hann(1024);
と使っているのですがうまく動きません
だれかご教授を


135:デフォルトの名無しさん
07/06/19 20:05:39
Signal Processing Toolboxが入ってないんじゃない?

136:134
07/06/19 21:31:13
多分それだと思います
すぐに確認できないんで明日確認して報告します

137:134
07/06/20 16:04:45
確認したらSignal Processing Toolboxがありませんでしたので
練習ついでにhanning関数作りました。
ありがとうございました。

138:デフォルトの名無しさん
07/06/20 21:02:08
hannning関数をつくるなんてすごいなぁ

139:デフォルトの名無しさん
07/06/21 08:27:30
その辺の関数ならOctaveのがそのまま使えるんじゃないの?

140:デフォルトの名無しさん
07/06/27 02:11:43
2次元データを平滑化する関数はありませんか?

141:デフォルトの名無しさん
07/06/29 14:48:56
forループで時間を進めて
plotで表示しているのですが、最後のplotしか表示されません。
途中経過も表示したいのですがどのようにしたらよいのか教えてください

142:デフォルトの名無しさん
07/06/29 20:39:13
figure
hold on
for i=1:n
plot(なんとか)
end
hold off

こんな感じ?
forの前にhold onしてforのあとにhold offかな?

143:デフォルトの名無しさん
07/06/29 20:41:16
あー、もしかしてこっちかな?
figure
for i=1:n
plot(なんとか)
drawnow
end

drawnowですぐ結果表示だからね。
質問をはっきりして欲しい。

144:デフォルトの名無しさん
07/07/01 07:16:55
>>141
ソースも書かずになんで原因が分かると思ったんだ?

>>142,143 はひまでしょうがないから
たまたまあてずっぽうで答えてくれただけだからな。

145:デフォルトの名無しさん
07/07/01 08:38:58
>>143でうまくいきました。
どうもありがとう。



146:デフォルトの名無しさん
07/07/01 12:06:46
Linux版で動画を作成したいのですが、movie2aviは非圧縮しか対応していません。
圧縮フォーマットは何でもよいのですが、何かよい方法はないでしょうか?


147:デフォルトの名無しさん
07/07/01 12:35:54
>>146
mplayer とか ffmpeg とかいろいろあるじゃん。

148:デフォルトの名無しさん
07/07/03 13:23:05
教授から、作成したmファイルがコンパイルできないで困っていると相談を受けました
ソースを解読しながら修正することになったのですが、如何がコンパイルできない、どの関数が実行できないなどの情報はどこかに集まっていないのでしょうか?


149:デフォルトの名無しさん
07/07/03 14:18:59
教授のくせに頭悪いな

150:デフォルトの名無しさん
07/07/03 17:41:19
せめてどんなエラーが出るか書くとかしてね。

151:デフォルトの名無しさん
07/07/03 21:56:27
ふーむ m ファイルをコンパイルか・・・

152:デフォルトの名無しさん
07/07/03 22:25:59
「移動平均」ならぬ「移動最大値」(or「移動最小値」)
を計算できるような方法はございますでしょうか?
(自分でforとmax使って作ると遅いので・・・)

153:148
07/07/04 11:49:11
>>149
どうもすいません。確かに前提のお話が足りていませんね。

>>150
言いたいことは分かりますが、ただ教授も神様じゃないんです。

一応教授から聞いた症状ですが
・使用したコンパイラはmcc
・環境はmatlab6.5でコンパイルできた
・matlab7.1にしたらコンパイルできなくなっていた(これは共同研究者の環境ら

しいです

と、ここまでは聞いた話です。忘れてください。
それで、自分で試した限りでは
・matlab6.5ではコンパイルできず
・matlab7.0ではexeファイルを生成できるけど、実行できない
となっていました。

プログラムは用意したmp3(またはwav)ファイルを読み込んで、その波形から特徴

のあるところを探すものらしいですが、400行ちょっとあって、どこが原因なのか

探すのが一苦労です。
今後もmファイルのコンパイルにはお世話になる可能性が高いので、何が障害にな

るか傾向なんかがあるとやりやすいのですが…


154:デフォルトの名無しさん
07/07/05 07:42:43
たったの400行で何言ってんだ……

155:デフォルトの名無しさん
07/07/05 08:50:00
おまえソースコードもってんだろ?エラーメッセージぐらいなんでかかんの?

156:デフォルトの名無しさん
07/07/05 18:35:14
なんで教授が2chできくわけ?
教授なら外国の掲示板で聞くと思うが

157:デフォルトの名無しさん
07/07/05 19:59:17
いつ教授が2chできいたんだ?
それに教授だからとなぜ2chで聞くのがおかしいんだ?
教授は崇高な存在だとでも思っているのか?

158:デフォルトの名無しさん
07/07/05 21:22:59
スカートの中を手鏡で覗く教授に似てるなと思っただけ

159:デフォルトの名無しさん
07/07/07 23:02:18
Final
Fantasy
Tactics

160:デフォルトの名無しさん
07/07/08 14:31:49
以前のhelpだと
inv は、LINPACK のサブルーチン ZGEDI と ZGEFA を使っています。
とありますが、
最近のは
invは、LAPACKルーチンを使って、逆行列を計算します。
行列    関数
実数    DLANGE, DGETRF, DGECON, DGETRI
複素数  ZLANGE, ZGETRF, ZGECON, ZGETRI
となっています。具体的には、何が違うのでしょうか?

161:デフォルトの名無しさん
07/07/08 15:13:50
対称スペクトルをifftしても虚部の時間信号で出てくるのはなぜでしょうか?

162:デフォルトの名無しさん
07/07/19 05:08:44
Matlabのアカデミックパックの価格って誰かご存じないでしょうか?

163:デフォルトの名無しさん
07/07/19 13:53:10
>>162
基本システムは,去年購入した価格で10万円強だったが,価格改定されてるかも.
サイバネットシステムのサイトからメールで資料請求しなされ.
すぐにカタログと価格表を送ってくれるよ.

164:デフォルトの名無しさん
07/07/20 01:05:28
うむ。基本パックが11万円くらい。各ツールボックスが4万5000円くらい。

165:デフォルトの名無しさん
07/07/22 01:23:23
MATLABにLISPのmap関数の様なものはありますでしょうか?

166:デフォルトの名無しさん
07/07/23 01:09:35
>>165
なんでそんなものが必要だと思うのかを書かないの?

167:デフォルトの名無しさん
07/07/23 01:32:22
>>166

for文を使わずに,
'A.*B'や'A./B'の様に書きたいからです.


168:デフォルトの名無しさん
07/07/23 09:53:55
「何を」for文を使わずに'A.*B'や'A./B'の様にの様に書きたいのかを書いたら?
それは本当にlispのmap関数のようなものがないとできないのか?

169:デフォルトの名無しさん
07/07/23 10:17:18
>>168
おまえはまず興味があるのなら、Yes か No で答えてあげたらどうだ?
疑問文に疑問文で答えろと学校で教えているのか?ってやつだ

170:デフォルトの名無しさん
07/07/23 12:05:52
さいきんなぜだか知らんがこういうやつ多いよ

171:デフォルトの名無しさん
07/07/23 12:06:51
質問するなら何がやりたくて何が分からないのか全部最初に書く。
小出しにして質問者に質問させるような質問に親切に答えてくれる人は少ない。
>>169はそういう親切な人みたいだから、君が答えてあげたら?

172:デフォルトの名無しさん
07/07/23 12:11:23
>>171
あんたが質問の意味も理解できない馬鹿なだけだろ

173:デフォルトの名無しさん
07/07/23 12:13:49
mapでやるようなことをmatlabでは違う方法でやるのが普通。
>>172はちゃかしてるだけで結局答えることも
どう聞くべきかを教えてやることもしないんだろ?

174:デフォルトの名無しさん
07/07/23 13:10:04
普通じゃない方法はやるなと主張するわけだな?

175:デフォルトの名無しさん
07/07/23 14:57:43
>>174
そんなこと一言も言ってないのになんで勝手に決めるんだ?
でお前は質問に答えられもしないし
どう聞けばより答が得られやすいかを教えてあげるわけでもないんだろ?

176:初心者
07/07/23 21:36:26
MATLABのツールボックスを使わずに、
TSPの10都市問題をエネルギー関数を用いて解かせるプログラムを組みたいのですが、
全くわかりません。。
参考にできるサイトなどありましたらお教えいただけませんでしょうか。

177:デフォルトの名無しさん
07/07/23 21:41:48
pythonならmapなかった?

178:177
07/07/23 21:44:44
ちなみに
python matlab compatible
で検索すると幸せになれるかも

179:デフォルトの名無しさん
07/07/24 00:09:10
>>176
検索したら巡回セールスマン問題の解法アルゴリズムは
たくさん出てくると思うんだけど。

それをプログラムにしていく過程でまた具体的な質問が出てきたら
ここで質問したらいいと思うが、その質問だと全部ゼロから書いてくれ
って言ってるようなもんだぞ。

コツとしてはMATLABは忘れてpseudo codeでいいから求める手順を
まずしっかり書き出してみることだな。

>>177,178
matlabとmapで検索しまくって出てきた答?

180:デフォルトの名無しさん
07/07/25 02:09:20
>>176
traveling salesman annealingで検索したらそのまんまなのが見つかるな。
さすがに宿題でこのコード出すわけにはいかないだろうけど(笑)。

181:初心者
07/07/25 22:41:54
デフォルトの名無しさん、丁寧なご回答ありがとうございます。
参考にさせていただきます。

182:デフォルトの名無しさん
07/08/03 18:20:14
3つの列ベクトルx(i),y(j),z(k)をそれぞれx軸、y軸、z軸に設定してグラフを書きたいです。数式によって高さを与えるz平面のプロットは可能ですが実験で得られたデータを高さに与えて平面を書き出すことは可能ですか?


183:デフォルトの名無しさん
07/08/03 22:12:48
高さがあるのに平面とは…

184:デフォルトの名無しさん
07/08/05 04:35:53
mov2aviでPowerPointで再生できる動画を作成したいのですが、何を指定すればよいのでしょうか?


185:デフォルトの名無しさん
07/08/06 12:46:32
>>184
help mov2avi
何が出来て何が出来なかったのか言ってくれないと判らない

186:デフォルトの名無しさん
07/08/10 21:15:59
画像に、フィルターをかけるとき、フィルタのパラメータを調整したものを複数生成して
それらを一覧で表示したいのですが、
cat関数で横一列に繋げると、枚数が増えたとき表示のバランスが取れません。
何枚生成するかは、そのときそのときで違う場合で、よい方法はないでしょうか?

187:デフォルトの名無しさん
07/08/10 22:16:01
3次元のグラフというか立体図面を書きたい。
x,yの平面に高さzで、高さを面で現したような。
n行3列の行列があって(例えばdat)、行毎に[x,y,z]のデータの組が順不同に入っている。
例えば dat = [ 1 2 0.5; 1 3 0.6; 3 8 1.5; 1 1.5 0.6];
plot3(dat(:,1),dat(:,2),dat(:,3),'.') では上手く行かないし、surfaceを使えば良いのか、検討が付かない。
何か手掛かりだけでも、誰か教えてください。

188:デフォルトの名無しさん
07/08/11 02:38:41
>>186
で、そのフィルターが1個のときと1000個のときで
具体的にどう表示して欲しいんだ?

>>187
よく分からんけどsurfは? とりあえずhelp graph3dしろ。

189:186
07/08/11 18:33:27
>>188
えっと、ある程度表示がよくなればまったく問題ないのですが
画像の右上に、パラメーターの数値を書き込んで
それらの画像をおおよそウィンドウ内部に
おおよそ正方形くらいになるように並べられらばと思っています。

190:デフォルトの名無しさん
07/08/12 00:37:31
1個のときの表示、2個のときの表示、・・・と全部具体的にイメージできてる?
それが出きてればそれをプログラムに書けばいいだけ。文章から推測するに、
君はやろうとしていることを具体的に細分化して理解しようとしていない。
「おおまかにこんな感じ」ではプログラムにならない。
コンピュータはそんなにかしこくないんです。


191:デフォルトの名無しさん
07/08/24 10:49:42
すごい初歩的なことなのですが少数点以下をもつ数の累乗根を出すような関数やコマンドは何でしょうか?



192:デフォルトの名無しさん
07/08/24 11:14:08
ヘルプは当然見たんだろうけど、どうやって調べた?

193:デフォルトの名無しさん
07/08/25 03:05:55
>>192
helpでコマンド一覧みたいなのを見たのですが整数の累乗根を出すものしか見つけられなかったので質問させてもらいました

194:デフォルトの名無しさん
07/08/25 04:42:51
>>193
うちでは整数のみのそのコマンドが見つからないです。

195:デフォルトの名無しさん
07/09/12 18:12:42
等間隔で行を抽出するにはどうすればいいですか?
例えば、1行目、11行目、21行目…という風にです。

196:デフォルトの名無しさん
07/09/13 01:12:14
1:10:end
これじゃダメ?

197:デフォルトの名無しさん
07/09/13 18:58:31
matlabで箱ヒゲ図を描きたいです。
ヒゲは、errorbarを使えば何とかなるのですが、
箱を描く方法が思いつきません。
どなたか、ご教授してください。

URLリンク(www.sci.kagoshima-u.ac.jp)
こういう図が描きたいのです。

198:デフォルトの名無しさん
07/09/13 19:20:26
株価のローソク足に似てるなーと思って「MATLAB ローソク足」でググったら一番上にそれらしきものがでてきたよ
Financial Time Series Toolboxがいるらしい

そこでCandle Plotを描くだけならだれかが自作のmファイルを後悔してるかも知れないと思って
「MATLAB Candle Plot」でググったらCandle.mを無性公開しているサイトを発見したぜ

199:デフォルトの名無しさん
07/09/13 19:20:30
>>195
fid = fopen(filename);
while 1
line = fgetl(fid);
 if length(line)==0
break;
end
// 任意の操作をここに。
for ii = 1:10 // 10行を読み飛ばす。
fgetl(fid);
end
end
fclose(fid);

でOK?


200:197
07/09/13 19:57:27
>>198
多謝。それです。
「ローソク足」というものがあるのですね。知りませんでした。
見つけていただいたコードを参考にしたいと思います。

以下、チラ裏。
plot( [x1 x2 x2 x1 x1], [uh uh lh lh uh] ));
で、箱が描けるとは。
matlab暦5ヶ月目で、新鮮な発見。
検索スキルとmatlab力を磨いて出直してきます。

201:195
07/09/15 16:14:20
>>196>>199
できました、ありがとうございます。


202:デフォルトの名無しさん
07/09/23 16:27:08
MATLABには行列内部の最小の値を取る関数はあるけど
最小の値のある場所のインデックスを返す関数ってないよね


203:デフォルトの名無しさん
07/09/23 16:40:45
同じ関数

204:デフォルトの名無しさん
07/09/23 19:07:22
help その関数
で、わかりますよ^^

205:デフォルトの名無しさん
07/09/25 11:19:11
ygridの位置を指定するにはどうすればいいのでしょうか?

206:デフォルトの名無しさん
07/09/26 00:01:34
もっと詳しく書いて欲しいところだが、
set(gca, 'YTick', [ ... ]);
とかでどう?

207:デフォルトの名無しさん
07/09/26 16:05:17
matlabのグラフで,プロットした波形にマウスを当てると,
その時点での縦軸と横軸の値が出ますが,
それを,コマンドプロンプトでやりたいんですが,
関数かなにかありますか?

検索しても見つからなかったので,
やはり自分でプログラムを組むべきなのでしょうか?


208:デフォルトの名無しさん
07/09/27 15:34:32
>>207
つ[gnuplot]

209:207
07/09/27 23:44:56
>>208
ご教授ありがとうございます.

gnuplotは,さわりだけしか使ったことないんで,
どうなるか分かりませんが,やってみます.


210:207
07/09/27 23:47:12
ということは,
そういったことができるmatlabコマンドはないんですね・・・

211:デフォルトの名無しさん
07/09/28 14:52:23
画像処理でアフィン変換できる関数が見当たらないのですが気のせい?
結構基礎的な関数の気がするんだけど

212:デフォルトの名無しさん
07/09/28 22:45:39
そのくらい自分でやれ、ってことじゃないの?

213:デフォルトの名無しさん
07/09/29 11:00:49
まとめサイトはありませんか?

214:デフォルトの名無しさん
07/09/30 15:08:48
v=1*50000 vector & A=50000*50000 matrix

v*AをやろうとするとOut of memoryになっていまいます。

メモリーを追加しないで、効率よく計算するにはどうしたらいいですか?
よいBuilt-in関数とかないっすか?

215:デフォルトの名無しさん
07/09/30 19:10:11
>>202
ヘルプ見なさい

216:デフォルトの名無しさん
07/09/30 22:31:40
>203,204,215
helpみました
吊ってきます…

217:デフォルトの名無しさん
07/10/01 17:27:37
Axes上に複数のLineオブジェクトを作成しました。
このLineをマウス操作で移動したり、リサイズしたりしたいと思ってます…。

Axes上にLineを引くときは、function axes1_ButtonDownFcn( )でいけました。
しかし、function axes1_ButtonDownFcn( )の中にselectmoverisizeを書くと、
Axes自体が移動・リサイズされてしまいました。

そもそも、Lineオブジェクトをselectmoveresizeで操作するのは無理なんでしょうか?

218:デフォルトの名無しさん
07/10/02 15:25:07
3次元プロットで、(例えばsurfなどで)値がaxisで指定した範囲外にあってもプロットされてしまうのですが、
axisで指定した範囲内のみプロットするようにするにはどうしたらよいのでしょうか?

219:デフォルトの名無しさん
07/10/02 16:06:06
関数を定義する場合必ず別ファイルにしないといけないのですか?
同一ファイル内で定義することはできないものでしょうか?

220:デフォルトの名無しさん
07/10/02 18:45:41
>>218
aってのを3次元の行列だとして
surf(a(xmin:xmax,ymin:ymax,zmin:zmax))
じゃだめ?
意味取り違えてたらごめんね。

>>219
スレリンク(tech板:82-番)
同じスレなので出来れば読んでね。

221:デフォルトの名無しさん
07/10/04 03:19:13
matlabってリーもとデスクトップじゃつかえないのだね

222:デフォルトの名無しさん
07/10/11 14:00:14
bata版のNAG ToolBox for MATLAB
無料評価版

URLリンク(www.nag-j.co.jp)

223:デフォルトの名無しさん
07/10/11 14:23:25
pythonで大部分の数値計算できるけどmatlabってやっぱりまだ需要あるの?

224:デフォルトの名無しさん
07/10/11 16:29:25
>>223
C で python のできることは全部できるけど python って需要あんの?

225:デフォルトの名無しさん
07/10/12 00:19:45
俺紙とエンピツで全部やってるけどコンピュータって需要(ry


226:デフォルトの名無しさん
07/10/12 05:57:48
さすがにMATLABのスレでそりゃないだろ。
手作業でやったら一生かかっても終わらん計算してるだろうに。

227:デフォルトの名無しさん
07/10/23 14:25:52
質問なのですが、下記のプログラムをsimulinkでブロック図にて表すにはどうすればよろしいでしょうか?

clear allsyms z n p T
syms z n p T
h=0.1;
A=[exp(-h) int(exp(-T),0,h);-0.5 1];
b=[0;0.5];
c=[exp(-p) int(exp(-T),0,p)];
G=c/(z*eye(2)-A)*b;
R=z/(z-1);
Y=R*G;
y=iztrans(Y);
t=1;
for m=0:9,
v(1,m+1)=subs(y,n,m);
for l=0:9,
w(1,l+t)=subs(v(1,m+1),p,l*1e-2);
end
t=t+10;
end
figure
plot(w)
grid on

228:デフォルトの名無しさん
07/10/23 18:32:33
それは質問じゃなく変換依頼

229:デフォルトの名無しさん
07/10/25 03:43:18
タブ区切りのデータなのですが、一行目が見出しになっています。
一行目をのぞいて簡単に読み込む方法はないでしょうか?

230:デフォルトの名無しさん
07/10/25 07:53:38
fgetl

231:デフォルトの名無しさん
07/10/25 16:19:50
たぶん激しく初心者な質問でスマソなんですが、サイズがL,M,Nな3次元変数を3次元プロットする方法知りませんか?

232:デフォルトの名無しさん
07/10/25 22:13:34
強度イメージから一定範囲の強度値だけを抽出する
方法を教えてください

233:デフォルトの名無しさん
07/10/25 22:39:50
田中真紀子のポロリ画像ありますか?

234:デフォルトの名無しさん
07/10/26 09:37:43
オナニーをすると身長が伸びないというのは本当ですか?

235:231
07/10/28 16:40:35
>>231
自己解決しますた

236:デフォルトの名無しさん
07/11/01 13:39:31
質問させてください。
specgramの逆の操作がしたいです。
X=specgram(x,128,8000);
で、
スペクトログラムXから音xを合成したいのですが、どうしたらいいですか??


237:デフォルトの名無しさん
07/11/02 00:57:30
synthesizeとかいう命令があったような気がする。
matlabじゃなくてoctaveの命令だったかも。

238:デフォルトの名無しさん
07/11/02 06:26:24
Core2duoに変えたんだけど、64BITに変えたら
計算すごく速くなる?
ベンチとかないかなぁ

239:デフォルトの名無しさん
07/11/02 19:57:08
入力したサウンドデータを,何の音なのか
(例えば,パトカーのサイレン,人の叫び声等)
分類するソフトを個人的に作成しています.

とりあえずmatlabでスペクトル表示を行い,
様々なサウンドデータのスペクトルを見たのですが,
分類の条件を何にしようか考えています.

「パトカーのサイレンは○○Hzで特に高いピーク値を得られる」
などの特徴を分類する際の条件にできるかなと思ったのですが,

この他に,音を分類する上で有効な条件となるようなものを
ご存知の方がいましたらご教授お願いします.



240:デフォルトの名無しさん
07/11/02 20:58:50
スレ違い

241:デフォルトの名無しさん
07/11/02 21:45:16
自分の目でいういろ比較して確かめなさい

242:デフォルトの名無しさん
07/11/04 12:40:22
はじめまして、matlab初心者です。
早速ですが質問させて下さい。

任意形状の2次元物体をメッシュ切りした上に、
コンターグラフの様な物を描かせたいのですが、
どなたか出来る方法をご存じないでしょうか?

宜しくお願いします。

243:デフォルトの名無しさん
07/11/04 19:30:34
matlabのメインウインドに打ち込むだけでsimulinkの開始ボタンを押したのと同じ処理になるコマンドってありますか?


244:デフォルトの名無しさん
07/11/05 20:40:09
>>243
SIM

245:デフォルトの名無しさん
07/11/07 10:02:25
例えば4x4のマトリックスを2x2にして、各要素は元々のヨウ素を加算してくれる関数はないですか?
ループとsum関数を使えばすぐに出来るんですがね


246:デフォルトの名無しさん
07/11/07 10:05:37
>>211
Image Processing Tool Boxだったかにあるよ。座標変換してからinterp2に流し込めばすぐにできるけどね。

247:デフォルトの名無しさん
07/11/07 22:42:27
>>245
じゃぁ、ループとsum関数を使えば?

248:デフォルトの名無しさん
07/11/08 01:47:43
>>247
matlab ではできるだけループを使わないのが重要
速度がダンチ

249:デフォルトの名無しさん
07/11/08 05:18:32
書き方が曖昧でわからんがエスパーの俺ならこうかな。Aのサイズは偶数として。
B=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);


250:デフォルトの名無しさん
07/11/08 05:19:06
:と,一カ所ミスった。

251:デフォルトの名無しさん
07/11/09 15:59:58
??? エラー: ==> anfisedit
SCRIPT anfisを関数として実行してみてください.

これを解決するにはどうすればよい のでしょうか?
一週間前ぐらいにMATLAB始めた者です。

252:デフォルトの名無しさん
07/11/09 20:08:08
>>251
SCRIPT anfisを関数として実行してみてください.

253:デフォルトの名無しさん
07/11/11 22:32:56
MATLABで式をニュートンラプソン法でとくにはどうしたらいいでしょうか?
分からなさすぎてノイローゼになりそうです。

254:デフォルトの名無しさん
07/11/12 02:23:50
まぁスレ違いだわな

255:デフォルトの名無しさん
07/11/12 07:39:22
GUI上でxの変域をかえたいんですけどどうすれば良いですか?

256:デフォルトの名無しさん
07/11/13 21:23:48
GUI上で数値を入力させて、
set(h, 'xlim', [x1 x2]);
じゃダメなの?

257:デフォルトの名無しさん
07/11/16 21:18:38
FORTRANで書いたものを、
MATLABに変換したいのですが、手書き以外で
何かいい方法あったら教えてください。

258:デフォルトの名無しさん
07/11/16 22:16:21
fftでパルスの周波数帯域を表示させたいんですが、
周波数軸をどうやって設定すればよいかわからないのです。
パルスはガウシアンパルスでUWBなので5ギガ位まで表示させるつもり何ですが、うまくいかないのです。
どなたかお願いします。

259:デフォルトの名無しさん
07/11/17 02:50:17
>>257
グーグルの使い方くらい知らないと
今後いろいろ苦労すると思うから覚えた方がいいよ。

260:デフォルトの名無しさん
07/11/17 18:16:24
ファイルの読み込みで指定した列だけ読む方法ってありましたっけ。

A = load("hoge.txt");
B = A(:,4);
みたいに、全部読んで目的列以外は捨てればいいんですが、
ファイルのサイズが大きいと、
全部読むのに時間がかかるので、効率化したいのです。

261:18
07/11/17 23:13:55
matlabでシミュレーションを5回もするとメモリが500Mから1Gくらいまで増えてしまうんですが、
これってなぜなんでしょうか?

262:デフォルトの名無しさん
07/11/18 00:14:17
>>260
dlmreadのマニュアル読むと良いよ。

263:デフォルトの名無しさん
07/11/18 13:49:03
対数データのフィッティングの方法を教えてください。
通常のデータであれば、最小二乗法ですが、対数データの場合はどのようにやればよいのでしょうか?

264:デフォルトの名無しさん
07/11/18 16:04:56
対数の底で冪をとって最小二乗法

265:beta-infinite
07/11/20 13:16:10
「MATLABの極」というブログを書いています。良ければ、ご参考に
URLリンク(beta-infinite.blogspot.com)

266:デフォルトの名無しさん
07/11/25 19:51:53
著作権違反ですよw

267:デフォルトの名無しさん
07/11/26 18:14:01
MATLABを使ってBP法のニューラルネットワーク作らないといけないんですが
誰か請負いませんか?
価格は応相談、MATLAB使えてBP法分かる人ならそんなに難しい作業じゃないと思います
仕様とかその辺は請け負ってくれる人がいたらメールなりなんなりで連絡します

268:デフォルトの名無しさん
07/11/26 18:32:59
今、手一杯だからなー。
月80万だったら考えるけどね。
それかNNツールキット買えばいいんじゃないの?

269:デフォルトの名無しさん
07/11/26 18:46:20
ていうか自分で作れって感じ
層やニューロン数を完全に一般化した物でなければ速攻で作れるでしょ
もちろんfor文抜きでな

270:267
07/11/26 19:12:50
料金は
3時間未満:一律12000円
3時間以上:時給4000円
7時間以上:一律28000円
このあたりでよろ

おれ自身じゃ作れないので金で解決する

271:デフォルトの名無しさん
07/11/26 19:19:22
安すぎ

272:デフォルトの名無しさん
07/11/26 19:29:20
委託研究でMATLABでソフト作ったときは、30万もらったな

273:デフォルトの名無しさん
07/11/26 20:31:27
作成物の複雑さとか教えてもらえずに
7時間以上28000円は安いな。

274:267
07/11/27 00:00:36
ここでは話せないが詳しい仕様を聞いてくれるやつはレスくれ
秘密厳守の上その時点で断ってくれてもOKだから

275:デフォルトの名無しさん
07/11/27 00:06:40
こんなところで依頼しようとしている時点でダーティなイメージがついてて嫌だ
全然予算がないようだし学生の卒論か?

276:267
07/11/27 01:14:15
>>275
まさにそれ
誰か頼むよ~

277:デフォルトの名無しさん
07/11/27 01:19:35
URLリンク(www.mes.p.dendai.ac.jp)
↑この最後のページにある問題を教えてください。
参考の為に問題文だけ書くと・・・

1)40名のクラスがあった時、すべての人の誕生日が異なる確立をモンテカルロ法で計算しなさい。
2)その結果を解析的に求めた結果と比較・考察しなさい。
よろしくお願いします。

モンテカルロ法が使えるプログラムはMATLABと書いてあったのでここに質問しました><
スレ違いでしたらすみません。。

278:デフォルトの名無しさん
07/11/27 06:40:06
別に matlab じゃないとできないわけじゃない。プログラミング言語に依存してたまるか

279:請負人
07/11/27 11:53:45
請負内容を見て判断したいです。詳細内容などをメールをください

280:請負人
07/11/27 11:59:51
>>267
>>270
請負内容を見て判断したいです。詳細内容などをメールをください。
秘密厳守を守ります。

281:デフォルトの名無しさん
07/11/27 18:59:28
手元にはバックプロパゲーション法の自作ソースくらいあるんだが
バカ学生に使いこなせるとは思えん

282:デフォルトの名無しさん
07/11/28 15:25:32
matlab にファイル名を変えるコマンドってありましたっけ?
同時にファイル内の関数名もあわせて変えてくれるとベスト

283:デフォルトの名無しさん
07/11/29 23:23:21
URLリンク(www.cybernet.co.jp)

このページの
h=plot(0,0,'.b','MarkerSize',30,'EraseMode','xor');
を使ってアニメーションを作る方法で、
同時に2つの色の違うボールを描画するにはどうすればいいのですか?

284:デフォルトの名無しさん
07/11/29 23:34:51
matlabで書いたグラフで、線と線に囲まれた部分の
面積を求めることは可能でしょうか。
ファイルをアップしましたので、よろしかったら見てみてください。
URLリンク(www.csync.net)
(ファイル名はmatlabです)

画像の灰色の部分の面積を求めたいのですが、
積分のやり方もわからないのです(:_:)

あとMファイル(txtになってしまってます)のコピーが二つありますが、
mensekiの方は画像の元になるグラフが書けます。
danmenの方は、元のプログラムですが、
xの値を0~0.5まで変えると赤と緑の線が一周するように
できているのですが、この二つの線と、黄色の線が作る面積を求めたいんです。

どんな方法でもいいのでどなたか教えてくださいm(__)m


285:beta-infinite
07/11/30 00:29:49
>>283
「MATLABの極」にソースをアップロードしました。いかがでしょうか
URLリンク(beta-infinite.blogspot.com)

286:デフォルトの名無しさん
07/11/30 03:26:05
教えてください。
MAT LABで書いたFigureのX軸Y軸をX→Y、Y→Xと逆にしたいのですが
どうすればいいんでしょうか?お願いします。

287:283
07/11/30 10:53:34
>>285
ありがとうございます。
今までhold onとか使っていたんですが、こんなシンプルにいけたんですね。

ですが、シミュレーションしたものをアニメーションとして表示したいので
この方法だとどうしても描画が遅くてシミュレーションの結果通りに描画できません。
そこで>>283の方法は高速だということなので、
>>283のイレースモードxorを使う方法でのやり方を知りたいのです。

>>283の方法以外でも高速に描画できる方法をご存知の方はお願いします。

具体的にしたいことは、
・2つボールの0.001秒毎の位置が2つの配列に入っている。
・それをある時間dt秒毎に描画したい。
・1回の描画毎にpause(0.001*dt);などして時間に正確にアニメーション化したい。

自分のやり方や>>285さんのやり方だと
dtを大きくすればするほどアニメーションがゆっくりになってしまいます

288:283
07/11/30 10:56:39
>>287の修正

× pause(0.001*dt);
○ pause(dt);

289:MATLABの極
07/11/30 12:02:44
>>288
PAUSE(n) は、n秒間停止して、その後実行を続けます
当然ですが、pause(dt)のdtを大きくすれば、
アニメーションがゆっくりになってしまいます

290:MATLABの極
07/11/30 13:29:41
>>286
view(90,90)という関数を使えば、いいと思います。
URLリンク(beta-infinite.blogspot.com)
に参考

291:283
07/11/30 13:44:06
>>289
ですが、dtを大きくするとその分荒いサンプリングをすることになるので
描画時間がdt秒に比べて十分小さければ同じようなアニメになるはずですよね
コマ送りになるかどうかの違いはあれど。
でもやはり描画時間はそこまで小さくするのは無理なのでしょうか。
MATLABではこんなことはできないのでしょうか

292:MATLABの極
07/11/30 14:04:16
>>291
現状の1コマの処理時間は、
= matlabの演算時間 + 描画の時間 + pause(dt)の時間
matlabの演算時間 + 描画の時間をなくする方法は、getframe,movie,movie2avi関数で
使うといいと思います。

URLリンク(beta-infinite.blogspot.com)
に参考


293:デフォルトの名無しさん
07/11/30 15:21:36
beta-infinite.blogspot.comってパクリしかないじゃんかw


294:MATLABの極
07/11/30 15:45:10
>>293
MATLABの修業中です。覚え書きのブログだと思っていただければ、

295:283
07/11/30 16:30:08
>>292
やっぱgetframe,movie,movieしかないですかね
ありがとうございました

296:デフォルトの名無しさん
07/11/30 17:13:21
著作権違反だので、通報しました

297:デフォルトの名無しさん
07/11/30 17:57:24
FFTを使って、スペクトルを計算するのって、どうすればいいの?

298:デフォルトの名無しさん
07/11/30 21:40:02
だので

299:デフォルトの名無しさん
07/11/30 22:31:07
>>297
help fftとコマンドを打って出てきた説明を理解できなければ
回線を切って死ぬか教授に頭を下げて教えを請いなさい

300:デフォルトの名無しさん
07/12/01 04:36:12
>>297
beta-infinite.blogspot.comだけは見ないように。

301:デフォルトの名無しさん
07/12/01 12:59:02
fftはtwo-sideの出力を出すので、help fftだけでは話は完結しない

302:デフォルトの名無しさん
07/12/01 16:02:42
教えてください。
プログラムで図を描かせたときにX,Y,Zラベルの刻みのラベルを
変更したいのですが、関数などプログラムで書かせることができるでしょうか?
少し伝わりにくい文章ですが、よろしくお願いします。

303:デフォルトの名無しさん
07/12/01 16:26:01
なんか楽に関数名リネームする方法ねーのかよ

304:デフォルトの名無しさん
07/12/01 17:18:44
>>303
関数名リネームって>>282が言ってるようなことか?
もしそうならファイル名と違ったらファイル名の方が優先なだけだから
コード中の関数名は適当でOK。

しかしそういう時は普通呼ぶ側のコードも変えないといけないから
どっちにしろ一括置換とかする程度の手間をはぶくのは無理なわけで
コードの頭の関数名変えるくらいの手間は取るに足らないと思うが。

305:デフォルトの名無しさん
07/12/01 19:52:21
>>297
ここ見るといいよ
URLリンク(www.mathworks.com)

306:デフォルトの名無しさん
07/12/02 18:39:33
>>302
できる。

307:デフォルトの名無しさん
07/12/04 06:02:50
関数の入力にベルトルの集合としての行列をいれるとき皆は
NxD 派? DxN 派?where N is the number of vectors and D is the dimension of each vector.
どっちのほうが親切なんだろう?toolbox によって(人によって)違うんだよねぇ。

308:デフォルトの名無しさん
07/12/04 09:55:13
シミュレート板で回答を得られなかったので。

simulinkである変数がある値になったときシミュレーションを終了したいのですが
どうすればできますか?

309:デフォルトの名無しさん
07/12/05 06:53:25
ムービーを作成する際に、figureウインドウを出さずに作成することはできないでしょうか?
figureウインドウを作成してgetframeで取り込む場合、スクリーンキャプチャをしているようで、
他の作業をすると、その画像がムービーの中に入ってしまいます。
そのためムービー作成中は何も作業ができません。


310:デフォルトの名無しさん
07/12/05 16:25:53
DICOMファイルから画像読み込み、JPG形式で書き込みしようとしてるのですが、
X=dicomread('--.dcm');
[Y,map] = gray2ind(X);
imwrite(Y,map,'--.jpg','jpg');
とすると、colormapを使用したimshowの表示画像と異なってしまいます。
よろしくお願いします。

311:デフォルトの名無しさん
07/12/05 18:06:21
正の実数からなる対角行列の、各行と列について、
要素の大きさが対角成分の要素の大きさの0.5から2倍の範囲なら1で置換、
それ以外なら0で置換する、
ってforループを使わずにできるでしょうか?

312:デフォルトの名無しさん
07/12/05 23:19:50
質問ばっかで誰も答えてくれない罠wwwwwwwww

313:デフォルトの名無しさん
07/12/06 00:59:41
>>311
対角行列なら対角成分以外すでに全部0やん

314:デフォルトの名無しさん
07/12/06 02:21:48
これぞまさに質問スレ

315:デフォルトの名無しさん
07/12/06 08:48:34
vistaは2007aで正式サポートですが、2006aで動かした場合、どこかに既知の問題のようなリストはないでしょうか?


316:デフォルトの名無しさん
07/12/07 01:04:38
>>307
僕はMatlabで音系のことをやってるけど、
wavwriteとかのデフォルトが行=サンプル/列=チャンネルなので、
ベクトルの集合はいつも縦長ベクトルを横にいくつか並べるというかんじ。
DxNってことになるのかな?

317:デフォルトの名無しさん
07/12/07 12:48:35
u1=[ [ { arctan( ( 1-k ) * cot( u1*v*w ) -b*tan(u1*v*w) ) } /( 2*a) ] + ( q*π ) ] / [ { arctan( (1-k) * cot(v*w) -b*tan(v*w) ) } / (2*a) ]
u2=[ [ { 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」

と、こんな感じなのですが,どなたかサクっと作ってくださいませんでしょうか・・・

318:デフォルトの名無しさん
07/12/12 05:19:53
秀丸用の強調定義ファイルはありませんか?

319:デフォルトの名無しさん
07/12/12 10:23:37
matlab ってファイル読み込み関連の関数が貧弱で困った。
一行にいくつ数があるかわからないときにどうやって読み込んだらいいんだ?

ちなみにこんなファイルフォーマット
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 に行っている。
そして最後の行は、他の行と読みこむ数が違う。


320:デフォルトの名無しさん
07/12/12 10:36:23
fgetlで1行まるまる読んで、strtokで切り出していくしか無いんじゃないの?Cでも普通そうだろ?

321:デフォルトの名無しさん
07/12/13 04:09:16
>>319
それを一発で君の思い通りに読んでくれる
ファイル読み込み関連の関数が貧弱じゃないやつって何?
煽ってるんじゃなくて単に興味があるから知りたい。
ExcelとかRとかできるんかな?

322:デフォルトの名無しさん
07/12/13 12:21:50
excelじゃ無理だね。

323:デフォルトの名無しさん
07/12/13 13:11:34
figureウインドウを表示させずにムービーを作る方法を教えてください

324:デフォルトの名無しさん
07/12/13 13:25:52
>>319と似た質問なんですが
フリーフォーマットで他のソフトで出力されたデータを取り込みたいのですが
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だとフォーマットの指定に不足があるのでしょうか??

325:デフォルトの名無しさん
07/12/13 14:21:09
>>324
textread は一行ずつ読み込むんだろ?
最初の行は先頭以降何もないから0をが入っていくと。
[data1,data2,data3,data4,data5,data6,] = textread('ファイル名.txt', '%f %f %f %f %f %f')
として、奇数行と、偶数行に後でわけるとかになるんじゃね?


326:デフォルトの名無しさん
07/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(スペース)を読み込んでるので
行をまたいでも効果があることになると思うんです。

327:デフォルトの名無しさん
07/12/13 15:39:32
1 1 0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.58726901E-12 0.55467926E-06

328:デフォルトの名無しさん
07/12/13 15:41:18
あああすいません、変な書き込みしてしまいました
1 1 0.00000000E+00 0.00000000E+00 0.00000000E+00
0.00000000E+00 0.58726901E-12 0.55467926E-06

329:デフォルトの名無しさん
07/12/13 15:42:56
どうやらうまく書き込めないのですが
1番目、2番目の1の下にはスペースが存在していて
3番目の0.00000000E+00 と下の行の0.00000000E+00 は
列がそろっています。

330:ks
07/12/16 14:41:45
========
教えてください。
========
1次遅れ+無駄時間要素を含む制御対象の限界感度法による
PIDパラメータをmatlab上で、どう求めるんですかね~

========
教えてください。
========


331:デフォルトの名無しさん
07/12/21 01:33:00
>>329
textreadにこだわらなくてもいいんじゃないの?

332:デフォルトの名無しさん
07/12/27 03:52:31
matlabでfor文をまわす時
ループが終わるごとに変数をclearした方がよかったりします?

不振な挙動。。

333:デフォルトの名無しさん
07/12/27 09:04:36
そんなことないと思うが。
それにしても、Matlabバージョンとか書かないと。

334:デフォルトの名無しさん
07/12/28 00:55:49
たぶんそれはいくつかの変数を間違って使ってるかロジック間違えてるだけだ。
ちゃんと全部読み直せ。

335:デフォルトの名無しさん
08/01/07 02:46:00
波形処理をやっていてカーブフィッティングをしています。
fit関数を使ってフィッティングをしているのですが、
フィッティング後の曲線のパラメータが読み取れません。
fit1 =

一般モデル Exp1:
fit1(x) = a*exp(b*x)
係数(95% 信頼区間付き):
a = -10 (-10.17, -9.831)
b = -0.01371 (-0.01403, -0.01338)
こんな感じでフィッティングしたあと、bの値を使いたいのですが、
どうすれば読み取れますか?
初心者の質問ですみません。

336:デフォルトの名無しさん
08/01/08 00:30:09
2値化した画像をカラー画像にするにはどうしたらいいですか

337:デフォルトの名無しさん
08/01/08 00:51:57
それはもう情報がかなりないからとても難しいあるね

338:336
08/01/10 14:39:29
>>337
カラーは白黒でよいのですがそれでも無理ですか?

339:デフォルトの名無しさん
08/01/10 16:15:22
>>338
それは、フォーマット変換したいと言うこと?
それとも、2値のメッシュをグレイにしたいと言うこと?

340:デフォルトの名無しさん
08/01/10 22:09:11
2次元座標から、各座標の点をラインで連結してプロットさせ
それを画像として処理したいのですが、現在は
plot(point(:,1),point(:,2));または
line(point(:,1),point(:,2));
pointは100*2行列、xy座標の点100個としています。
これだとプロット結果を保存しても画像のサイズが変更されてしまいます。
点と点を直線で結んでいく関数などありましたら教えていただけないでしょうか?

341:デフォルトの名無しさん
08/01/11 04:51:05
行列の積で初歩の初歩的な質問だと思うのですが誰か教えてください!
10000x10の行列Aがあるとします。
A*A'だとout of memoryと出力されるのですが
A'*Aだとちゃんと計算結果が出力されます。
考えてもイマイチ理由が浮かんで来なかったのでどなたか教えてください~!
単純な質問で失礼しました。

342:デフォルトの名無しさん
08/01/11 07:34:46
前者は 10000x10000
後者は 10x10
の出力になるだろう?明らかすぐる

343:デフォルトの名無しさん
08/01/11 08:40:10
これはひどい

344:デフォルトの名無しさん
08/01/11 09:11:51
(・A・)*(・A・)'

345:デフォルトの名無しさん
08/01/11 15:54:33
ホントだwww頭悪くてすまそww
ありです。

346:デフォルトの名無しさん
08/01/12 16:46:00
plotで描ける線の種類を増やせないでしょうか?
6種類のデータを1枚の図に、白黒で書く、ということで困っています。

347:デフォルトの名無しさん
08/01/12 21:13:17
>>346
解決しないかも知れないけどマーカと併用するのはダメなんですか
線種で区別できる程に線が絡み合ってないのならそれでいけるのではないでしょうか

348:デフォルトの名無しさん
08/01/12 22:26:34
>>339
フォーマット変換のほうだと思います。

349:デフォルトの名無しさん
08/01/15 10:21:20
>>348
MATLABでなくていいなら、画像ビューワでも画像エディタでもいくらでもやりようがありそうだが。
何を、何故、MATLABでやりたいのか全然判らんのだよ。

350:デフォルトの名無しさん
08/01/15 22:46:03
>>349
MATLABで画像処理の勉強をしろといわれ、つい2値化の画像を白黒だけの
カラー画像に変えてやろうと思った。

351:デフォルトの名無しさん
08/01/16 00:07:40
まずおめーは、白黒だけのカラー画像とかわけわかんねーことをいうな
カラー画像っつったらRGBとか3チャネルあるやつを普通は指すんだよ。

352:デフォルトの名無しさん
08/01/16 00:15:23
あほす
R == G == B のことだろ

それより2値化の画像って何だ?
2値の画像だろ


353:デフォルトの名無しさん
08/01/17 06:03:13
ステップ応答の試験をしてMATLABで伝達関数を出したいんですけど、
最小二乗でフィットさせるときの方法とかいうのが分からないので教えてください。


354:デフォルトの名無しさん
08/01/17 12:20:28
テキストファイルの行数を事前に知る関数はないでしょうか?


355:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/01/18 00:32:14
>>353
どういう関数系にフィットさせるの?

357:デフォルトの名無しさん
08/01/18 06:14:54
>>357
よくある1次遅れ、2次遅れ、むだ時間とかいうパラメータを使った低次元伝達関数です
たとえば
G(s) = Kωn^2 / (s^2 + 2ζωns + ωn^2) * e^(-τs)
のパラメータを出したいんです

358:デフォルトの名無しさん
08/01/18 06:15:39
安価ミス
× >>357
○ >>356

359:デフォルトの名無しさん
08/01/18 06:31:51
あ、あと私のMATLABにはSystem Identification Toolboxが入っていないのでこれを使わない方法を教えて欲しいです。

360:デフォルトの名無しさん
08/01/18 08:58:30
そこまでわかっているのなら、最小自乗でフィットするだけじゃん

URLリンク(www.wakayama-u.ac.jp)

361:デフォルトの名無しさん
08/01/18 10:53:24
指数関数的に減衰していくデータにフィットさせたいのですが、このように非線形の場合どのようにやればよいのでしょうか?
対数プロットでは直線になるので、何か最小自乗法のような物は使えないでしょうか?


362:デフォルトの名無しさん
08/01/18 17:47:29
fminsearch関数使えば?Simplex方による繰り返し計算だけど。

363:デフォルトの名無しさん
08/01/18 19:14:34
数学的には間違いだけれども、
対数変換して直線フィットすると、ある値が出る。
それを初期値に>>362にしたがって、解を探す。

364:デフォルトの名無しさん
08/01/19 12:02:15
>>360
ごめんなさい
その最小二乗でだけっていうところが分からないでの聞きにきたんですよね・・・

365:デフォルトの名無しさん
08/01/19 12:47:42
polyfit使えば一発。ただ原点に返って正規方程式を逆行列で解くのもありだな。

366:デフォルトの名無しさん
08/01/19 14:03:31
>>364
MATLAB以前の問題なのか…

>>365
polyfitって、フィットさせる式に制限があるからね。

367:デフォルトの名無しさん
08/01/19 21:23:54
>>365
ployfitって単なる多項式しか出来ないんですよね

>>366
MATLAB以前の問題かもしれないんですけど、
やるとしたらデジタルで出てきたデータをz変換してそれを行列使って最小二乗してやるということになるのでしょうか?

368:デフォルトの名無しさん
08/01/20 15:18:25
だから単純なたとえばy = a*x^2 + …とか>>360に書いてあることはわかるんだが、
伝達関数の場合のプロセスが分からないっていうことなのだが教えてもらえないのか?
なにを調べたらいいか分からないからここに来たんだが

369:デフォルトの名無しさん
08/01/20 18:50:24
>>368
あなたはどういうデータを持っていますか?
理論的には、どういう操作をしますか
どういう式にあわせて、係数を推定したいですか?

370:デフォルトの名無しさん
08/01/20 19:08:25
わかった具体的に質問しよう
まず>>357のような伝達関数で出力されたデータを>>360のような行列表記するとどうなるのか
そもそもこのやり方以外に方法があるのならどういったものがあるのか
ということをよければ教えてくれ

371:デフォルトの名無しさん
08/01/20 20:11:17
実空間で解いたらいいんじゃないの?
2次の遅れ系なら解は2つの指数関数の和だろ?
それに入力パルス(今の場合e^(-τs) なのかな?)との叩き込み積分が掛かっているだけ。
それをコスト関数にしてfminsearchにかければいい。
行列表記ができるのはpolyfit関数なんかが使える線形な式のみじゃないの?

372:デフォルトの名無しさん
08/01/21 13:58:02
実空間でfminsearch使ったら出来そうだけど、ζの大きさによって式が変わるから、
せっかくz空間で来まった式で表現できるG(z)がもったいないなぁと思ったんですが、そんなものですか?
あと、e^(-τ*s)っていうのはむだ時間を考えたときのです。いるかいらないかは実験データを見てから決めようと思うんですけど。

今functionの使い方を勉強してる段階ですが、fminsearchでやってみます。

373:デフォルトの名無しさん
08/01/21 23:06:45
370==372
なのか?

なにか教えてもらえると思うとすぐに下手に出るのか。

374:372
08/01/21 23:24:44
というよりイライラしていたら言葉が悪くなるんだよ

375:デフォルトの名無しさん
08/01/22 21:13:48
問題をあなたが理解していないのでは、と思わざるを得ない。
なぜなら、あなたが何をしたいのかが、伝わらないからである。

伝達関数の求め方はいろいろあるんだよ。

376:デフォルトの名無しさん
08/01/22 23:54:33
何をしたいか:伝達関数を出したい
教えて欲しいこと:伝達関数の求め方

求め方として最小二乗かなと思って>>353と書き込んだんだがどこが伝わらなかったんでしょうか?

377:デフォルトの名無しさん
08/01/23 09:50:12
>>376
それで伝わっていると思うのなら、
あんたの理解が甘い。

先生に教えてもらえ。

378:デフォルトの名無しさん
08/01/23 13:29:48
linux(openSuSE 10.3)でmatlabを使おうとするとjavaのAssertionに引っかかって
死にます。java1.5だとそうなるらしいのですが、-nojvmというオプションを渡すと
GUIなしで起動するという話もみました。でも_JAVA_OPTIONという環境変数に-nojvmを
渡しても、Matlabが起動しません。(matlabのactivationはまだできてない)。どなたか同様の問題を乗り越えた方はいませんか?

379:デフォルトの名無しさん
08/01/23 18:24:49
polarでMarkerSizeを変更する方法を教えてください

380:デフォルトの名無しさん
08/01/23 20:08:24
ふつうのグラフで軸をスケーリングするには
AXIS([XMIN XMAX YMIN YMAX])
とすればできますが、
subplotを使ったグラフの軸をスケーリングするには
どうしたらいのでしょうか?

381:デフォルトの名無しさん
08/01/23 21:17:09
>>380
同じ

382:デフォルトの名無しさん
08/01/23 21:51:14
>>381
同じでできるんですか?
AXIS([XMIN XMAX YMIN YMAX])としてもできなかったので
聞きにきたんですが。もう一度試してみます。

もしこれでできない場合、他に方法はないでしょうか?

383:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/01/24 09:38:12
>>382
subplot(2,1,1);
plot(x, y);
set(gca, 'xlim', [xmin xmax]);
set(gca, 'ylim', [ymin ymax]);

でもいけるのでは?

385:デフォルトの名無しさん
08/01/24 13:55:38
>>381>>383-384
できました。ありがとうございました!
自分が馬鹿でした。
axis設定してからplotしてました。
plotしてからaxisなんですね。

386:デフォルトの名無しさん
08/01/27 13:14:09
>>384
set(gca, 'xlim', [xmin xmax], 'ylim', [ymin ymax]);
で桶では?

387:デフォルトの名無しさん
08/01/27 18:20:12
逆ラドン変換iradon()を使うとデフォルトでRampフィルタがかかってしまうのですが
フィルタ無しの方法はありませんか?
海外のMATLABのヘルプでは値でNo filteringにできるそうなんですがバージョンが
古いのかバージョン7.2では出来ません。

388:デフォルトの名無しさん
08/01/27 20:46:38
逆投影なんかツールボックスを使わなくても数行でかけるのに(´・ω・`)

389:387
08/01/28 04:32:33
なんとかヒントでもよければ教えてもらえないでしょうか?
専門外のことなのでどうにもこうにもツールに頼ってしまってorz

390:デフォルトの名無しさん
08/01/28 09:50:41
edit その関数
で、中身見てフィルタ部分カットしたのを書くのはどうですか?

391:デフォルトの名無しさん
08/01/28 12:49:16
まあ、簡単に考えると配列の方をirotateで回転させ、そこに加算していけば2行で書けるんだけどね。
それで角度でループさせるの。

iradonの中を触るんだったら、Hというのがフィルター関数なので、この部分を取り去るか、1にしてしまうか。

勉強のために1から作りたいんだったら、C言語で出ている教科書を買って、ネチネチと移植してもいい。
おれは院の先輩の薦めで「SPECT画像再構成の基礎」(医療科学社)という本の中に出ているフーリエ変換法のプログラムを移植したよ。

392:デフォルトの名無しさん
08/01/29 00:08:17
グラフの大きさを変えるにはどうすればいいのでしょうか?
いつもマウスでウィンドウのサイズを変えて
縦横比を見やすく調整しているんですか
コマンドでできないでしょうか?

393:デフォルトの名無しさん
08/01/29 02:07:23
position

394:デフォルトの名無しさん
08/01/29 12:54:18
set(2,'position',[30 246 1120 420]
って感じですね?
できました!
ありがとうございます

395:デフォルトの名無しさん
08/01/29 15:41:21
figure(1);
print -deps ~.eps

のようにグラフをepsファイルに出力してるんですが
その出力したepsファイルのサイズ(縦横比)を変えることはできないでしょうか?

set 'position'でできるかと思ったらできませんでした。

396:デフォルトの名無しさん
08/01/29 16:20:06
自由落下した物体が床で跳ね返る時、速度の符号が
変わりますよね。その時ゼロクロッシングとかいう
エラーでちゃいます。ゼロクロッシングの検知を
無効にするとうまくシミュレーションできません。
何でですか?

397:デフォルトの名無しさん
08/01/29 20:45:50

483 名前:名無しさん@5周年[] 投稿日:2008/01/29(火) 16:04:56 ID:
自由落下した物体が床で跳ね返る時、速度の符号が
変わりますよね。その時ゼロクロッシングとかいう
エラーでちゃいます。ゼロクロッシングの検知を
無効にするとうまくシミュレーションできません。
何でですか?

398:デフォルトの名無しさん
08/01/30 16:50:48
set(gcf,'PaperPositionMode','auto')かな?

399:395
08/01/30 20:04:51
>>398
printに-zbufferとか-openglオプションってのを
つけてみてもできなくて困っていたのですが
ずばりそれでできました!ありがとうございます

400:デフォルトの名無しさん
08/02/05 13:58:03
MEXをVisualC++2008ExpressEditionで
開発するときの設定の仕方ってどこか
にありませんでしょうか?m(_ _)m

401:デフォルトの名無しさん
08/02/05 17:04:41
x=[0:1000]に対応するf(x)が手元にあって
各xについてx-x/10<=x <= x+x/10の範囲でfの移動平均をとって平滑化をしたいんですが
ループを使わない方法はないでしょうか?

402:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/02/08 03:53:49
Control System Toolboxを使われている方に質問です。

ゼロ次ホールドの連続時間伝達関数である、
H = (1-exp(-sT))/s ;  T:サンプリング周期[sec]
という表現をmatlab上で再現するにはどのようにしたらよいのでしょうか?
s = tf('s');
を使って直接表現しようと試みたのですが、上手くいきませんでした。

連続時間システムの制御器の設計及びコンピュータへの実装の際に
使用したいと考えています。
よろしくお願いします。

404:デフォルトの名無しさん
08/02/08 12:02:16
構造体にセットしたデータをfwriteとかでバイナリファイルに書き込むのはどうしたら良いのでしょうか?


405:デフォルトの名無しさん
08/02/12 21:18:32
素人質問ですが教えていただければ幸いです。

10個の自動計測されたデータが列方向に並んでいるcsvファイルを
csvreadで一気に読み込んだ後に(例えばAとする)、
10個の列要素に小分け(A1~A10)しようと考えています。

各要素の1行目は説明なので2行目から最終行までを選択して取り込むには
どうすればよいのでしょうか?

思いつきでA1=A(:,2:inf)とかしようとしたらエラーがでてしまいました。

多分while文とかでNaNがでるまで読み込み続けるとかすると思ったのですが
力尽きてしまいました。

やさしい人。お願い。

406:デフォルトの名無しさん
08/02/12 21:48:36
infじゃなくってendじゃないの?

407:デフォルトの名無しさん
08/02/12 22:15:32
>>405
よく読まずに書いてしまうが、infではなくendを使ってみたらどう

408:デフォルトの名無しさん
08/02/12 23:12:03
>>2 請けた仕事について、2chで無料で意見伺う無神経さw
というか綱渡りで仕事してるからけつに火がついてしまうのに懲りてないな。
ベンチャー高専隊


409:デフォルトの名無しさん
08/02/12 23:47:16
A(:,1)=[]
で1列消せるはず

410:405
08/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
08/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:デフォルトの名無しさん
08/02/13 01:28:43
みなさんMATLABのfigureをWordとかPowerPointにはるのにどうしてますか?

今まではBMPで保存してXnViewの自動トリミングで余白を削ってはってました。
ただ、BMPだとWordでグラフを拡大縮小したりするとフォントがかすれたりして見た目がかなり汚くなります
ベクターフォーマットのemfファイルで保存するのが一番きれいなのですが、グラフの余白を簡単に削る方法が見つからないです
XnViewでもemfファイルを読み込めるんですが、XnViewで自動トリミングしてemfファイルに保存すると、
ファイルサイズが10倍以上になって、しかもビットマップデータみたいに拡大縮小すると汚くなります

グラフの余白を簡単に削れてきれいに貼り付けられるうまい方法とかないですか?

413:405
08/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:デフォルトの名無しさん
08/02/13 07:14:12
すいません、皆さんみたいにハッカーになるためにはどんなことが必要ですか?

415:デフォルトの名無しさん
08/02/15 12:54:18
>>412
グラフの大きさを指定して、拡大縮小せずに使えるようにする

416:デフォルトの名無しさん
08/02/15 15:21:13
MATLABでドロネー分割をつかって、3角形のパッチを利用した形状モデルを作っているのですが、パッチにテクスチャを貼り付けるにはどうすればいいでしょうか?


417:デフォルトの名無しさん
08/02/15 16:11:34
3次元の立体形状から有限要素法用のメッシュを作り出す方法を教えてください

418:デフォルトの名無しさん
08/02/15 17:19:00
テクスチャマッピングの仕方を教えて欲しいです。
わかりやすいサイトとかがあればお願いします。
よろしくお願いします。

419:デフォルトの名無しさん
08/02/15 18:09:31
要求が高いなぁw

まず、www.google.co.jp。日本語以外のサイトも調べよう。

420:デフォルトの名無しさん
08/02/18 22:58:56
2次元のグレースケールの画像を、Z軸がピクセル値で3次元表示させたいんですけど、どうすればよろしいですかね?

421:デフォルトの名無しさん
08/02/19 04:52:22
>>420
surf

422:デフォルトの名無しさん
08/02/20 16:17:32
すいません,
a = 'Hello World'

b[1] = 'Hello'
b[2] = 'World'
に分割するコマンドはありませんでしょうか.

423:デフォルトの名無しさん
08/02/20 16:40:36
doc regexp

424:デフォルトの名無しさん
08/02/20 16:55:39
>>422
[ str,rem ] = strtok( a,' ' );

これで、最初のスペースまでの単語がstrに入り、残りがremに入る。
remの中をさらに切り分けたければこれを繰り返す。
str系の関数はC言語とほぼ同じだな。

425:デフォルトの名無しさん
08/02/21 23:23:05
WAVファイルをパワースペクトル表示する方法を教えてください
お願いします

426:デフォルトの名無しさん
08/02/22 01:14:46
ぐぐれ

427:デフォルトの名無しさん
08/02/23 23:13:43
ググっても見つからなかったんで質問させてください。

h1 = plot(x1)
hold on
h2 = plot(x2)
h3 = plot(x3) ...

といくつかのプロットを重ねた後、一つだけ(例えばx2のプロット)だけ消したい、または変更したいという場合、どうしたらいいですか?
全部プロットしなおせばいいんですが、ちょっと重い上に何度もやるプロットなんで、全部やり直すというのは避けたいんです。

428:427
08/02/23 23:15:57
書き忘れてました。プロットツールは使わず、関数で出来る方法で探しています。

429:デフォルトの名無しさん
08/02/24 10:19:58
URLリンク(www.google.co.jp)

430:427
08/02/24 22:00:13
>>429
ありがとうございます!

431:デフォルトの名無しさん
08/02/25 11:05:16
グラフの凡例中で改行するにはどうすればよいでしょうか?

plot(X1)
hold on
plot(X2)
plot(X3)
legend({'X1';'test'},'X2','X3')

とタイトルや座標軸中の改行と同じように入力しても無理でした。

432:デフォルトの名無しさん
08/02/25 13:33:55
100枚の画像あってサイズが縦240横352なんですが
横の左50画素、右46画素をカットして横幅を256画素に、
30×30の位置の色と同じものを上に縦16×横240くっつけて
256×256の画像にしたいのですが、どうすればいいでしょうか?

433:デフォルトの名無しさん
08/02/25 13:40:08
つ[ImageMagick]
なんでもかんでもMATLABでやりたいならしらね。
つーか、MATLABエキスパートに任せた。

434:422
08/02/25 19:24:02
>>423
>>424
ありがとうございました!
6.5なので423での'split'は無理みたいでした.

435:デフォルトの名無しさん
08/02/25 20:47:37
質問です!
ある画像の一部分(オブジェクト)の画素値の平均をとりたいのですが、
ラベル付けして、オブジェクトの全ピクセルの座標は取ったのですが、
for i=r(min):r(max)
for j=c(min):c(max)
heikin=mean2(Img(i,j,:));
だと、オブジェクトの形が四角ではないのでオブジェクトの外側の画素値まで
計算してしまいます。

何かいい方法がありましたら教えてください。

436:デフォルトの名無しさん
08/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
08/02/25 22:08:15
ご回答ありがとうございます。
バッチリ上手く行きました。

差しでがましいですが
もう一つ質問が…

二値化の画像にラベル付けをしてあるのですが、
ある座標を与えて、その座標を含むオブジェクトのラベル番号、
もしくはそのオブジェクトを構成している全座標を入手したいです。
[r,c] = find(bwselect(Img2,i,j));
これが僕の絞り出した答えでしたが無理でした。。

いいアイディアがありましたら教えてください。


438:435
08/02/25 22:08:54
ご回答ありがとうございます。
バッチリ上手く行きました。

差しでがましいですが
もう一つ質問が…

二値化の画像にラベル付けをしてあるのですが、
ある座標を与えて、その座標を含むオブジェクトのラベル番号、
もしくはそのオブジェクトを構成している全座標を入手したいです。
[r,c] = find(bwselect(Img2,i,j));
これが僕の絞り出した答えでしたが無理でした。。

いいアイディアがありましたら教えてください。


439:デフォルトの名無しさん
08/02/26 21:13:42
>>432
画像の読み込みをまずやってみよう


440:デフォルトの名無しさん
08/02/27 11:35:03
フルカラーを使ってのムービーを作成する際のコーデックは何がおすすめですか?


441:デフォルトの名無しさん
08/02/27 13:22:39
無圧縮AVI
後で別のソフトで変換

442:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/02/29 03:56:57
>>437
find関数の中は条件文じゃないと機能しないのでは?


445:デフォルトの名無しさん
08/02/29 21:13:31
>>443
ありがとうございますー、やってみます!

446:デフォルトの名無しさん
08/03/02 12:22:49

>重み係数を使う必要がある場合は、ノルムを最小にするようにしないといけないけどね。

この意味が理解できないw

447:デフォルトの名無しさん
08/03/03 17:50:26
>>446
ノルムというのは距離のこと


448:デフォルトの名無しさん
08/03/03 18:43:02
重み付き最初二乗法はどうやって記述できるの?

449:デフォルトの名無しさん
08/03/03 21:14:23
なぜmatlabスレで数式をきくんだ?
matlab への翻訳がわからないのなら数式は記述しておくとか、
数式が記述してあるページとかを示しておくべきなんじゃないのか?
数式がわからないというのはスレ違いだろ?

450:デフォルトの名無しさん
08/03/03 21:32:41
>>449
ウルサイ!

451:デフォルトの名無しさん
08/03/03 22:27:27
シミュ板の scilab のスレッドが過疎で
レスがいただけないようなので、こちらで質問させてください。

MATLAB で

( x^2 ) + ( x * y ) + ( y^2 ) = 1;

主軸が斜めになっている楕円は
どのように plot2d すればいいのでしょうか?


452:デフォルトの名無しさん
08/03/03 23:41:30
>>447
いや、そもそも変なこと書いてるのではないか?

453:デフォルトの名無しさん
08/03/04 00:26:46
あるwaveファイルにQ値、ゲインをある特定の周波数に持たせたい
(EQをかけたい)のですが、どうすればよいのでしょうか?
フィルタを使う(fdatool)ではダメですよね?
宜しくお願いします


454:デフォルトの名無しさん
08/03/05 23:19:31
>>453
ここを参考にすべし
URLリンク(www.musicdsp.org)

455:デフォルトの名無しさん
08/03/06 19:29:46
URLリンク(dl.cybernet.co.jp)
このような3次元の物体の可視化を行っているのですが、物体の表面で金属のような質感を出すにはどのように
設定したらよいのでしょうか?

456:デフォルトの名無しさん
08/03/12 16:33:14
質問させていただきます。
「MATLABによる制御系設計」という本で勉強しているんですが、
MATLABの制御系コマンドを使えるフリーソフトを探しています。

検索すると無料でScilab,Octave,Freemat,有料でMATXというのがあるようですが、
制御系コマンドを使う時、互換性が最も高いなどお勧めの
ものがあれば教えてください。

457:デフォルトの名無しさん
08/03/13 00:42:00
有料だけどMATLABっていうのがあるらしいよ

458:デフォルトの名無しさん
08/03/14 11:53:20
>>457
456
もちろんMATLABは知ってますが・・・・
研究でMATLABは使ってきたのですが、これからは
家でも勉強したいのであのような質問をしたのですが。
拙い質問と感じられたのでしたら申し訳。


459:デフォルトの名無しさん
08/03/14 12:07:50
Scilabでいいんじゃね

460:デフォルトの名無しさん
08/03/14 15:25:43
Octaveでいいんじゃね

461:デフォルトの名無しさん
08/03/14 15:54:57
Freematでいいんじゃね

462:デフォルトの名無しさん
08/03/14 21:24:08
とりあえず見つけたやつ全部自分で試して見ればいいんじゃね

463:デフォルトの名無しさん
08/03/15 00:59:47
学生ならMATLAB買え

464:デフォルトの名無しさん
08/03/15 20:20:24
>462
ごもっともだと思います。
知り合いにもそういう意見をもらったんで、
そうしてみます。とりあえず、Scilabインストールしてみました。
金銭的に厳しいのでフリーのソフトから自分なりに試して
みようと思います。

>463
それもそうですね。
MATLABをインストールできるだけお金が貯まったそうしようと思います。
4月から社会人なので。

意見ありがとうございます。

465:デフォルトの名無しさん
08/03/21 11:58:18
前の職場でmatlab使ってたけど今のところでmatlab買えない
pyrhon.numpy

maxima
どっちがお勧め?

466:デフォルトの名無しさん
08/03/22 02:34:39
俺的には;
python + scipy + matplotlib

467:デフォルトの名無しさん
08/03/29 04:30:27
グリッドの幅を変更したいのですがどうやって指定すればいいのでしょう?
grid minor より細かくしたいでっす。

468:デフォルトの名無しさん
08/04/08 06:19:29
Unix用Matlabで圧縮ムービーを作る方法はありませんか?
movie2aviだと非圧縮しかサポートしていないようなのですが。

469:デフォルトの名無しさん
08/04/09 21:59:10
行列の平方根を求める方法を探したら、関数「sqrtm」が使えることが分かった。
例えば、
Y = X * X;
でYが与えられたとき、解Xを求めるには、
X = sqrtm(Y);
とすればいい。


ところで、次の場合、解Xを求めるにはどうすればいいんだろう?
分かる人いる?

Y = X * X'
※ 行列はすべて複素行列で、「'」は複素共役転置を表す


470:デフォルトの名無しさん
08/04/11 16:07:05
教授から言われて、MATLABで作ったプログラムをコンパイルしています。
コンパイルは普通に通るのですが、エラーが発生する箇所が時々出ます。
エラーが出た箇所や解決法をリスト化して書いてあるサイトなどは無いのでしょうか?
今回は解決したのですが、毎度これを解決するのは難儀なので。

今回はsystem関数で
-----------------------------------------
"プログラムのフルパス" -コマンドラインオプション
-----------------------------------------
としてあったのを
-----------------------------------------
cd "プログラムのあるフォルダ"
プログラム名 -コマンドラインオプション
-----------------------------------------
としたら動きました。

471:デフォルトの名無しさん
08/04/11 18:27:55
>>470
どうでもいいが、ディレクトリをほいほい移動しちまっていいのか?
その後ファイルアクセスしてたら厄介だぞ。

472:デフォルトの名無しさん
08/04/12 15:04:33
UNIXのoctaveスレの人たちをここに誘導した方がいいのだろうか

473:デフォルトの名無しさん
08/04/12 21:48:45
お互いに行き来すればいいんじゃない?
全員誘導に従うとは思えないけど


474:470
08/04/14 12:09:08
>>471
ご指摘どうもです。
今回の場合は、外部のプログラムを1回呼び出すだけだったので問題はなかったです。

コンパイル時に動かないのは、プログラムのパスをダブルクォテーション(")で囲っているのにその後にコマンドライン引数あげている事なので…

あと、どうも他にMATLAB関連スレが見当たらないので一人事を書いておきます

・eval関数を使うとコンパイル後実行時にエラーが出る
mファイルをコンパイル時に外部mファイルが必要と判断された場合は、必要な外部mファイルは暗号化されてctfファイルにまとめられるが
eval文中で外部mファイルを
eval('foo(1);');
と呼び出すとコンパイル時に解析されないのでctfファイルに同梱されない
おそらくfevalやinline等の関数も同じ症状が出る

邪魔だったら文句言って下さい…

475:470
08/04/15 16:02:17
独り言その2
evalやfeval、inline等の関数を使うと、コンパイル後、プログラムをを実行中にエラーが出ることがある
これはMATLABに同梱されている関数でもその対象となるものがある。
その関数の中でfevalなどが使われていると、やはり同梱されない関数が出てくるため実行エラーがある
Signal Processing Toolboxのaryule 関数でそういう症状があった。

476:470
08/04/15 17:18:30
間違いがありました
aryule関数ではなく、pyulear 関数でした。
独り言その3
このようにeval関数関係でエラーが起こる場合、一番有効な方法は
ctfファイルに必要な関数を同梱させるために一度も使わない関数を書いて
function foo()
関数1();
関数2();
関数3();

とコンパイルするmファイルに追記しておくと良いと思います。


477:デフォルトの名無しさん
08/04/16 19:47:18
ムービーをQuickTime形式で保存する方法を教えてください

478:デフォルトの名無しさん
08/04/18 01:55:22
>>477
>>441

479:デフォルトの名無しさん
08/04/18 16:35:52
質問です

MATLABにおいてベクトルの要素が複素数の場合に最大値を求めると、
最大値はなぜそれが最大値だとみなされるのでしょうか?

480:デフォルトの名無しさん
08/04/18 17:45:16
長さじゃないの?

481:デフォルトの名無しさん
08/04/18 18:58:37
もうちょっと詳しくお願いできませんか?
3+iと4-3iの場合、どのように大小を決めるかということです

482:デフォルトの名無しさん
08/04/18 19:19:09
ベクトルの長さだから、sqrt( 3^2 + 1^2 ) と srqt( 4^2 + (-3)^2 )じゃないの?

483:デフォルトの名無しさん
08/04/18 19:21:55
ああなるほど、そういうことですか
親切にありがとうございました

484:デフォルトの名無しさん
08/04/18 19:43:25
matlabを使う前に中学数学を勉強しよう

485:デフォルトの名無しさん
08/04/18 22:43:32
MATLABはコンパイラがあって、それを使うとC/C++で組んだコードと同じくらいの
速さになる、と聞いたのですが本当ですか?


486:デフォルトの名無しさん
08/04/18 22:58:21
本当だよ。100万近くするけどね。研究室のを使っている。

487:デフォルトの名無しさん
08/04/18 23:06:07
>>486
ありがとうございます。友人からそのことを聞いて、いまC++を勉強してるのが無駄な感じがしてきてたのですが、
やっぱり、MATLABがそれなりにできてコンパイラもある状態なら、あたらしくC++を勉強する必要はない、という
くらいですか?実行速度で、C++で作ったコードには勝てますか?
C++で行列使うのいやなんですよね。。。それでも速度でC++の方が速いなら、やる価値はあるのかと思ってたけど、
そうじゃないならC++とはバイバイしたいス。


488:デフォルトの名無しさん
08/04/19 10:39:12
C/C++からmatlabを使って高速に動かす、という手もある。
こちらは100円も掛からない。

489:デフォルトの名無しさん
08/04/20 11:28:41
>>488
MATLABの関数を外部ライブラリみたいにつかうということですか?


490:デフォルトの名無しさん
08/04/20 21:43:48
uicontrol('style','text','string','TEST')

など、GUIで文字を入力した図をeps形式で保存しました。
これをillustratorで開くと、入力した文字が図形オブジェクトとして認識されてしまいます。
illustrator内で、文字オブジェクトとして認識させる方法はないのでしょうか?

491:デフォルトの名無しさん
08/04/21 19:15:01
movie2aviを実行すると

エラー: ==> avifile.addframe>ValidateFrame
Frame must be 440 by 439.

というエラーが出ます。ウインドウのサイズが問題なのだと思うのですが、
movie2aviコマンドに適切なウインドウサイズをプログラムで指定できませんか?

492:デフォルトの名無しさん
08/04/22 18:29:05
2つの変数を数十万通り、方程式に代入して解を求めたいのですが、Matlabのプログラムで可能でしょうか?
可能でしたら、具体的にどのようにすれば求めればいいでしょうか?
(Mathematica、Maple、C言語など、他のソフトも使える環境にあります。Matlabより向いているソフトがあれば教えてください。
ちなみにソフトは苦手で、どれもにわかです。)

493:デフォルトの名無しさん
08/04/22 18:38:15
数十万だろうが一つだろうが本質的にはかわらんよ。方程式は非線形なの線形なの?

494:デフォルトの名無しさん
08/04/22 19:00:07
非線形です。
方程式は、今ある状態ではニュートン・ラプソン法等で近似を行う必要があり、計算が膨大になりそうなので
ある程度n、簡略化を行おうと努力してるところです。
一応、線形にできる可能性もないこともないと思います。

知りたいのは、何十万通りの2つの変数を外部データから読み込んで計算するのにMatlabは適しているのか、ということです。

495:デフォルトの名無しさん
08/04/22 23:27:30
質問です
rootsを使って多項式の解を求めるとき、
f(z) = z^-2 +9 のように逆数になってる場合どうすればいいのでしょうか?
また複素数面上に極座標表示するにはどれを使えばいいでしょうか?

496:デフォルトの名無しさん
08/04/23 15:09:13
>>494
本当に何十万通りやらなければいけないのか、考えてみることが必要かと。
プログラム自体は何パターンでも計算可能

497:デフォルトの名無しさん
08/04/23 16:11:36
二つの変数を取る、その問題に最適化されたプログラムを自分の手で書いたほうがいいと思うんだが

498:デフォルトの名無しさん
08/04/23 22:31:07
画像処理のテンプレートマッチングで、xcorrを利用している人いますか?
xcorrは、相互相関係数を計算する関数だそうですが、
URLリンク(dl.cybernet.co.jp)
を読んでもよくわからないです。
マッチングする領域の画素データをx、yとすると、xcorr(x,y)はひとつの値になると
思うんですが、行列で出てくるみたいです。
xcorrをどうやって使うか、教えてください。

499:デフォルトの名無しさん
08/04/23 23:15:42
xcorrに限らず、配列がマトリックスの場合、それぞれの縦ベクトルで別々に計算するというルールがあるの。sumとかmeanとか。
だから、これを一本の縦ベクトルにしてからぶち込んだらいい。
あとは自分で調べてね。
ここ基本だからね。

500:デフォルトの名無しさん
08/04/24 00:49:17
>>498
ん?なんで cross correlation がひとつの値になるんだ?
語弊を恐れず書くと cross correlation は convolution みたいなもんなんだから、|N1| + |N2| -1 の長さになるだろう?
あと、2次元データなら2次元拡張 xcorr2 がある。

501:デフォルトの名無しさん
08/04/25 05:27:21
matlab買えないのでRにした
octaveっていま一つ


502:デフォルトの名無しさん
08/04/25 07:11:58
>>498
相互相関から勉強しよう

503:デフォルトの名無しさん
08/04/25 08:58:45
とういうか単に相関corrを使いたいだけなんじゃないの?

504:デフォルトの名無しさん
08/04/25 23:04:45
PC変更したらアクチベーションは2台までらしく
アクチベーションできなくなって
PC移行時は問い合わせろと書いてあったので
米・日両方問い合わせるも反応ナッシングな俺はどうしたらいいですか。
Studentの2007年版デス。

505:デフォルトの名無しさん
08/04/25 23:50:13
積分が行われる様子を可視化することは可能でしょうか?
球の表面積を面積要素で表したいのですが。

506:デフォルトの名無しさん
08/04/28 20:05:28
>>504
土日だからじゃないの?
もう返事きたでしょ?


507:デフォルトの名無しさん
08/04/28 20:20:57
>>506
来ました
Machine IDの変更申請をしろとな

508:デフォルトの名無しさん
08/04/29 19:03:34
ウインドウを表示せずにアニメーションを作成する方法を教えてください。

509:デフォルトの名無しさん
08/05/01 07:23:38
MATLABで
A=atan(imag(B)./(real(B));
と位相応答を求めた後、群遅延を求めるにはどうしたらよいでしょうか?
上式を周波数で微分したらよいと思うのですが・・・
やり方がわかりません・・・

510:デフォルトの名無しさん
08/05/01 15:35:44
すみません。スレ違いだったらスマソ

友達がPCに詳しい自分にmatlabを使えるPCはどれがいいかと聞いてきたんですが、自分はこのソフトについて一切知らないのが現状です。
みなさんがmatlabを快適に使う環境とはどのようなものなのでしょうか?


よろしくお願いします

511:デフォルトの名無しさん
08/05/01 15:54:45
>>510
matlabを快適に使うとなればメモリは8GBくらい欲しいし、となれば64bitLinuxをWoodcrestXeonで動かせばいいかな。
matlabだけならCPUはDualCore一個でいいんじゃない? ディスクはできればRAIDを組むとして、HPのProliant辺りでどうでしょ。

512:510
08/05/01 18:20:43
>>511さん
メモリ4GBに64bitは自分のメインマシンですがそれでも足りないんですねw

すみません。言い方を間違えたようです。
とりあえずコスト10万ぐらいのレベルで考えたときどのような構成にすればよいでしょうか?

>>511さんのレスからするとメモリは多めでCPUはdual coreぐらいでも問題ないと。
ぜんぜん理解していなくて申し訳ないのですがmatlabは大容量のデータをいじることにポイントを絞り、それに伴うCPUがあればいい感じですか?


どうぞよろしくお願いします

513:デフォルトの名無しさん
08/05/01 21:49:18
そりゃあんた、>510の友達がmatlabをどう使うのか判らんから判らんがな。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch