Why won't my graph plot?
1 view (last 30 days)
Show older comments
This is my code:
%use a for loop to set a range with increments
for d=0:0.1:20
%Find the length of cable 3 by plugging in the given distance
L=(100 + d^2)^(1/2);
%Write the equations for the tensile forces in the three cables
A=[0.348, -0.557, 0; -0.348, -0.239, (d/L); 0.870, 0.796, (10/L)];
C=[0; 0; 1000];
%Calculate the tensile forces
T=inv(A)*C;
%Find the maximum tensile force
M=max(T);
%Use the maximum tensile force to find the factor of safety
FS=1500/M;
end
plot(FS, d)
0 Comments
Accepted Answer
Star Strider
on 31 Oct 2019
You need to save the elements of ‘FS’ in order to plot them against vector ‘d’.
I slightly edited your code:
%use a for loop to set a range with increments
dv=0:0.1:20; % Define Vector
for k = 1:numel(dv)
d = dv(k);
%Find the length of cable 3 by plugging in the given distance
L=(100 + d^2)^(1/2);
%Write the equations for the tensile forces in the three cables
A=[0.348, -0.557, 0; -0.348, -0.239, (d/L); 0.870, 0.796, (10/L)];
C=[0; 0; 1000];
%Calculate the tensile forces
T=inv(A)*C;
%Find the maximum tensile force
M=max(T);
%Use the maximum tensile force to find the factor of safety
FS(k)=1500/M; % Save Results As Vector
end
plot(FS, dv)
Experiment to get different results.
0 Comments
More Answers (1)
Daniel M
on 31 Oct 2019
It did plot. Try this:
plot(FS,d,'bo')
It's just that FS and d only contain 1 element.
You need to understand how to store data from for loops.
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!