2017-06-13 12 views
1

私は現在、MATLABでシグナルプロセスダイアグラムを作成しようとしています。これを行うために、私は3つのテーブルを持っていますが、同じグラフ上にプロットするためにマージが必要な異なる信号をプロットしたいのですが(信号を別々に見るために分離されています)。テーブルを異なる数の行でマージするにはどうすればよいですか?

は、これまで私が試してみました:

% The variables below are examples of the tables that contain 
% the variables I would like to plot. 

s1 = table(data1.Time, data1.Var1); % This is a 8067x51 table 
s2 = table(data2.Time, data2.Var2); % This is a 2016x51 table 
s3 = table(data3.Time, data3.Var3); % This is a 8065x51 table 

% This gives an error of 'must contain same amount of rows.' 
S = [s1, s2, s3]; 

% This puts the three tables into a cell array 
S = {s1, s2, s3}; 

任意の提案を歓迎します。

+0

あなたのロジックに欠陥があります。あなたは物事を一緒にプロットするために何かをマージする必要はありません。 'hold on 'のドキュメントを確認してください。 –

+0

@AnderBiguri私は' hold on'について知っていますが、私は信号を分離したいと思います。私はそれらを重複させたくありません。 –

+0

別途定義してください。あなたは次々に意味しますか?それらをオフセットしますか? 's1、s2、s3'は"テーブル "ですか?それともベクトルですか? –

答えて

1

あなたは近くにいました。あなたは自分のテーブルvertically代わりのhorizontallyを連結する必要があります。

S = [s1; s2; s3]; 
% Or in functional form 
S = vertcat(s1, s2, s3); 

注意すべてのテーブルは、変数の数が同じ(すなわち列)を持っている場合にのみ動作すること。

+0

ありがとう!私はvertcatについて知りませんでした。 –

関連する問題