2017-10-11 12 views
0

数値のある2つの列を含むテキストファイルがあります。 forループを使用して、第1列と第2列をそれぞれX(n)Y(n)(浮動小数点数)として格納します。nが繰り返し番号です。 私が持っているファイルの数がわからず、データの長さ/範囲が可変であるとします。MATALABのplot()の動的入力データ

私はグラフィックの代わりに手あたりの書き込みの

plot(dynamic_variable) 

のようなデータを表現するための入力として使用できるように動的変数のようなものを作成する方法はあります

plot(X1,Y1,X2,Y2,...,XN,YN) 

私が知っています(ファイルの長さと範囲が同じではないので)データを補間する可能性があるので、2つの行列を作成することができます。具体的には、XMYMとし、最後に(XM,YM)と書きます。

XM = [X1_intrpl X2_intrpl ... XN_intrpl] 
YM = [Y1_intrpl Y2_intrpl ... YN_intrpl]. 

もっと直接的な方法はありますか?

私は専門家ではありませんから、私のアイデアやアプローチについてのコメントや批判もありがとうございます。

答えて

0

Matlabプロット関数は、あなたが探しているものをサポートしていないようです。私はすでにplotコマンドのドキュメントをチェックしていると思います。 https://de.mathworks.com/help/matlab/ref/plot.html?requestedDomain=www.mathworks.com

あなたができることは、両方の行列をパラメータとして取る独自のプロット関数を書くことです。

この関数では、を保持してプロットする行列のペアをループし、を保持して、すべてのデータを1つのプロットに表示します。

0

オプションは

X{1} = X1 
Y{1} = Y1 
... 
X{N} = XN 
Y{N} = YN 

はその後むしろ単一の配列にすべてをマージしようとするよりも、プロットするには、そのようなセルのアレイにX(n)とy(n)の各セットを読み取ることになる一XとYの各セットを一度に1つずつ同じ図にプロットすることができます。

%Instead of: 
%plot(X1,Y1,X2,Y2,...,XN,YN) 
%Use: 
figure() 
hold on 
for i=1:N 
    plot(X{i},Y{i}) 
end 
関連する問題