MATLAB function cross can be applied to symbolic object but Documentation does not explain?
33 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
syms x y z
vec1=[x y z];
vec2=[x y z];
cross(vec1,vec2)
0 commentaires
Réponses (1)
Ameer Hamza
le 3 Déc 2020
It works fine in R2020b, are you using an older release?
syms x y z
vec1 = [x y z];
vec2 = [x y z];
x = cross(vec1, vec2);
Result
>> x
x =
[0, 0, 0]
4 commentaires
Walter Roberson
le 3 Déc 2020
Especially back in those days, a lot of the numeric functions did not check specifically that their arguments were numeric. They just went ahead with the calculations, and if the calculations happened to involve an operation not possible on the variable type you were using, you would get an error in that particular operation.
Ameer Hamza
le 3 Déc 2020
Also, inside cross.m file, it specifically mentions that it supports single and double classes. However, it works fine for other datatypes too
>> a = randi(10, 1, 3);
b = randi(10, 1, 3);
>> cross(a, b)
ans =
-14 37 -10
>> cross(int8(a), b)
ans =
1×3 int8 row vector
-14 37 -10
Voir également
Catégories
En savoir plus sur Assumptions 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!