How to graph using a for loop

1 回表示 (過去 30 日間)
Jose Moreno
Jose Moreno 2020 年 3 月 24 日
コメント済み: Jose Moreno 2020 年 3 月 24 日
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)

採用された回答

KSSV
KSSV 2020 年 3 月 24 日
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)
  1 件のコメント
Jose Moreno
Jose Moreno 2020 年 3 月 24 日
Thanks for the help.

サインインしてコメントする。

その他の回答 (1 件)

Sriram Tadavarty
Sriram Tadavarty 2020 年 3 月 24 日
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 件のコメント
Jose Moreno
Jose Moreno 2020 年 3 月 24 日
Thanks a lot this has helped by showing me another way.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by