matlab给矩阵中的变量赋值怎么赋?

来源:百度知道 编辑:UC知道 时间:2024/09/24 12:00:17
syms e f
e=[30 60 90];
f=[45 90 180];
R=[cosd(e)*cosd(f)]
那两个角度都是矩阵 这样为什么不能计算?

syms e f 这句没有意义,可以不用。
不能计算是因为矩阵相乘有*和.*两种。
a*b要求a的列数与b的行数相等;
a.*b要求两矩阵的维参数相同,它表示a和b单个元素之间对应相乘。
你的问题应该是用后者,改成这样试试吧:
R=[cosd(e).*cosd(f)]

e=[30 60 90];
f=[45 90 180];
R=[cosd(e).*cosd(f)]
这样就可以了
普通变量不用专门申明的,直接给它赋值就可以了
不能算是因为你需要点乘,这样的两个矩阵不满足举证乘法的要求

呵呵矩阵维数不相等怎么能相乘的?
有三种方法,不知道你是哪种:
1、R=[cosd(e).*cosd(f)]
2、R=[cosd(e)*cosd(f)']
3、R=[cosd(e)'*cosd(f)]

应该用点乘吧?