MATLAB Answers

How to plot two calculated values in for loop ?

6 views (last 30 days)
Bora K
Bora K on 31 Oct 2019
Commented: Bora K on 31 Oct 2019
I have a problem with plotting the values that I found inside the 'for loop'. I want to plot v_corr and v, but when I run this v gets 180 same values inside the matrix? Could you help me to solve it?
Thanks a lot in advance!
M = 0:1.001:180;
e = 0:0.00557:1;
v = zeros(length(M),length(e));
for i = 1:length(M)
for j = 1:length(e)
E = atand((sind(M))/(cosd(M)-e));
v(i,j) = 2.*(atand(tand(M/2).*(1+e)/(1-e)));
v_corr(i,j) = 2.*(atand(sqrt((1+e)/(1-e)).*(tand(E/2))));

Accepted Answer

Bhaskar R
Bhaskar R on 31 Oct 2019
Hi Bora KAMACI , What is the need of the for loops over here?
We can notice in your code that you used Solve systems of linear equations(/ symbol) but I assume ./ is the actual division operation as
M = 0:1.001:180;
e = 0:0.00557:1;
%v = zeros(length(M),length(e));
% changed division operation insted of / operator
E = atand((sind(M))./(cosd(M)-e));
v = 2.*(atand(tand(M/2).*(1+e)./(1-e)));
v_corr = 2.*(atand(sqrt((1+e)./(1-e)).*(tand(E/2))));
figure, plot(v), title('v')
figure, plot(v_corr), title('v\_corr')
Hope helps you

More Answers (0)

Community Treasure Hunt

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

Start Hunting!