你好,其实原因很简单,你的R21的矩阵后面是用的中文输入法状态下的分号“;”
复制以上代码,但是把R21后的分号给成英文分号“;”
就没问题了
其实你这样输入时,matlab命令窗口里自然会把那个错误的分号显示成红色,但是因为你表达矩阵太长了所以看不到最后的分号了吧。建议你以后在命令窗口里定义矩阵时,行之间可以用shift+enter哦
运行结果
B21 =
0.6123 0.2388 0.1489 0 0
你是两个矩阵相乘,线性代数知道矩阵A*矩阵B,必须要A的列数和B的行数相等。error提示说你的维数不匹配,但我检查你的应该是正确的呀,而且我把你的代码试了一下,除了R21后面的“;”符号不对以外,其他都是正确的。
我的效果如下:
>> W21=[0.4377 0.2584 0.1746 0.0807 0.0486];
>> R21=[0.6000 0.2500 0.1500 0 0;0.6500 0.3000 0.0500 0 0;0.5500 0.2000 0.2500 0 0;0.7000 0.1500 0.1500 0 0;0.6000 0.1000 0.3000 0 0];
>> B21=W21*R21
B21 =
0.6123 0.2388 0.1489 0 0
我运行的结果是:
B21 =
0.6123 0.2388 0.1489 0 0
你看看是不是你程序其他地方出错,或者你在敲入以上程序的时候,少敲了空格或者其他内容。
矩阵相乘的条件??