More efficient "for i in array" loops

6 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 Programming 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!