I am asking for help in plotting a line graph in my "for" loop program. The program is able to run the calculations but I am not able to graph. Below is the code i have created.
clc
f=196.2;
fi=0; finc= pi/180; ff=pi/4
for x=0:pi/180:pi/4;
ac= (f*cos(x))/((sin(pi/6)*cos(x))+(cos(pi/6)*sin(x)))
fprintf('Force of AC is %7.2f\n',ac)
bc= ((ac*cos(pi/6))/cos(x))
fprintf('Force of BC is %7.2f\n',bc)
end
hold on;
xx=x(1:length(x));
plot(xx,ac)

 Réponse acceptée

KSSV
KSSV le 24 Mar 2020

1 vote

YOu need not use a loop as the other user has suggested you. If you use a loop, you need to intiilaize the array and save it in a loop as below:
f=196.2;
fi=0; finc= pi/180; ff=pi/4 ;
x=0:pi/180:pi/4;
ac = zeros(size(x)) ;
for i = 1:length(x)
ac(i)= (f*cos(x(i)))/((sin(pi/6)*cos(x(i)))+(cos(pi/6)*sin(x(i))))
fprintf('Force of AC is %7.2f\n',ac)
bc= ((ac*cos(pi/6))/cos(x(i)))
fprintf('Force of BC is %7.2f\n',bc)
end
plot(x,ac)

Plus de réponses (1)

Sriram Tadavarty
Sriram Tadavarty le 24 Mar 2020

1 vote

Hi Jose,
This code need not require a for loop. The following can be done to get the same result:
clc
f=196.2;
fi=0; finc= pi/180; ff=pi/4
x=0:pi/180:pi/4;
ac= (f*cos(x))./((sin(pi/6)*cos(x))+(cos(pi/6)*sin(x)))
fprintf('Force of AC is %7.2f\n',ac)
bc= ((ac*cos(pi/6))./cos(x))
fprintf('Force of BC is %7.2f\n',bc)
hold on;
plot(x,ac)
Hope this helps.
Regards,
Sriram

1 commentaire

Jose Moreno
Jose Moreno le 24 Mar 2020
Thanks a lot this has helped by showing me another way.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by