MATLAB function cross can be applied to symbolic object but Documentation does not explain?

조회 수: 39 (최근 30일)
syms x y z
vec1=[x y z];
vec2=[x y z];
cross(vec1,vec2)

답변 (1개)

Ameer Hamza
Ameer Hamza 2020년 12월 3일
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
Walter Roberson
Walter Roberson 2020년 12월 3일
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
Ameer Hamza 2020년 12월 3일
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

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Assumptions에 대해 자세히 알아보기

제품


릴리스

R2015a

Community Treasure Hunt

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

Start Hunting!

Translated by