matlab 矩阵运算的时候,出现“矩阵维度必须一致。”错误,求解释 5

x0=t(1);%x0,y0为平移参数y0=t(2);a=t(3);%a为旋转参数m=t(4);%m为尺度参数x1=[-141.2,-150.4,-49.2,34.8,5... x0=t(1);% x0,y0为平移参数
y0=t(2);
a=t(3); % a为旋转参数
m=t(4); % m为尺度参数

x1 = [-141.2,-150.4,-49.2,34.8,55.6,250.5];
y1 = [83.4,-67.9,16.8,9.4,-64.2,22.4];

x = [1.3,1,3.2,5,5.5,9.7];
y = [4,1,2.8,2.5,1.2,2.8];

result = [x, y] - ([x1, y1].*[(1+m)*cos(a),(1+m)*sin(a);-(1+m)*sin(a),(1+m)*cos(a)]+[x0, y0]);
================
错误使用 .*
矩阵维度必须一致。

出错 xy (line 25)
result = [x, y] - ([x1',
y1']'.*[(1+m)*cos(a),(1+m)*sin(a);-(1+m)*sin(a),(1+m)*cos(a)]+[x0,
y0]);
展开
 我来答
bill8341
高粉答主

2018-01-09 · 关注我不会让你失望
知道大有可为答主
回答量:1.8万
采纳率:95%
帮助的人:3678万
展开全部
  • 错误使用* 内部矩阵维度必须一致

  • d*v表示矩阵乘法,要求d的列数必须与v的行数一致,也就是说,如果d是m行n列的矩阵,v必须是n行w列的矩阵

  • 错误使用.* 矩阵维度必须一致

  • d.*v 表示矩阵的点乘运算,也就是d矩阵和v矩阵对应元素直接相乘,所以要求d和v的维度必须一致,即如果d是m行n列的矩阵,v也必须是m行n列的矩阵

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式