What should be modified inside the for loop?
2 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
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
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
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;
More Answers (0)
See Also
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!