matlab实现求向量间的夹角总出错的原因是什么?【求助贴】

莫负好春光 2018-12-11 05:28:41

平面坐标系中存在三点A(xa,ya)、B(xb,yb)、C(xc,yc),由这三点构成的两个向量CA、CB,如何用MATLAB实现求CA与CB的夹角(C的角)。

我写了一个程序,用的方法主要是求出cos值,然后用acos函数反求角度。可是运行出来的结果总是不对的,尝试还了x、y的位置还是不对,实在找不到是什么原因了,求大神指点。

clc;
clear;
A=input('请按位置依次输入坐标xaA1)、ya(A2)、xb(A3)、yb(A4)、xc(A5)、yc(A6):');
b=((A(1)-A(5))*(A(3)-A(5))+(A(2)-A(6))*(A(4)-A(6)));
c=sqrt((A(1)-A(5))^2+(A(4)-A(6))^2)*sqrt((A(1)-A(5))^2+(A(2)-A(6))^2);
CosO=b/c;
O=acos(CosO); %数值表示度
O1=O*180/pi;
disp('O1是所求角度')


这里输入的坐标是A(0,2)、B(2,2)、C(2,0),CA向量与CB向量之间的夹角应该是45度,结果这里求出是60度。求大神帮忙找下错误。万分感谢!
...全文
134 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
莫负好春光 2018-12-16
  • 打赏
  • 举报
回复
回去好好看书!!这里不适合你、

33,008

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧