1

私はデータセットを持っています

10 4.567
20 3.287
30 4.990
40 3.333
50 3.889
10 4.566
20 3.001
30 4.990
40 3.331
50 3.886
.
.
.

このように下向きに20セット。これをmatlabでプロットしたいのですが、xの値が連続しているため、プロットすると水平線が作成されます。どんな助けでも大歓迎です。

4

2 に答える 2

3

ループを使用します。

figure(1), clf, hold on
for ii = 2:size(data,2)
    plot(data(:,1), data(:,ii))
end

ここで、少し色を追加することをお勧めします。

colours = {...
    'r--', 'g--', 'b--', 'k--', 'm--', 'c--', ...
    'r.-', 'g.-', 'b.-', 'k.-', 'm.-', 'c.-', ...
    'rs-', 'gs-', 'bs-', 'ks-', 'ms-', 'cs-', ...
    'rt-', 'gt-'});
figure(1), clf, hold on
for ii = 2:size(data,2)
    plot(data(:,1), data(:,ii), colours{ii})
end
于 2012-11-08T05:08:32.363 に答える
0

x 値の 1 つのセットと y 値のいくつかのセットを与えるようにデータを修正します。これは、x 値が毎回同じであることを前提としています。

(例のように)5つの値のセットを繰り返した場合、以下のコードでn = 5:

d = [10 4.567
20 3.287
30 4.990
40 3.333
50 3.889
10 4.566
20 3.001
30 4.990
40 3.331
50 3.886]

n = 5;
x = d(1:n, 1);
y = reshape(d(:,2),n,[])
plot(x,y) % Plot each set of y values separately
于 2012-11-08T11:31:23.460 に答える