5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:2006/11/10(金) 11:28:22
MATLAB 日本語版
http://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


2 :デフォルトの名無しさん:2006/11/10(金) 17:20:58
480*640の大きさの画像がn枚連続であって、画像の各画素における平均値、標準偏差、
標準偏差/平均値を求めるんですが、これであってるでしょうか?
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);


3 :デフォルトの名無しさん:2006/11/12(日) 10:51:58
なんかつっこみ所は多いけど、まぁいいんじゃね?
あってるかどうかの確認ぐらい自分でできるっしょ?
2x3x4 ぐらいのデータ作ってためせっつー話。


4 :デフォルトの名無しさん:2006/11/13(月) 15:57:25
HSLでの赤から青までを使った、カラースケールの簡単な作り方はありませんか?

5 :デフォルトの名無しさん:2006/11/13(月) 19:51:23
画像データを読み込むときに、ある範囲だけをいきなり抽出することはできるのでしょうか?

6 :デフォルトの名無しさん:2006/11/19(日) 13:19:43
読み込んでから削りゃいいだろ

7 :デフォルトの名無しさん:2006/11/22(水) 04:12:03
>>4
カラースケールマトリックスを作成の後、不要部分を削除

8 :デフォルトの名無しさん:2006/11/26(日) 00:40:39
save関数で出力するディレクトリを指定することはできますか?
カレントディレクトリにしか出力できないのでしょうか

9 :デフォルトの名無しさん:2006/11/29(水) 09:36:18
C++ で matlab チックに行列計算できるライブラリってある?
A(行列) - B(行列) とか他にも関数名がほぼ同じとか。
ちょっと急に思ったもので。

10 :デフォルトの名無しさん:2006/11/29(水) 12:04:29
つ MATLAB API

11 :デフォルトの名無しさん:2006/11/30(木) 18:44:51
sumっていう関数でベクトル要素の和を計算しようとしてるんですが、
何項目から何項目までの和みたいな指定はできるのでしょうか?

12 :デフォルトの名無しさん:2006/11/30(木) 19:08:24
sum(v(1:10))

13 :デフォルトの名無しさん:2006/11/30(木) 19:21:39
なぜかそれでできません。。

14 :デフォルトの名無しさん:2006/11/30(木) 20:09:54
すいません。解決しました

15 :デフォルトの名無しさん:2006/12/02(土) 02:27:46
たとえば
http://www.cfar.umd.edu/users/hgupta/SfMreport.pdf
の Figure 1 みたいな図ってなんという関数を使うのでしょう?
surf ではないようだし。

16 :デフォルトの名無しさん:2006/12/02(土) 04:07:30
unix上のmatlabでmovieでアニメーションを作成しています。
movie2aviでは非圧縮しかないのですが、圧縮動画を造る方法はないでしょうか?

17 :デフォルトの名無しさん:2006/12/04(月) 11:01:19
aviではなくquicktimeのmovを作成する方法はありませんか?


18 :デフォルトの名無しさん:2006/12/06(水) 01:31:06
matlabで以下のような部分を書いたのですが

if 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がゼロ行列になってしまうのですがなぜでしょうか。
よろしくお願いします。

19 :18:2006/12/06(水) 02:19:23
すみません。
自己解決しました。
簡単なミスを犯してました。
お騒がせしました。

20 :デフォルトの名無しさん:2006/12/07(木) 10:15:07
責任とってケコーンしる

21 :デフォルトの名無しさん:2006/12/07(木) 10:21:27
俺のMATLAB7.01
mファイル入力中に突然エディタに何も入力することが出来なくなり
ワークスペース見たら

java.lang.IndexOutOfBoundsException
 at java.util.ArrayList.RangeCheck(Unknown Source)
 at java.util.ArrayList.get(Unknown Source)
(以下数十行に渡りエラー文)

こんな症状に覚えがある人いますかね?

22 :デフォルトの名無しさん:2006/12/07(木) 19:50:56
秀丸使ったら?

23 :デフォルトの名無しさん:2006/12/07(木) 20:07:46
トイレシミュレータ実装したやつ誰だよ
腹筋がおかしくなっちゃったじゃないか

24 :デフォルトの名無しさん:2006/12/08(金) 21:21:38
MATLAB初心者です。

dw1dtoolで、左上のファイルから信号を読み込み、画像を表示するように、
specgramdemoでも同じように、ファイルから信号を読み込めるように
したいのですがどうすればいいのでしょうか....

なにせ初心者ですのでどこを参考にすればいいのかも分かりません。
よろしくお願いします。

25 :デフォルトの名無しさん:2006/12/09(土) 01:30:30
>>21

SAKURA が断然お薦めです。

26 :デフォルトの名無しさん:2006/12/11(月) 21:13:33
matlabR2006aです。

sys = tf([1 2], [1 2 3]);

感じで伝達関数が
伝達関数:
s + 2
-------------
s^2 + 2 s + 3

tf object ってデータ型みたいなんですが
guiでedittextに表示するためには
なんていう変換コマンドを使えばいいですか?(たとえばstr2doubleみたいな)

27 :26:2006/12/11(月) 22:31:34
無理やり
diary on
sys=tf・・・・
diary off
で、string型のデータにすることで
自己解決しますた!

28 :デフォルトの名無しさん:2006/12/12(火) 20:40:00
通信系の研究室で信号処理を学んでいる、matlab初心者です。

送信した信号を受信機でエネルギー検波(二乗検波)するプログラムを作りたいのですが、二乗検波の部分をどのように書いたらいいのかが分かりません…。
ちなみに、信号はUWBのパルス信号です。

どなたか、ヒントだけでもいいので教えて下さる方いらっしゃいませんか?

29 :蟹男:2006/12/13(水) 00:17:39
matlabR12をwindowsXPにproductCDとDocumentCDとでインストールし、いざ起動しようとすると、
matlab6のロゴが一瞬画面に現れて終了してしまいます。
どなたか上のような症状を経験した人はいませんか?

OS:windowsXP Professional
matlabのVer.:matlabR12

ちなみに他のXPでは動作確認をしております。
なにか知っていたらお聞かせください。

30 :デフォルトの名無しさん:2006/12/17(日) 18:59:52
MATLABって個人で買うと幾ら位するもんなの?
一応うちの研究室にもアカウントあるんだが
自分の家のPCでもやりたいと思ってて。

まぁあんまり高いようだと諦めますが。

31 :デフォルトの名無しさん:2006/12/17(日) 19:21:07
>>30
うちから研究室のマシンにログインして使えばいいじゃん。

32 :デフォルトの名無しさん:2006/12/17(日) 19:40:27
>>31
いやまぁ現状ではそうなんだけどね。
学割利くなら学生のうちに買っておけば
就職してからも使えるからいいかなぁと思って。

33 :デフォルトの名無しさん:2006/12/17(日) 19:53:53
>>32
最近は、最低年に2回はバージョンが上がるぞ。
特に、2006bは変更が大きいと思うが。
そこまで考えなければ、そんなに変わらないが…
値段はしらね。

34 :デフォルトの名無しさん:2006/12/18(月) 12:25:22
すみませんお聞きしたいのですが、
Matlabのプロットのプログラムを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のプロットのプログラムです。
よろしくお願いいたします。

35 :デフォルトの名無しさん:2006/12/20(水) 05:36:41
matlab で 3D ポイントをプロットした後、
ぐりぐり回して好きなところでキャプチャできるようなやつって
あります?
matlab でなくてもいいです、この際

36 :デフォルトの名無しさん:2006/12/20(水) 06:47:26
やつって何だよ バカか?
関数ならviewとprint使え

37 :35:2006/12/20(水) 07:54:49
>>36
ばーか。plot3 のデフォルトでできるっつーの orz

38 :デフォルトの名無しさん:2006/12/20(水) 22:09:14
>>34
亀レスですが・・・。

おまいMATLABもScilabも使うな!!
おまいにとっては猫に大判。

おまいさぁ〜
自助努力ってもんが ねぇーのかよ!!!!!

39 :デフォルトの名無しさん:2006/12/22(金) 15:22:12
質問に答えられない人は書かなくていいです。答えられる人だけ書いてください。

40 :デフォルトの名無しさん:2006/12/22(金) 19:25:15
>>38
質問に答えるくらいしてから罵ろうよ・・・。

41 :デフォルトの名無しさん:2006/12/22(金) 20:34:51
>>34
m2sci使ってみた?

42 :デフォルトの名無しさん:2006/12/23(土) 15:28:20
>>39
ここはmatlabの板
板ちゃうw

43 :デフォルトの名無しさん:2006/12/23(土) 20:03:45
だったら誘導くらいしようよ。
罵るだけじゃなくてさ。

44 :デフォルトの名無しさん:2006/12/25(月) 11:48:24
line線を書くことができますが、その際に、先端を矢印にしたいのですが
どのようにすればよいのでしょうか?

45 :デフォルトの名無しさん:2006/12/29(金) 07:53:36
box offを標準の設定にする方法はありませんか?

46 :デフォルトの名無しさん:2007/01/12(金) 08:32:07
このスレって全然機能してないな

47 :デフォルトの名無しさん:2007/01/12(金) 08:54:07
          ヽ / /⌒\
         /ヽヽ|/⌒\ii|\
       / /ヾゞ///\\|
       |/   |;;;;;;|/ハ \|
             |;;;;//⌒ヽ
             |;/( ^ω^) >>1おっおっおっ乙枯ー
.           |{ ∪  ∪
             |;;ヾ.,____,ノ
             |;;; |
             |;;;;;|
             |;;;;;|


48 :デフォルトの名無しさん:2007/01/12(金) 14:49:36
>>29 とりあえず同じ現象にあたった.。コマンドプロンプトで
matlabのディレクトリに移動してmatlab -nojvmで立ち上げると起動は出来る。
javaのバージョンによっておかしくなるみたいだけどよく判らない。

49 :デフォルトの名無しさん:2007/01/14(日) 12:53:04
>2
劇遅レスだけど、

heikin = mean(tmp, 3);
hensa = std(tmp, 3);
cont = hensa ./ heikin;

でいいんじゃないか?

50 :デフォルトの名無しさん:2007/01/16(火) 14:11:01
wavelet toolboxはどうやってインストールするんですか?

51 :デフォルトの名無しさん:2007/01/18(木) 00:36:44
とある画像のピクセル色情報をRGB色空間にプロットってどうすればいいでしょうか?

52 :デフォルトの名無しさん:2007/01/20(土) 01:36:45
大学の先生が作っているページって希にすっげー良いのがあるだろ?
そういうのをまとめてテンプレにしないか?

53 :デフォルトの名無しさん:2007/01/20(土) 03:08:02
まず言いだしっぺのおまえからだ。

54 :デフォルトの名無しさん:2007/01/20(土) 16:44:01
こんにちは
早速ですが質問させてください
関数内でプロットする場合に、入力変数で
xlabel('テキスト')のテキストを指定することってできますか
よろしくお願いいたします

55 :デフォルトの名無しさん:2007/01/20(土) 20:40:12
function [result]=ploter(labelname)

label(labelname);


ploter('テキスト');
でいいんじゃないか?
とりあえずやってみれ

56 :54:2007/01/20(土) 21:32:22
>>55
できました!!!
ありがとうございました。大変助かりました。

57 :デフォルトの名無しさん:2007/01/22(月) 14:57:12
function [sys,x0]=boxp(t,x,u,flag,ts);
global 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


58 :デフォルトの名無しさん:2007/01/22(月) 14:58:27

axis([-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
実行速度を実際の実行スピードにしたいのですがどのようにすればいいでしょうか?


59 :デフォルトの名無しさん:2007/01/23(火) 23:16:06
こんばんは
質問させてください
Y=X'*B*Xの対角成分が欲しい場合には、
diag(X'*B*X)ですが,対角成分しかいらないのに
X'*B*Xという計算をするのは不経済なので、
なんとかfor文を使わずに対角成分だけを計算する方法って
ありませんかね?
よろしくお願いします

60 :デフォルトの名無しさん:2007/01/24(水) 06:52:51
T=1/fs;
[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のグラフは左上となってしまいます。
どうにかして元に戻す方法はありませんか?

61 :デフォルトの名無しさん:2007/01/24(水) 07:58:07
MATLABのGUIってバグがありまくりじゃない?

エディットの数値を
handles.XXXXXX=str2double(get(hObject,'String'));
guidata(hObject, handles);
でセーブしても値が渡されない。

62 :デフォルトの名無しさん:2007/01/24(水) 10:10:21
61です。 できました。

63 :デフォルトの名無しさん:2007/01/24(水) 15:55:08
こんにちは。
等高線contourでライン幅を指定することってできますか?
よろしくお願いします

64 :63:2007/01/26(金) 16:46:32
63です。
申し訳ありませんが,もう少し詳しく質問させてください.
等高線プロット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

と出てしまいます.
どうすればラインスペックを指定できるのでしょうか.
どなたかご教示のほどよろしくお願いいたします.

65 :デフォルトの名無しさん:2007/01/26(金) 18:02:44
その書式はMATLAB7以降でないと受け付けないようだ

6.5の場合はhハンドルとsetって
↓これでいけるはず。

[c,h]=contour(X,Y,Z);
set(h,'LineWidth',2);

66 :デフォルトの名無しさん:2007/01/27(土) 22:56:50
質問させてください.
f(x,y)=0のような陰関数をプロットするにはどうすれば良いでしょうか.
よろしくお願いいたします.

67 :64:2007/01/27(土) 22:59:59
>>65
ありがとうございました.
大変助かりました.

68 :デフォルトの名無しさん:2007/01/31(水) 02:32:41
>>66
これでどうっすか?
for x=1:1000
y=find(f(x)<0.2 & f(x)>-0.2); %幅は適当に変更
plot(x,y,'.')
hold on
end


ところで、私も質問があります。
時系列の離散データをz変換したいのですが、どうすればいいんでしょうか?
ztransは関数で入力しなければならないみたいだし。
知ってる人、教えてください。

69 :デフォルトの名無しさん: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

70 :69:2007/02/05(月) 14:26:18
質問させてください。
sys=[];
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;
このプログラムで、可変ステップ時はうごくのですが、
固定ステップにするとエラーが出てしまいます。
どのようにすればいいでしょうか?

71 :初心者:2007/02/11(日) 16:27:50
MATLAB初心者です。
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];

です。

72 :初心者:2007/02/11(日) 16:35:44
71番のMATLAB初心者です。
e(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];

です。


73 :73:2007/02/14(水) 15:07:52
質問させてください。
実行してFigureに表示された動画をAVI形式に圧縮する方法は
どのようにすればよろしいでしょうか?


74 :デフォルトの名無しさん:2007/02/14(水) 17:49:18
簡単ですよ。ビデオカメラで撮影してキャプチャーボードで取り込んでエンコーダーで
エンコードしてAVIにすれば完成です。

75 :デフォルトの名無しさん:2007/02/14(水) 20:41:36
aviは圧縮形式じゃありません

76 :デフォルトの名無しさん:2007/02/15(木) 08:30:47
圧縮形式のAVIを作りたいといういみでしょ? 圧縮用のコーデックを
好みで選んで圧縮すりゃいいんだよ。


77 :デフォルトの名無しさん:2007/02/16(金) 01:26:29
>>73
MATLABムービーにしてmovie2aviか
ttp://dl.cybernet.co.jp/matlab/support/manual/r13/toolbox/matlab/matlab_env/?/matlab/support/manual/r13/toolbox/matlab/matlab_env/import17.shtml
ここ参照する

78 :デフォルトの名無しさん:2007/02/17(土) 02:32:01
pythonからmatlabを呼ぶソフトがwindowsだとインストールでこける
pymatをpython2.4 か 2.5にコンパイルしたものをだれか持ってないですか?


79 :デフォルトの名無しさん:2007/02/17(土) 18:42:56
http://claymore.engineer.gvsu.edu/~steriana/Python/pymat.html
コンパイルには成功したけど
pythonの最新版なのが悪いのかmatlabとの通信がまったく機能してない

80 :78:2007/02/18(日) 22:27:18
pymatだけど動いた
dctを使ったsampleプログラムが動かないだけだった
dctはtool boxないと動かないみたいだね

21 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)