Stacking data sets into 1

2 ビュー (過去 30 日間)
Jason
Jason 2018 年 1 月 26 日
コメント済み: Star Strider 2018 年 1 月 26 日
I am trying to stack data. I have an matrix (ROI), that I obtain the rows from. Each row is my y data. The x data is just the column number (1:num_of_columns)
for each row of data, I need to take the column number and shift it by an amount in a vector called thresh (and column2).
I then want to combine each set of data. The left graph shows the first 2 rows i plot seperately before the x-axis shift. The right hand graph is individual plots of all the rows each shifted (from the vector thresh(:,2)).
stack=[];
for i=1:num_of_rows
y=ROI(i,:);
plot(x-thresh(i,2),y,'r.'); hold on;
if i==1
stack(:,1)=x-thresh(i,2);
stack(:,2)=y;
else
stack(:,1)=vertcat(stack(:,1),x-thresh(i,2))
stack(:,2)=vertcat(stack(:,2),y)
end
end
grid on;
stack
Error using vertcat
Dimensions of matrices being concatenated are not consistent.
Error in ArchimedesIQC>pushbutton126_Callback (line 12236)
stack(:,1)=vertcat(stack(:,1),x-thresh(i,2))
  3 件のコメント
Guillaume
Guillaume 2018 年 1 月 26 日
No, the problem is
x(:, 1) = [x(:,1), something_not_empty]
the number of elements on the left hand side is always going to be smaller than the number of elements on the right hand side. This is always going to result in an error in matlab.
The error itself may be caused by x being a row vector instead of a column vector.
Star Strider
Star Strider 2018 年 1 月 26 日
‘The error itself may be caused by x being a row vector instead of a column vector.’
Precisely the reason I asked for their dimensions before proceeding!

サインインしてコメントする。

採用された回答

Guillaume
Guillaume 2018 年 1 月 26 日
編集済み: Guillaume 2018 年 1 月 26 日
I have not really understood what it is you're trying to achieve but fixing your error is easy:
else
stack = [stack; x-thresh(i, 2), y]; %or vertcat(stack, [x-thresh(i, 2), y]);
end
Note that this assumes that x and y are column vectors. If they are row vectors, you need to transpose them:
stack = [stack; x.' - thresh(i, 2), y.'];

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeResizing and Reshaping Matrices についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by