matrix dimension mismatch error

Hi, this is my code.
my data is known as matrix_data(1,512). I want to save every iteration of matrix_data in a new array(new_matrix_data) so that in new_matrix_data there will be (1,5120). However, there is error in my code 'matrix dimensions mismatch' in this line new_matrix_data(1,k:k+512) = matrix_data(1,:);
Anyone can help me?
new_matrix_data=zeros(1,5120);
l=1;
k=1;
while l~=2;
new_matrix_data(1,k:k+512) = matrix_data(1,:);
k=k+512;
save new_matrix_data 'new_matrix_data'
if k>=5120
new_data_matrix=zeros(1,5120);
k=1;
end
end

 Accepted Answer

Walter Roberson
Walter Roberson on 25 Aug 2015
k:k+512 is 513 elements. k:k+511 would be 512 elements.

5 Comments

hi,
Thank you for the reply. However, I still got an error 'subscripted assignment dimension mismatch'. why is that so?
Please show your corrected code and show size(matrix_data) at the time of the error. You can use
dbstop if error
and run and then when the error occurs you can see what size(matrix_data) is.
It works. However, the data keep overwrites and only saved the last data.
That is what is expected to happen when you continually save to the same file name.
Hint:
N = N + 1;
savefile_name = sprintf('new_matrix_data_%04d', N);
save(safefile_name, 'new_matrix_data');
Actually I have tried the same concept as the above code but I will try by followed your code.

Sign in to comment.

More Answers (0)

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Tags

Asked:

on 25 Aug 2015

Commented:

on 25 Aug 2015

Community Treasure Hunt

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

Start Hunting!