Improper assignment with rectangular empty matrix

1 view (last 30 days)
Hi! I have a struct s, I want inizialize dateAll with a matrix of zeros different for every loop I try this two codes:
1) for i=1:106
dateAll=zeros(size(s(1,i).locs),6);
end
this code run but return only the last value of dateAll
2) for i=1:106
dateAll(i)=zeros(size(s(1,i).locs),6);
end
To solve the problem of code 1) I think to use an index in dateAll but matlab generates an
error: 'Improper assignment with rectangular empty matrix'
Can you help me to find the error?

Answers (1)

Ingrid
Ingrid on 29 Oct 2015
first of all, do you want to store the values of dateAll for each iteration or do you only want to use it inside your dateloop?
if the first is what yo are trying to achieve you should write
dateAll{i} = zeros(size(s(1,i).locs),6);
  2 Comments
pamela sulis
pamela sulis on 29 Oct 2015
yes, I want to store the values in dateAll for each iteration. I try your solution but matlab generates another error
Cell contents assignment to a non-cell array object.
Error in ProvaArrayStruct (line 9)
dateAll{k}=zeros(size(s(1,k).locs),6);
Ingrid
Ingrid on 29 Oct 2015
that is probably because you already have the dateAll variable in your workspace. Delete it first before trying again.

Sign in to comment.

Categories

Find more on Operating on Diagonal Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!