How to update certain cell values without using for loop

Hello,
Is there away to do these codes below without for loop to make it faster?
for x = 1:336
row{1,x}(p{1,x}(1:end)) = cellPix{1,x}(2:3:pMax(x)*3);
col{1,x}(p{1,x}(1:end)) = cellPix{1,x}(3:3:pMax(x)*3);
end
row,col,p, cellPix are cell arrays.
I appreciate for your help!

3 个评论

Can you upload the data? You can use the paper clip icon in the INSERT section of the toolbar.
Is there a particular reason you are indexing p{1,x}(1:end) insted of just using p{1,x} ?
@the cyclist - I'm not sure I'm allowed to upload the data. Sorry.
@Walter Roberson - I tried using p{1,x} and it works the same. Thanks! Now, is there a way to eliminate the for loop?

请先登录,再进行评论。

回答(1 个)

Matt J
Matt J 2023-4-5
编辑:Matt J 2023-4-5
There is no way to iterate over cell or struct arrays, other than with an M-Coded for-loop, or something equivalent. The way to iterate faster over your particular data would have to involve reorganizing it into matrix form, rather than cells.

类别

在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品

版本

R2023a

标签

提问:

DB
2023-4-5

评论:

DB
2023-4-5

Community Treasure Hunt

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

Start Hunting!

Translated by