More efficient "for i in array" loops

2 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))];
for i = cos_theta
theta = [theta, acos(i)];

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);


Find more on Loops and Conditional Statements 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!