how do i write sin^2(x) in matlab?

397 vues (au cours des 30 derniers jours)
Miri van de Kamp
Miri van de Kamp le 4 Sep 2020
Commenté : Walter Roberson le 18 Fév 2024
I am trying to plot sin^2(x) together with cos^2(x) between [0,2pi]
but cant get my matlab to accept sin^2(x).
here is what I wrote, what am i doing wrong?
x=0:0.01:2*pi
si=sin^2(x);
co=cos^2(x);
plot(si,co)
  5 commentaires
Steven Lord
Steven Lord le 23 Jan 2024
That is the correct value for the sine of -5 radians. If you wanted to compute the sine of -5 degrees use the sind function instead of the sin function.
R1 = -5; % radians
D1 = rad2deg(R1) % -5 radians in degrees
D1 = -286.4789
sineOfMinus5Radians = [sin(R1); sind(D1)]
sineOfMinus5Radians = 2×1
0.9589 0.9589
D2 = -5; % degrees
R2 = deg2rad(D2) % -5 degrees in radians
R2 = -0.0873
sineOfMinus5Degrees = [sind(D2); sin(R2)]
sineOfMinus5Degrees = 2×1
-0.0872 -0.0872
Dyuman Joshi
Dyuman Joshi le 23 Jan 2024
Modifié(e) : Dyuman Joshi le 23 Jan 2024
@Hammad, the input of sin() is considered as radian, which can be seen from the documentation of sin (easily foundable by a simple search on the internet), thus the value is provided accordingly.
If you want to compute considering the input as degrees, use sind.
Also note that the output shown is a truncated value upto 4 digits after decimal, which is not what the actual value is.

Connectez-vous pour commenter.

Réponse acceptée

David Hill
David Hill le 4 Sep 2020
Modifié(e) : David Hill le 4 Sep 2020
x=0:0.01:2*pi;
si=sin(x).^2;
co=cos(x).^2;
plot(x,si,x,co);
figure;
plot(si,co);%not sure which one you want
  4 commentaires
Sam Chak
Sam Chak le 24 Mar 2022
@윤선 이, no worries, I teach you.
x = 0:0.01:pi;
y = sin(2*x);
plot(x, y)
Image Analyst
Image Analyst le 24 Mar 2022
An alternative to specifying the spacing is to specify the number of elements in the vector with linspace(), like
numElements = 2000; % Should be enough to fit all the way across your screen.
x = linspace(0, pi, numElements);
y = sin(2 * x);
plot(x, y, 'b-', 'LineWidth', 2);
grid on;
xlabel('x');
ylabel('y');
title('Y vs X');
xlim([min(x), max(x)]);

Connectez-vous pour commenter.

Plus de réponses (1)

hemin ahmad
hemin ahmad le 18 Fév 2024
sin(x)
  1 commentaire
Walter Roberson
Walter Roberson le 18 Fév 2024
No, this is not correct. As explained above, sin(x).^2 is needed.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by