Why the function like (1 - cosd(x)) / cosd(x) doesn't create an vector and can't plot?

2 次查看(过去 30 天)
I want to plot an function for relative deviation but I got the problem to create the vector. I cant plotting anything.
I try to have on the x-axis the angle in GRAD and on the y-axis the relativ deviation in %.
Do you know where there problem is? I got the following code:
x=-25:0.1:25;
%Grad in Bogenmaß
R = deg2rad(x);
%sin und cos in degree sind sind() und cosd()
F_rel_a = (R - sind(x))/sind(x);
F_rel_c = (1 - cosd(x))/cosd(x);
%%% y = F_rel_a * 100; %not in use
%plotting
figure
plot(x, F_rel_a)
hold on
plot(F_rel_c)
hold off
%%% axis([-25 25 0 2]) %not in use
xlabel('Pendelwinkel in Grad [°]');
ylabel('Relative Abweichung in [%]');
legend({'$sin(\varphi) \approx \varphi$', '$cos(\varphi) \approx 1$'},'Interpreter','latex')

采纳的回答

Bruno Luong
Bruno Luong 2023-3-1
编辑:Bruno Luong 2023-3-1
Change / to ./, the "/" is matrix left-division and does something you won't expect for vectors
x=-25:0.1:25;
%Grad in Bogenmaß
R = deg2rad(x);
%sin und cos in degree sind sind() und cosd()
F_rel_a = (R - sind(x))./sind(x);
F_rel_c = (1 - cosd(x))./cosd(x);
%%% y = F_rel_a / 100; %not in use
%plotting
figure
plot(x, F_rel_a)
hold on
plot(F_rel_c)
hold off
%%% axis([-25 25 0 2]) %not in use
xlabel('Pendelwinkel in Grad [°]');
ylabel('Relative Abweichung in [%]');
legend({'$sin(\varphi) \approx \varphi$', '$cos(\varphi) \approx 1$'},'Interpreter','latex')

更多回答(1 个)

Torsten
Torsten 2023-3-1
%sin und cos in degree sind sind() und cosd()
F_rel_a = (R - sind(x))./sind(x)
F_rel_c = (1 - cosd(x))./cosd(x)
instead of
%sin und cos in degree sind sind() und cosd()
F_rel_a = (R - sind(x))/sind(x)
F_rel_c = (1 - cosd(x))/cosd(x)

类别

Help CenterFile Exchange 中查找有关 Networks 的更多信息

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by