24小时热门版块排行榜    

查看: 744  |  回复: 6

张跃simple

银虫 (小有名气)

[求助] 关于通过matlab利用向量点乘求轨迹的问题 已有2人参与

已知一点M(10,10,20),另一点P(0,0,100),以及未知点k(x,y,z);MP和MK的夹角D为5度。易知,MPXMK=|MP|x|Mk|xCOS(D)。由此可以求得点K的轨迹方程,令x=0可得到点在yoz面上的轨迹方程。我想用matlab画出这个轨迹,编程如下:
clear all
>> syms x y z
x=0;
mp=[x-10,y-10,z-20];
>> mr=[-100,-100,80];
>> t=mp.*mr;
>> f=norm(t);
>> g=norm(mp)*norm(mr)*cosd(5);
>> y=0:0.1:100;
>> g=f;
>> plot(y,z)
求解结果显示:conversion to double from sym is not possible
请各位大神指点指点
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

感谢参与,应助指数 +1
本帖仅楼主可见
2楼2016-01-04 10:25:12
已阅   申请程序强帖   回复此楼   编辑   查看我的主页

张跃simple

银虫 (小有名气)

引用回帖:
2楼: Originally posted by Tsin1138 at 2016-01-04 10:25:12
在“ f=norm(t);   g=norm(mp)*norm(mr)*cosd(5);”两句中,t和mp含有未知变量,不能用norm函数,可以将“f=norm(t); ”改为“f=sqrt(sum(t.^2));”,g也类似。

还是会出现这种情况啊,其实我单独运行norm它也能通过方程表达出来的。还有就是t.^2,t后面那个点,是不是平方什么的前面都必须有点
3楼2016-01-04 10:43:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

getengqing

木虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
你的最后一个plot是画一个y,z的图,但你的程序是有好多个y,z,所以出现以上错误!
一起交流学习/分享优秀资源
4楼2016-01-04 11:00:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

张跃simple

银虫 (小有名气)

引用回帖:
4楼: Originally posted by getengqing at 2016-01-04 11:00:22
你的最后一个plot是画一个y,z的图,但你的程序是有好多个y,z,所以出现以上错误!

我就一个yz吧,最后相等得到一个yz的函数,再以y为变量,z为函数值画图
5楼2016-01-04 11:12:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
张跃simple: 金币+20, 有帮助 2016-01-05 14:50:16
本帖仅楼主可见
6楼2016-01-04 11:38:14
已阅   申请程序强帖   回复此楼   编辑   查看我的主页

张跃simple

银虫 (小有名气)

内容已删除
7楼2016-01-04 11:53:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 张跃simple 的主题更新
信息提示
请填处理意见