how to label each line in the graph with respective x values?

7 views (last 30 days)
clear
clc
Cv=0.91;
X=0:5:180;
for i = 1:length(X)
x=X(i);
fprintf("\nThe b is %.4f\n", x)
Y=0:0.1:1;
for j = 1:length(Y)
y=Y(j);
Nt(j)=2*y*(Cv - y)*(1 - cosd(x));
fprintf("The OF is %.4f\n", Nt(j))
end
plot(Y,Nt, 'displayname', sprintf('x=%g', x))
end

Answers (1)

Walter Roberson
Walter Roberson on 1 Jul 2021
clear
clc
C=0.91;
hold on
X=0:5:180;
Nt = zeros(size(X));
for i = 1:length(X)
x=X(i);
fprintf("\nThe B is %f\n", x)
Y=0:0.1:1;
for j = 1:length(Y)
y=Y(j);
Nt=2*y*(C - y)*(1 - cosd(x));
fprintf("The OF is %f\n", Nt)
end
plot (y,Nt, '*-')
grid on
xlabel('SF')
ylabel('OF')
end
The B is 0.000000
The OF is 0.000000 The OF is 0.000000 The OF is 0.000000 The OF is 0.000000 The OF is 0.000000 The OF is 0.000000 The OF is 0.000000 The OF is 0.000000 The OF is 0.000000 The OF is 0.000000 The OF is -0.000000
The B is 5.000000
The OF is 0.000000 The OF is 0.000616 The OF is 0.001081 The OF is 0.001393 The OF is 0.001553 The OF is 0.001560 The OF is 0.001416 The OF is 0.001119 The OF is 0.000670 The OF is 0.000068 The OF is -0.000685
The B is 10.000000
The OF is 0.000000 The OF is 0.002461 The OF is 0.004315 The OF is 0.005560 The OF is 0.006198 The OF is 0.006229 The OF is 0.005652 The OF is 0.004467 The OF is 0.002674 The OF is 0.000273 The OF is -0.002735
The B is 15.000000
The OF is 0.000000 The OF is 0.005520 The OF is 0.009677 The OF is 0.012471 The OF is 0.013902 The OF is 0.013970 The OF is 0.012676 The OF is 0.010018 The OF is 0.005997 The OF is 0.000613 The OF is -0.006133
The B is 20.000000
The OF is 0.000000 The OF is 0.009770 The OF is 0.017127 The OF is 0.022073 The OF is 0.024605 The OF is 0.024726 The OF is 0.022434 The OF is 0.017730 The OF is 0.010614 The OF is 0.001086 The OF is -0.010855
The B is 25.000000
The OF is 0.000000 The OF is 0.015178 The OF is 0.026609 The OF is 0.034291 The OF is 0.038226 The OF is 0.038414 The OF is 0.034854 The OF is 0.027546 The OF is 0.016490 The OF is 0.001686 The OF is -0.016865
The B is 30.000000
The OF is 0.000000 The OF is 0.021704 The OF is 0.038049 The OF is 0.049035 The OF is 0.054662 The OF is 0.054930 The OF is 0.049839 The OF is 0.039389 The OF is 0.023580 The OF is 0.002412 The OF is -0.024115
The B is 35.000000
The OF is 0.000000 The OF is 0.029297 The OF is 0.051361 The OF is 0.066190 The OF is 0.073786 The OF is 0.074148 The OF is 0.067275 The OF is 0.053169 The OF is 0.031829 The OF is 0.003255 The OF is -0.032553
The B is 40.000000
The OF is 0.000000 The OF is 0.037901 The OF is 0.066443 The OF is 0.085628 The OF is 0.095454 The OF is 0.095922 The OF is 0.087031 The OF is 0.068783 The OF is 0.041176 The OF is 0.004211 The OF is -0.042112
The B is 45.000000
The OF is 0.000000 The OF is 0.047449 The OF is 0.083182 The OF is 0.107199 The OF is 0.119500 The OF is 0.120086 The OF is 0.108956 The OF is 0.086111 The OF is 0.051549 The OF is 0.005272 The OF is -0.052721
The B is 50.000000
The OF is 0.000000 The OF is 0.057868 The OF is 0.101448 The OF is 0.130740 The OF is 0.145743 The OF is 0.146457 The OF is 0.132883 The OF is 0.105020 The OF is 0.062869 The OF is 0.006430 The OF is -0.064298
The B is 55.000000
The OF is 0.000000 The OF is 0.069081 The OF is 0.121104 The OF is 0.156071 The OF is 0.173981 The OF is 0.174834 The OF is 0.158630 The OF is 0.125369 The OF is 0.075051 The OF is 0.007676 The OF is -0.076756
The B is 60.000000
The OF is 0.000000 The OF is 0.081000 The OF is 0.142000 The OF is 0.183000 The OF is 0.204000 The OF is 0.205000 The OF is 0.186000 The OF is 0.147000 The OF is 0.088000 The OF is 0.009000 The OF is -0.090000
The B is 65.000000
The OF is 0.000000 The OF is 0.093536 The OF is 0.163976 The OF is 0.211322 The OF is 0.235572 The OF is 0.236727 The OF is 0.214786 The OF is 0.169750 The OF is 0.101619 The OF is 0.010393 The OF is -0.103929
The B is 70.000000
The OF is 0.000000 The OF is 0.106593 The OF is 0.186866 The OF is 0.240821 The OF is 0.268456 The OF is 0.269772 The OF is 0.244769 The OF is 0.193446 The OF is 0.115804 The OF is 0.011844 The OF is -0.118436
The B is 75.000000
The OF is 0.000000 The OF is 0.120071 The OF is 0.210495 The OF is 0.271272 The OF is 0.302402 The OF is 0.303884 The OF is 0.275719 The OF is 0.217907 The OF is 0.130448 The OF is 0.013341 The OF is -0.133413
The B is 80.000000
The OF is 0.000000 The OF is 0.133869 The OF is 0.234684 The OF is 0.302445 The OF is 0.337152 The OF is 0.338804 The OF is 0.307403 The OF is 0.242947 The OF is 0.145438 The OF is 0.014874 The OF is -0.148743
The B is 85.000000
The OF is 0.000000 The OF is 0.147881 The OF is 0.259248 The OF is 0.334101 The OF is 0.372440 The OF is 0.374266 The OF is 0.339578 The OF is 0.268376 The OF is 0.160661 The OF is 0.016431 The OF is -0.164312
The B is 90.000000
The OF is 0.000000 The OF is 0.162000 The OF is 0.284000 The OF is 0.366000 The OF is 0.408000 The OF is 0.410000 The OF is 0.372000 The OF is 0.294000 The OF is 0.176000 The OF is 0.018000 The OF is -0.180000
The B is 95.000000
The OF is 0.000000 The OF is 0.176119 The OF is 0.308752 The OF is 0.397899 The OF is 0.443560 The OF is 0.445734 The OF is 0.404422 The OF is 0.319624 The OF is 0.191339 The OF is 0.019569 The OF is -0.195688
The B is 100.000000
The OF is 0.000000 The OF is 0.190131 The OF is 0.333316 The OF is 0.429555 The OF is 0.478848 The OF is 0.481196 The OF is 0.436597 The OF is 0.345053 The OF is 0.206562 The OF is 0.021126 The OF is -0.211257
The B is 105.000000
The OF is 0.000000 The OF is 0.203929 The OF is 0.357505 The OF is 0.460728 The OF is 0.513598 The OF is 0.516116 The OF is 0.468281 The OF is 0.370093 The OF is 0.221552 The OF is 0.022659 The OF is -0.226587
The B is 110.000000
The OF is 0.000000 The OF is 0.217407 The OF is 0.381134 The OF is 0.491179 The OF is 0.547544 The OF is 0.550228 The OF is 0.499231 The OF is 0.394554 The OF is 0.236196 The OF is 0.024156 The OF is -0.241564
The B is 115.000000
The OF is 0.000000 The OF is 0.230464 The OF is 0.404024 The OF is 0.520678 The OF is 0.580428 The OF is 0.583273 The OF is 0.529214 The OF is 0.418250 The OF is 0.250381 The OF is 0.025607 The OF is -0.256071
The B is 120.000000
The OF is 0.000000 The OF is 0.243000 The OF is 0.426000 The OF is 0.549000 The OF is 0.612000 The OF is 0.615000 The OF is 0.558000 The OF is 0.441000 The OF is 0.264000 The OF is 0.027000 The OF is -0.270000
The B is 125.000000
The OF is 0.000000 The OF is 0.254919 The OF is 0.446896 The OF is 0.575929 The OF is 0.642019 The OF is 0.645166 The OF is 0.585370 The OF is 0.462631 The OF is 0.276949 The OF is 0.028324 The OF is -0.283244
The B is 130.000000
The OF is 0.000000 The OF is 0.266132 The OF is 0.466552 The OF is 0.601260 The OF is 0.670257 The OF is 0.673543 The OF is 0.611117 The OF is 0.482980 The OF is 0.289131 The OF is 0.029570 The OF is -0.295702
The B is 135.000000
The OF is 0.000000 The OF is 0.276551 The OF is 0.484818 The OF is 0.624801 The OF is 0.696500 The OF is 0.699914 The OF is 0.635044 The OF is 0.501889 The OF is 0.300451 The OF is 0.030728 The OF is -0.307279
The B is 140.000000
The OF is 0.000000 The OF is 0.286099 The OF is 0.501557 The OF is 0.646372 The OF is 0.720546 The OF is 0.724078 The OF is 0.656969 The OF is 0.519217 The OF is 0.310824 The OF is 0.031789 The OF is -0.317888
The B is 145.000000
The OF is 0.000000 The OF is 0.294703 The OF is 0.516639 The OF is 0.665810 The OF is 0.742214 The OF is 0.745852 The OF is 0.676725 The OF is 0.534831 The OF is 0.320171 The OF is 0.032745 The OF is -0.327447
The B is 150.000000
The OF is 0.000000 The OF is 0.302296 The OF is 0.529951 The OF is 0.682965 The OF is 0.761338 The OF is 0.765070 The OF is 0.694161 The OF is 0.548611 The OF is 0.328420 The OF is 0.033588 The OF is -0.335885
The B is 155.000000
The OF is 0.000000 The OF is 0.308822 The OF is 0.541391 The OF is 0.697709 The OF is 0.777774 The OF is 0.781586 The OF is 0.709146 The OF is 0.560454 The OF is 0.335510 The OF is 0.034314 The OF is -0.343135
The B is 160.000000
The OF is 0.000000 The OF is 0.314230 The OF is 0.550873 The OF is 0.709927 The OF is 0.791395 The OF is 0.795274 The OF is 0.721566 The OF is 0.570270 The OF is 0.341386 The OF is 0.034914 The OF is -0.349145
The B is 165.000000
The OF is 0.000000 The OF is 0.318480 The OF is 0.558323 The OF is 0.719529 The OF is 0.802098 The OF is 0.806030 The OF is 0.731324 The OF is 0.577982 The OF is 0.346003 The OF is 0.035387 The OF is -0.353867
The B is 170.000000
The OF is 0.000000 The OF is 0.321539 The OF is 0.563685 The OF is 0.726440 The OF is 0.809802 The OF is 0.813771 The OF is 0.738348 The OF is 0.583533 The OF is 0.349326 The OF is 0.035727 The OF is -0.357265
The B is 175.000000
The OF is 0.000000 The OF is 0.323384 The OF is 0.566919 The OF is 0.730607 The OF is 0.814447 The OF is 0.818440 The OF is 0.742584 The OF is 0.586881 The OF is 0.351330 The OF is 0.035932 The OF is -0.359315
The B is 180.000000
The OF is 0.000000 The OF is 0.324000 The OF is 0.568000 The OF is 0.732000 The OF is 0.816000 The OF is 0.820000 The OF is 0.744000 The OF is 0.588000 The OF is 0.352000 The OF is 0.036000 The OF is -0.360000
  2 Comments
Walter Roberson
Walter Roberson on 1 Jul 2021
for j = 1:length(Y)
y=Y(j);
y (lower-case) is now a scalar, one particular Y (upper-case) value
Nt=2*y*(C - y)*(1 - cosd(x));
x is a scalar from x=X(i); and C=0.91; is a scalar, and with y being a scalar, the calculated value stored in Nt is a scalar.
fprintf("The OF is %f\n", Nt)
You display the scalar Nt.
end
The next iteration of j you overwrite all of y, and all of Nt.
So at the end of the loop, y is the last scalar value that was assigned to it, Y(length(Y)), and Nt is the last scalar that was assigned to it.
plot (y,Nt)
and there you plot the scalar y against the scalar Nt, which is a request to plot a single point. By default, MATLAB does not put any marker on plots, and MATLAB never draws a line unless there are at least two adjacent finite coordinates in the line, so by default nothing gets drawn. I showed you adding '*-' option to plot() to cause it to draw the points.
But what you should do is...
for j = 1:length(Y)
y=Y(j);
Nt(j)=2*y*(C - y)*(1 - cosd(x));
fprintf("The OF is %f\n", Nt(j))
end
plot(Y,Nt, 'displayname', sprintf('x=%g', x))
Well, what you probably should do is create a 2D plot instead of line plots.
Walter Roberson
Walter Roberson on 1 Jul 2021
Cv=0.91;
X=0:5:180;
for i = 1:length(X)
x=X(i);
%fprintf("\nThe b is %.4f\n", x)
Y=0:0.1:1;
for j = 1:length(Y)
y=Y(j);
Nt(j)=2*y*(Cv - y)*(1 - cosd(x));
%fprintf("The OF is %.4f\n", Nt(j))
end
plot(Y,Nt, 'displayname', sprintf('x=%g', x));
hold on
end
legend show location eastoutside

Sign in to comment.

Categories

Find more on 2-D and 3-D Plots 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!