More efficient "for i in array" loops

4 views (last 30 days)
Conrad Brindle
Conrad Brindle on 21 Feb 2020
Answered: Alex Mcaulley on 21 Feb 2020
I Have a series of equations that need a range of input values, currently I am using a for loop like so.
Is there a more efficient way than having to write a for loop for each equaiton, but use the values from the array?
In the example cos_theta might be needed in mutliple equations later on. The full script has 10 or so loops that are just a bit messy
x = [1 2 3 4 5 6]
c = 1
for i = x
cos_theta = [cos_theta, (1-((2*i)/c))];
end
for i = cos_theta
theta = [theta, acos(i)];
end

Answers (1)

Alex Mcaulley
Alex Mcaulley on 21 Feb 2020
Using your equations directly:
x = [1 2 3 4 5 6];
c = 1;
cos_theta = (1-((2*x)/c));
theta = acos(cos_theta);

Categories

Find more on Particle & Nuclear Physics in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!