MATLABプログラミング 質問箱 その2
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/11/10(金) 11:28:22http://www.cybernet.co.jp/matlab/
MATLAB 本家
http://www.mathworks.com/
Yahoo MATLAB
http://dir.yahoo.co.jp/Science/Mathematics/Software/MATLAB/
MATLAB入門
http://feedback.mech.fukui-u.ac.jp/matlab/matlab0.htm
MATLAB チュートリアル
http://www-isys.eei.metro-u.ac.jp/~sho/pub/ttmatlab/Index.html
0002デフォルトの名無しさん
2006/11/10(金) 17:20:58標準偏差/平均値を求めるんですが、これであってるでしょうか?
tmpにはn枚目の画像の画素値(640*480分)が入っています。
分散は最終的にbunに入れてます。
for x=1:480
for y=1:640
heikin(x,y)=mean(tmp(x,y,:));
for i=1:n
bunsan(1,j)=(tmp(x,y,i)-heikin(x,y)).^2;
end
bun(x,y)=1/n*sum(bunsan);
end
end
cont=sqrt(bun)./heikin;
std=sqrt(bun);
0003デフォルトの名無しさん
2006/11/12(日) 10:51:58あってるかどうかの確認ぐらい自分でできるっしょ?
2x3x4 ぐらいのデータ作ってためせっつー話。
0004デフォルトの名無しさん
2006/11/13(月) 15:57:250005デフォルトの名無しさん
2006/11/13(月) 19:51:230006デフォルトの名無しさん
2006/11/19(日) 13:19:430007デフォルトの名無しさん
2006/11/22(水) 04:12:03カラースケールマトリックスを作成の後、不要部分を削除
0008デフォルトの名無しさん
2006/11/26(日) 00:40:39カレントディレクトリにしか出力できないのでしょうか
0009デフォルトの名無しさん
2006/11/29(水) 09:36:18A(行列) - B(行列) とか他にも関数名がほぼ同じとか。
ちょっと急に思ったもので。
0010デフォルトの名無しさん
2006/11/29(水) 12:04:290011デフォルトの名無しさん
2006/11/30(木) 18:44:51何項目から何項目までの和みたいな指定はできるのでしょうか?
0012デフォルトの名無しさん
2006/11/30(木) 19:08:240013デフォルトの名無しさん
2006/11/30(木) 19:21:390014デフォルトの名無しさん
2006/11/30(木) 20:09:540015デフォルトの名無しさん
2006/12/02(土) 02:27:46http://www.cfar.umd.edu/users/hgupta/SfMreport.pdf
の Figure 1 みたいな図ってなんという関数を使うのでしょう?
surf ではないようだし。
0016デフォルトの名無しさん
2006/12/02(土) 04:07:30movie2aviでは非圧縮しかないのですが、圧縮動画を造る方法はないでしょうか?
0017デフォルトの名無しさん
2006/12/04(月) 11:01:190018デフォルトの名無しさん
2006/12/06(水) 01:31:06if 1<j
passenger_out(j,k)=trm_on(j,k);
stp_out(1,j)=stp_out(1,j)+trm_on(j,k);
trm_on(j,k)=0;
end
なぜか、trm_on(j,k)=0;を入れるとpassenger_out(j,k)まで0になってしって
passenger_outがゼロ行列になってしまうのですがなぜでしょうか。
よろしくお願いします。
001918
2006/12/06(水) 02:19:23自己解決しました。
簡単なミスを犯してました。
お騒がせしました。
0020デフォルトの名無しさん
2006/12/07(木) 10:15:070021デフォルトの名無しさん
2006/12/07(木) 10:21:27mファイル入力中に突然エディタに何も入力することが出来なくなり
ワークスペース見たら
java.lang.IndexOutOfBoundsException
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
(以下数十行に渡りエラー文)
こんな症状に覚えがある人いますかね?
0022デフォルトの名無しさん
2006/12/07(木) 19:50:560023デフォルトの名無しさん
2006/12/07(木) 20:07:46腹筋がおかしくなっちゃったじゃないか
0024デフォルトの名無しさん
2006/12/08(金) 21:21:38dw1dtoolで、左上のファイルから信号を読み込み、画像を表示するように、
specgramdemoでも同じように、ファイルから信号を読み込めるように
したいのですがどうすればいいのでしょうか....
なにせ初心者ですのでどこを参考にすればいいのかも分かりません。
よろしくお願いします。
0025デフォルトの名無しさん
2006/12/09(土) 01:30:30SAKURA が断然お薦めです。
0026デフォルトの名無しさん
2006/12/11(月) 21:13:33sys = tf([1 2], [1 2 3]);
感じで伝達関数が
伝達関数:
s + 2
-------------
s^2 + 2 s + 3
tf object ってデータ型みたいなんですが
guiでedittextに表示するためには
なんていう変換コマンドを使えばいいですか?(たとえばstr2doubleみたいな)
002726
2006/12/11(月) 22:31:34diary on
sys=tf・・・・
diary off
で、string型のデータにすることで
自己解決しますた!
0028デフォルトの名無しさん
2006/12/12(火) 20:40:00送信した信号を受信機でエネルギー検波(二乗検波)するプログラムを作りたいのですが、二乗検波の部分をどのように書いたらいいのかが分かりません…。
ちなみに、信号はUWBのパルス信号です。
どなたか、ヒントだけでもいいので教えて下さる方いらっしゃいませんか?
0029蟹男
2006/12/13(水) 00:17:39matlab6のロゴが一瞬画面に現れて終了してしまいます。
どなたか上のような症状を経験した人はいませんか?
OS:windowsXP Professional
matlabのVer.:matlabR12
ちなみに他のXPでは動作確認をしております。
なにか知っていたらお聞かせください。
0030デフォルトの名無しさん
2006/12/17(日) 18:59:52一応うちの研究室にもアカウントあるんだが
自分の家のPCでもやりたいと思ってて。
まぁあんまり高いようだと諦めますが。
0031デフォルトの名無しさん
2006/12/17(日) 19:21:07うちから研究室のマシンにログインして使えばいいじゃん。
0032デフォルトの名無しさん
2006/12/17(日) 19:40:27いやまぁ現状ではそうなんだけどね。
学割利くなら学生のうちに買っておけば
就職してからも使えるからいいかなぁと思って。
0033デフォルトの名無しさん
2006/12/17(日) 19:53:53最近は、最低年に2回はバージョンが上がるぞ。
特に、2006bは変更が大きいと思うが。
そこまで考えなければ、そんなに変わらないが…
値段はしらね。
0034デフォルトの名無しさん
2006/12/18(月) 12:25:22Matlabのプロットのプログラムをscilabのプログラムにコンバートしたいのですが、
どう書き換えれば良いでしょうか
q = [a0 a0*a1 a0*a2];
p = [1.0 b1 b2];
s = 0:0.01:pi;
subplot(2,2,2);semilogx(s, 20.0*log10(abs(freqz(q,p,s))));
axis([0 pi -20 20]);grid;
xlabel('Frequency \omega [rad]');
ylabel('|H(e~{j\omega})| [dB]');
これがMatlabのプロットのプログラムです。
よろしくお願いいたします。
0035デフォルトの名無しさん
2006/12/20(水) 05:36:41ぐりぐり回して好きなところでキャプチャできるようなやつって
あります?
matlab でなくてもいいです、この際
0036デフォルトの名無しさん
2006/12/20(水) 06:47:26関数ならviewとprint使え
0038デフォルトの名無しさん
2006/12/20(水) 22:09:14亀レスですが・・・。
おまいMATLABもScilabも使うな!!
おまいにとっては猫に大判。
おまいさぁ〜
自助努力ってもんが ねぇーのかよ!!!!!
0039デフォルトの名無しさん
2006/12/22(金) 15:22:120040デフォルトの名無しさん
2006/12/22(金) 19:25:15質問に答えるくらいしてから罵ろうよ・・・。
0041デフォルトの名無しさん
2006/12/22(金) 20:34:51m2sci使ってみた?
0042デフォルトの名無しさん
2006/12/23(土) 15:28:20ここはmatlabの板
板ちゃうw
0043デフォルトの名無しさん
2006/12/23(土) 20:03:45罵るだけじゃなくてさ。
0044デフォルトの名無しさん
2006/12/25(月) 11:48:24どのようにすればよいのでしょうか?
0045デフォルトの名無しさん
2006/12/29(金) 07:53:360046デフォルトの名無しさん
2007/01/12(金) 08:32:070047デフォルトの名無しさん
2007/01/12(金) 08:54:07/ヽヽ|/⌒\ii|\
/ /ヾゞ///\\|
|/ |;;;;;;|/ハ \|
|;;;;//⌒ヽ
|;/( ^ω^) >>1おっおっおっ乙枯ー
. |{ ∪ ∪
|;;ヾ.,____,ノ
|;;; |
|;;;;;|
|;;;;;|
0048デフォルトの名無しさん
2007/01/12(金) 14:49:36matlabのディレクトリに移動してmatlab -nojvmで立ち上げると起動は出来る。
javaのバージョンによっておかしくなるみたいだけどよく判らない。
0049デフォルトの名無しさん
2007/01/14(日) 12:53:04劇遅レスだけど、
heikin = mean(tmp, 3);
hensa = std(tmp, 3);
cont = hensa ./ heikin;
でいいんじゃないか?
0050デフォルトの名無しさん
2007/01/16(火) 14:11:010051デフォルトの名無しさん
2007/01/18(木) 00:36:440052デフォルトの名無しさん
2007/01/20(土) 01:36:45そういうのをまとめてテンプレにしないか?
0053デフォルトの名無しさん
2007/01/20(土) 03:08:020054デフォルトの名無しさん
2007/01/20(土) 16:44:01早速ですが質問させてください
関数内でプロットする場合に、入力変数で
xlabel('テキスト')のテキストを指定することってできますか
よろしくお願いいたします
0055デフォルトの名無しさん
2007/01/20(土) 20:40:12label(labelname);
ploter('テキスト');
でいいんじゃないか?
とりあえずやってみれ
0057デフォルトの名無しさん
2007/01/22(月) 14:57:12global Boxp
if flag == 2,
if any(get(0,'Children')==Boxp),
if strcmp(get(Boxp,'Name'),'daisya1'),
set(0,'currentfigure',Boxp);
H=get(gca,'UserData');
x=[u(1) u(1)+6*sin(u(2))];%振子
y=[-3 -3-6*cos(u(2))];%振子
set(H(1),'XData',x,'YData',y);
set(H(2),'XData',u(1),'YData',-2);%台車の位置
set(H(3),'XData',x,'YData',y);
drawnow;
end
end
0058デフォルトの名無しさん
2007/01/22(月) 14:58:27axis([-10 10 -10 10]);
x=[0 0];
y=[-3 -9];
%H(1)=plot(x,y,'color','r','LineWidth',5,'EraseMode','background');
H(1)=plot(x,y,'LineWidth',5,'EraseMode','background');
H(2)=plot(0,-2,'s','color','r','MarkerSize',50);
H(3)=plot(x,y,'s','color','b','MarkerSize',20);
set(gca,'UserData',H);
plot([-7 7],[0.-1 0.-1],'color','k','LineWidth',15);
sys=[0 0 0 2 0 0];
x0=[];
end
end
実行速度を実際の実行スピードにしたいのですがどのようにすればいいでしょうか?
0059デフォルトの名無しさん
2007/01/23(火) 23:16:06質問させてください
Y=X'*B*Xの対角成分が欲しい場合には、
diag(X'*B*X)ですが,対角成分しかいらないのに
X'*B*Xという計算をするのは不経済なので、
なんとかfor文を使わずに対角成分だけを計算する方法って
ありませんかね?
よろしくお願いします
0060デフォルトの名無しさん
2007/01/24(水) 06:52:51[B2,F2,T2]=specgram(B,1024,1/T);
figure
f30=find(F2<30);f=[min(F2),max(F2(f30))];
t=[min(T2),max(T2)];
imagesc(t,f,abs(B2(f30,:)),[0,100]);colorbar;
specgramだと、色の値を各計測ごとの相対値でしか表せないから
(例えば一回目の計測の最大値が100としたら赤が100に対応し、
二度目の計測の最大値が60としたら 今度は赤が60に対応して表示されてしまう。)
imagescを用いてみたのですが、specgramの左下に原点のあるのグラフから
imagescのグラフは左上となってしまいます。
どうにかして元に戻す方法はありませんか?
0061デフォルトの名無しさん
2007/01/24(水) 07:58:07エディットの数値を
handles.XXXXXX=str2double(get(hObject,'String'));
guidata(hObject, handles);
でセーブしても値が渡されない。
0062デフォルトの名無しさん
2007/01/24(水) 10:10:210063デフォルトの名無しさん
2007/01/24(水) 15:55:08等高線contourでライン幅を指定することってできますか?
よろしくお願いします
006463
2007/01/26(金) 16:46:32申し訳ありませんが,もう少し詳しく質問させてください.
等高線プロットcontourでラインスペックを指定するときに,
ヘルプでは
「contour(...,LineSpec) は、LineSpecで指定したラインタイプと
色を使ってコンターを描画します。」
と書かれていますが,
いざ,contour(X,Y,Z,'LineWidth',2)
とやると
??? エラー: ==> contours
入力引数が多すぎます
エラー: ==> C:\MATLAB6p5\toolbox\matlab\specgraph\contour3.m
行番号: 80 ==>[c,msg] = contours(varargin{1:nin});
エラー: ==> C:\MATLAB6p5\toolbox\matlab\specgraph\contour.m
行番号: 62 ==>[c,h,msg] = contour3(varargin{:});
エラー: ==> C:\MATLAB6p5\work〜.m
行番号: ** ==> contour(X1,Y1,Z1,'LineWidth',2);hold on
と出てしまいます.
どうすればラインスペックを指定できるのでしょうか.
どなたかご教示のほどよろしくお願いいたします.
0065デフォルトの名無しさん
2007/01/26(金) 18:02:446.5の場合はhハンドルとsetって
↓これでいけるはず。
[c,h]=contour(X,Y,Z);
set(h,'LineWidth',2);
0066デフォルトの名無しさん
2007/01/27(土) 22:56:50f(x,y)=0のような陰関数をプロットするにはどうすれば良いでしょうか.
よろしくお願いいたします.
0068デフォルトの名無しさん
2007/01/31(水) 02:32:41これでどうっすか?
for x=1:1000
y=find(f(x)<0.2 & f(x)>-0.2); %幅は適当に変更
plot(x,y,'.')
hold on
end
ところで、私も質問があります。
時系列の離散データをz変換したいのですが、どうすればいいんでしょうか?
ztransは関数で入力しなければならないみたいだし。
知ってる人、教えてください。
0069デフォルトの名無しさん
2007/02/01(木) 21:28:18↓をベースにしてコッホ曲線を描くためにはどうすればよいのでしょうか。
%koch曲線表示プログラムkoch.m
%(x0,y0)から(x1,y1)までの線分についてのkoch曲線を描く
function y = koch(x0, y0, x1, y1, level)
if level == 0
% level が0
%(x0, y0)と(x1,y1)を結ぶ
%このとき、hold onとしておく必要がある→ 別の線分と重ね合わせ
else
%level が0でないとき
%(x0,y0)と(x1,y1)を3等分する→ (x2,y2)と(x3,y3)を増やす
%(x2,y2)(x3,y3)を結ぶ線分を60度回転し、(x4,y4)とする
% 生成した4辺(x0,y0) (x2,y2), (x2,y2) (x4, y4), (x4, y4) (x3, y3)
% (x3,y3)(x1,y1)についてlevel = level – 1としてkoch関数を呼ぶ
end
end
007069
2007/02/05(月) 14:26:18sys=[];
elseif flag == 4
ns =t/ts;
sys = (1 + floor(ns + 1e-1*(1+ns)))*ts;
elseif flag ==0;
animinit('daisya1');
[flag,Boxp] = figflag('daisya1');
axis([-10 10 -10 10]);
hold on;
このプログラムで、可変ステップ時はうごくのですが、
固定ステップにするとエラーが出てしまいます。
どのようにすればいいでしょうか?
0071初心者
2007/02/11(日) 16:27:50MATLABで下記のような離散時間状態空間モデルを
予測誤差法を使いパラメータ推定をするには
どうプログラムすればよいのでしょうか?
いままで、紙と鉛筆での計算はやってきましたが
プログラムは苦手なので、困っています。
離散時間状態空間モデル
x(k+1)=Ax(k)+Bu(k)+Ke(k)
y(k)=Cx(k)+Du(k)+e(k)
---------------------------
u(k):入力,x(k):状態
y(k):出力,e(k):誤差
初期条件として
u(k)=[2 2 3 3 5 5 3 3];
y(k)=[1 1 1 2 1 2 1 1];
です。
0072初心者
2007/02/11(日) 16:35:44e(k):誤差と書きましたが
e(k):正しくはノイズです。
失礼しました。
MATLABで下記のような離散時間状態空間モデルを
予測誤差法を使いパラメータ推定をするには
どうプログラムすればよいのでしょうか?
いままで、紙と鉛筆での計算はやってきましたが
プログラムは苦手なので、困っています。
離散時間状態空間モデル
x(k+1)=Ax(k)+Bu(k)+Ke(k)
y(k)=Cx(k)+Du(k)+e(k)
---------------------------
u(k):入力,x(k):状態
y(k):出力,e(k):ノイズ
初期条件として
u(k)=[2 2 3 3 5 5 3 3];
y(k)=[1 1 1 2 1 2 1 1];
です。
007373
2007/02/14(水) 15:07:52実行してFigureに表示された動画をAVI形式に圧縮する方法は
どのようにすればよろしいでしょうか?
0074デフォルトの名無しさん
2007/02/14(水) 17:49:18エンコードしてAVIにすれば完成です。
0075デフォルトの名無しさん
2007/02/14(水) 20:41:360076デフォルトの名無しさん
2007/02/15(木) 08:30:47好みで選んで圧縮すりゃいいんだよ。
0077デフォルトの名無しさん
2007/02/16(金) 01:26:29MATLABムービーにしてmovie2aviか
ttp://dl.cybernet.co.jp/matlab/support/manual/r13/toolbox/matlab/matlab_env/?/matlab/support/manual/r13/toolbox/matlab/matlab_env/import17.shtml
ここ参照する
0078デフォルトの名無しさん
2007/02/17(土) 02:32:01pymatをpython2.4 か 2.5にコンパイルしたものをだれか持ってないですか?
0079デフォルトの名無しさん
2007/02/17(土) 18:42:56コンパイルには成功したけど
pythonの最新版なのが悪いのかmatlabとの通信がまったく機能してない
008078
2007/02/18(日) 22:27:18dctを使ったsampleプログラムが動かないだけだった
dctはtool boxないと動かないみたいだね
0081デフォルトの名無しさん
2007/03/02(金) 11:52:250082デフォルトの名無しさん
2007/03/04(日) 23:08:10早速ですが質問させてください
function のなかで function を定義するのはどうすれば良いのでしょうか。
0083デフォルトの名無しさん
2007/03/05(月) 00:16:37function hoge
foo
end
function foo
end
0085デフォルトの名無しさん
2007/03/06(火) 19:51:300086デフォルトの名無しさん
2007/03/17(土) 04:32:550087デフォルトの名無しさん
2007/03/18(日) 06:57:16早速ですが,1*pの行ベクトルxがあるときに,
xを縦にn行並べたn*p行列はfor文を使わないで生成できますでしょうか.
よろしくお願いします.
0088デフォルトの名無しさん
2007/03/19(月) 23:16:17Optimization Toolboxのfminuncで
関数y=func(x,z)をxについて最小化したいんですが,
どうすればよいでしょうか.zはこちらで与えたい定数です.
ヘルプには
X = fminunc(FUN,X0,OPTIONS,P1,P2,...) は、
問題に関連したパラメータ P1,P2,... を、直接、関数
FUN に渡します。
と書いてあったんで
x=fminunc(@func,x0,[],z)
というように,zを与えようとしたのですが,うまく行きません.
ご教示いただきますと幸いです.
よろしくお願いいたします.
0089デフォルトの名無しさん
2007/03/20(火) 08:41:43repmat
0090デフォルトの名無しさん
2007/03/20(火) 20:26:35ones(n, 1) * x;
0091デフォルトの名無しさん
2007/03/28(水) 17:20:31009291
2007/03/28(水) 17:22:060093デフォルトの名無しさん
2007/03/28(水) 17:49:470094デフォルトの名無しさん
2007/03/28(水) 17:52:010095デフォルトの名無しさん
2007/03/30(金) 15:40:000096デフォルトの名無しさん
2007/03/30(金) 15:59:13現代の小学生は正方形の中に
円をかいて4より小さいって自分で調べて3をみつけだしているからね
0097デフォルトの名無しさん
2007/03/30(金) 19:48:43私のときは方眼紙に缶とかを利用して円を描き、
その面積を計算したりしたよ。
0098デフォルトの名無しさん
2007/03/31(土) 07:54:43並べ替えて平行四辺形みたいな形状をつくり、縦x横。
更に班内で平均。
0099デフォルトの名無しさん
2007/04/10(火) 17:24:07例えば
a.b = 1;
a.c = 'test';
なときに
x = somefunc(a);
で
x = 'ZSGADRERASVFDSAD'
みたいなのが返ってくるような。
入力する構造体の構造と値が一致した場合のみ戻り値xも一致して、
そうでない場合は全然違う値が出てくる、というようなものを探して
います。何か良い方法を知っている方がいましたら教えてください。
0100デフォルトの名無しさん
2007/04/13(金) 18:33:46Scilabでかなり長い式を定義しようとしたら,
invalid factorと言われて困っております..
0101デフォルトの名無しさん
2007/04/14(土) 09:23:29そのものずばりなものは見たことないよ。
fieldnames()とかを使ってフィールド名を出してきたり、struct2cellで値を出してきたりして、あとはMD5なんかに突っ込むしかないんじゃないかなー。
■ このスレッドは過去ログ倉庫に格納されています