Copying from one array to another

22 次查看(过去 30 天)
Hi,
I have a data.txt file that I import using txt2mat. The relevant data are in chunks of length 1250 or 1500 points, but when I try to copy them to an array I get a "Subscripted assignment dimension mismatch" error.
For example: A = [1;2;3;4;5] and B = [1;2;3;4;5;6] If I want to copy the contents of A and B to temp(1,:) and temp(2,:), respectively, I get the error. Is it possible for me to store the contents of A and B, although they are different lengths, in the same temp array?
Any help in handling this would be appreciated.. Thanks!
  2 个评论
Azzi Abdelmalek
Azzi Abdelmalek 2014-9-20
You know they are different sizes, then what do you want?
John
John 2014-9-20
When you do an assignment like that, the rows have to be the same size. Consider using a cell. Or preallocating temp to be big enough to hold the biggest row and then storing the rows A and B after padding them with NaNs

请先登录,再进行评论。

采纳的回答

Star Strider
Star Strider 2014-9-20
As a cell array: yes. As a numeric array: no, unless you preallocate an array with a row length the size of the longest row vector.
Example:
A = [1;2;3;4;5];
B = [1;2;3;4;5;6];
% Cell Array:
tempc = {A B};
% Numeric Array
tempn = nan(max(size(A,1),size(B,1)),2); % Preallocate NaN Matrix
tempn(1:size(A,1),1) = A;
tempn(:,2) = B;

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 String Parsing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by