Why won't my graph plot?

1 view (last 30 days)
Julie Miller
Julie Miller on 31 Oct 2019
Answered: Daniel M on 31 Oct 2019
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)

Accepted Answer

Star Strider
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.

More Answers (1)

Daniel M
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.

Categories

Find more on Mathematics 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!