Cosine function does not work

4 vues (au cours des 30 derniers jours)
Szymon Wlodarczyk
Szymon Wlodarczyk le 10 Mai 2016
I have recently faced a silly problem using cosine (Y=cos(x)). I am trying to compute:
cos(ksi1)
where ksi1 equals to 2.8322 and is type double. I am getting only an error:
"Subscript indices must either be real positive integers or logicals."
What is funny that sin(ksi1) returns a value, 0.3044. Moreover, I can compute value cos(ksi1) using Pythagorean trigonometric identity.
It just eats my nerves. I am working with MATLAB R2013a.

Réponse acceptée

James Tursa
James Tursa le 10 Mai 2016
Modifié(e) : James Tursa le 10 Mai 2016
You have inadvertently created a variable with the name "cos" that is shadowing the function "cos". Clear the variable, and pick a different variable name to use for the calculation you are doing to avoid the same problem in the future. E.g.,
>> which cos
built-in (C:\Program Files\MATLAB\R2015a\toolbox\matlab\elfun\@double\cos) % double method
>> cos(2.8322)
ans =
-0.9525
>> cos = 4 % <-- creating a variable named cos
cos =
4
>> which cos
cos is a variable.
>> cos(2.8322)
Subscript indices must either be real positive integers or logicals.
>> clear cos
>> cos(2.8322)
ans =
-0.9525
  1 commentaire
Szymon Wlodarczyk
Szymon Wlodarczyk le 10 Mai 2016
That was the problem. Thank you.

Connectez-vous pour commenter.

Plus de réponses (1)

mustafa ün
mustafa ün le 18 Jan 2019
execllent fro beginners

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by