Is there a way to index a variable to a certain position in the array
Show older comments
I have some code that looks like this:
if n==1
for i=1:size(ob,1)
rt(i,:,:)=radon(squeeze(ob(i,:,:)),ra);
end
elseif n==2
for i=1:size(ob,2)
rt(i,:,:)=radon(squeeze(ob(:,i,:)),ra);
end
elseif n==3
for i=1:size(ob,3)
rt(i,:,:)=radon(squeeze(ob(:,:,i)),ra);
end
end
Is there a way to get the i variable to the nth position of the ob matrix so that I don't have to write an if statement for each n?
1 Comment
madhan ravi
on 23 Oct 2018
variable you mean n??
Accepted Answer
More Answers (1)
Jose Sanchez
on 23 Oct 2018
This should work:
n=3; % or set n=1 or n=2
tmp = permute(ob, [setdiff(1:3,n) n]);
for i=1:size(tmp,3)
rt(i,:,:) = radon(tmp(:,:,i),ra);
end
1 Comment
Fangjun Jiang
on 23 Oct 2018
+1, this approach should work too.
Categories
Find more on Matrices and Arrays 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!