dポイントプレゼントキャンペーン実施中!

こんにちは、Matlabを使い始めのものです。
二行の行列(2x10とか2x40など)にについて、一行目をx座標、二行目をy座標としてグラフ化したいのですが、うまくいきません。
自動的にx座標は列の番号となり、二つのグラフが現れてしまいます:y座標に一行目、二行目、両方がプロットされてしまいます。どうにか、一行目をx、二行目をy座標としてグラフ化できないでしょうか。おそらく、とても単純なことなのかもしれないのですが、どうしてもわからず、とても歯がゆい思いをしています・・・。どうかご教示ください。

何をしたいかといいますと、音声データをMatlabで取り込んだのですが、振幅データがずらっと並んだ、1x500000とかの行列が得られます。
これを、プロットすると、x軸はサンプル番号が並ぶわけですが、本当はx軸は時間であって欲しいため、音声データの行列にひとつ行を足して、時間軸を作ってあげました。つまり、今手元にあるのは、2x500000の行列で、一行目が時間、二行目が振幅となっています。これをx軸が時間軸、でy軸が振幅となるようにグラフ化してあげたいと考えています。

文章がわかり辛くて申し訳ないのですが、何卒よろしくお願いします。

A 回答 (2件)

xを2行×N列のマトリクスとして、



figure(1)
plot(x(1,:),x(2,:))
hold on

か分かりやすく、
figure(1)
u=x(1,:);
v=x(2,:);
plot(u,v)
hold on

でいいかと。
    • good
    • 3
この回答へのお礼

できました! ところで、x(1,:)ではなく、x(:,1)では
ないでしょうか。

有難う御座いました!!!

お礼日時:2009/05/18 15:22

よかったですね。



>できました! ところで、x(1,:)ではなく、x(:,1)ではないでしょうか。

2行×N列の場合x(1,:)です。x(:,1)は2行×1列の行列です。もし後者でグラフ表示が正しければ、元行列サイズはN×2だと思います。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!