Error using a for-loop

The following gives an error and I don't know why. The code runs perfectly when I leave '(i_testen)' away behind 'Enkel_hoek_afg'.
for i_testen=1:5
...
Enkel_hoek_afg(i_testen) = Enkel_hoek(1:Afg_c_RANK_RKNE(2,1))
end
Error: In an assignment A(I) = B, the number of elements in B and I must be the same.

 采纳的回答

See if this solves it:
for i_testen=1:5
...
Enkel_hoek_afg(i_testen,:) = Enkel_hoek(1:Afg_c_RANK_RKNE(2,1))
end
This assumes ‘Enkel_hoek(1:Afg_c_RANK_RKNE(2,1))’ is a row vector of constant length.
If it is not, create a cell array instead:
Enkel_hoek_afg{i_testen} = Enkel_hoek(1:Afg_c_RANK_RKNE(2,1))
Note that here, curly brackets ‘{}’ replace parentheses ‘()’ on the left-hand side of this assignment.

6 个评论

Matlab still gives an error :(
Does it throw an error for the cell array? It shouldn’t.
If it throws an error for the first option:
Enkel_hoek_afg(i_testen,:) = Enkel_hoek(1:Afg_c_RANK_RKNE(2,1))
what are the row and column sizes of ‘Enkel_hoek’?
What is the value stored in ‘Afg_c_RANK_RKNE(2,1)’ when it throws the error?
Sam
Sam 2014-12-19
编辑:Sam 2014-12-19
It gives the following error: Subscripted assignment dimension mismatch. Enkel_hoek is 677x1 Afg_c_RANK_RKNE is 2x1 and has values 0 for (1,1) and 328 for (2,1). But this value 328 changes for each measurement.
If the length changes with each iteration, use my cell array solution instead:
Enkel_hoek_afg{i_testen} = Enkel_hoek(1:Afg_c_RANK_RKNE(2,1))
Note that here, curly brackets ‘{}’ replace parentheses ‘()’ on the left-hand side of this assignment.
Strange, when I tried it the first time it didn't work. Now I've tried it again, and it works... Well, thanks a lot!
My pleasure!

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Data Type Identification 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by