Clear Filters
Clear Filters

What should be modified inside the for loop?

2 views (last 30 days)
For each value of f_x_loop, I need x_a to take one of the five values from s_x_index for each iteration instead of one value for all the iteration.
s_x_index=[0.01 0.02 0.03 0.04 0.05]
for i = 1:length(s_x_index)
x_a = s_x_index(i);
f_x_loop = (F*x_a)/(s*Q)
f_x_loop_save(i) = f_x_loop(i)
end
Please let me know if the given information is not sufficient.
Thanks

Accepted Answer

Sara
Sara on 2 Jul 2014
Change these lines:
f_x_loop = (F*x_a)/(s*Q)
f_x_loop_save(i) = f_x_loop(i)
into:
f_x_loop_save(i) = (F*x_a)/(s*Q)
in addition, put:
f_x_loop_save = zeros(numel(s_x_index),1);
before the for loop
  5 Comments
Joseph Cheng
Joseph Cheng on 2 Jul 2014
Edited: Joseph Cheng on 2 Jul 2014
At the start before you do their suggestion just do mine. what i suggest will get it so that all your values are not for one value on the X axis.
what was originally suggested is good practice as you're doing an un-necessary temporary calculation (b=a then c=b, why not just c=a since you aren't using b anywhere) and initialization of the array for memory optimization (faster to fill in matrix than keep adding to the end of an array).
Sara
Sara on 3 Jul 2014
Try this:
f_x = (F.*s_x_index)/(s*Q);
figure(5);
plot(s_x_index, f_x, 'o')
xlabel('Longitudinal creepage');ylabel('coefficient of adhesion')
hold on;

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!