2017-05-06 3 views
0
私は、次の配列を持つ

に図のようにラインアレイを保存する方法:私は通常、Y.対各行XをプロットしたいはMatlabの

x = [1,2,3;,4,5,6]; 
y = [0,1,2]; 

、私はXとプロットをループのための個別ました。私たちは

plot(x,y)

を書くことができ、それが自動的に同じことをしていることに気づきました。 1つの問題は、Matlabはこれがラインアレイであると言います。 saveasコマンドを適用するにはどうすればよいですか?私は試してみましたが、次のエラーが発生しました:

Conversion to matlab.graphics.chart.primitive.Line from cell is not possible. 

Error in saveas (line 75) 
       h(n) = hP; 

助けてください。

おかげ

+0

私の英語のため申し訳ありませんことを願っています。この絵 click here for picture

のようになります各yには2つのx値があります。しかし、あなたは "plot(y、x)"である "f(x)= y"を試すことができます。 –

+1

@nassertahani:あなたは両方を行うことができます。 @ mle0312:あなたは 'saveas'を使った方法を教えてくれますか? –

答えて

0

あなたは、コード

x = [1 2 3 ; 4 5 6];   %XData (2-by-3) 

y = [ 0 , 1 , 2];    %Ydata (1-by-3) 

nrx = size(x , 2);    % number of x rows 

y_new = repmat(y, nrx , 1); % repeat y along row direction 

以下のようなので、出力は

y_new = repmat(y, nrx , 1) 

y_new = 

0  1  2 
0  1  2 

以下のようになり、最終的にあなたをプロット...あなたの目的のためにYをrepmatし、forループを回避することができますデータ(MATLABはすべての列をプロットするので、データを転置する必要があることに注意してください)

plot(x.',y_new.')  % plot(transpose(x),transpose(y)) 

出力は、私は、これはあなたが「F(X)= Y」のような機能をプロットしたい場合は、それは不可能bucauseであなたを助けると