for loop in indices count

5 views (last 30 days)
Akhtar Rind
Akhtar Rind on 5 Jul 2020
Commented: Akhtar Rind on 6 Jul 2020
%I have some indices
iVmn =[679,605,619,655,685,601];
iVmx=[225,403,403,403,403,259];
I want to count between each value iVmn and iVmx, eg 225-679, 403 to 605, so on. Is there any elegent way to perform this as I an unable use for loop?
I am doing this way.
W1=iVmx(1):iVmn(1);
W2=iVmx(2):iVmn(2);
W3=iVmx(3):iVmn(3);
W4=iVmx(4):iVmn(4);
W5=iVmx(5):iVmn(5);
W6=iVmx(6):iVmn(6);

Accepted Answer

dpb
dpb on 5 Jul 2020
>> arrayfun(@(i1,i2) colon(i1,i2),iVmx,iVmn,'UniformOutput',0)
ans =
1×6 cell array
{1×455 double} {1×203 double} {1×217 double} {1×253 double} {1×283 double} {1×343 double}
>>
  3 Comments
dpb
dpb on 6 Jul 2020
Can't -- they're different lengths so can't put into an array. You can reorient the vectors in the cells or the cell array itself, but you can't make an array out of the result.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!