24小时热门版块排行榜    

查看: 7981  |  回复: 5

gaoyuan007

木虫 (小有名气)

[求助] 用solve解方程组,得到sym类型数据,把数据如何提取出来啊 已有1人参与

a=[1,1,1,8,90,45]
   b(1,1)=a(1,1);
   b(1,2)=a(1,2);
   b(1,3)=a(1,3);
   b(1,4)=a(1,4)/2;
   b(1,5)=cos(a(1,5)/180.0*pi)*sin(a(1,6)/180.0*pi);
   b(1,6)=sin(a(1,5)/180.0*pi)*sin(a(1,6)/180.0*pi);
   b(1,7)=cos(a(1,6)/180.0*pi);
   [x,y,z]=solve('b(1,5)*(x-b(1,1))+b(1,6)*(y-b(1,2))+b(1,7)*(z-b(1,3))=0','(x-b(1,1))^2+(y-b(1,2))^2+(z-b(1,3))^2=b(1,4)^2','y=0','x','y','z')

以上是编写的程序,方程组应该有两个解,用solve解得到sym类型的数据,如何输出两个解的数据,每个解的数据为三维的(x,y,z)。谢谢
回复此楼
尝试改变,敢于担当
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mygt_hit

专家顾问 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
试试类型转换
double
feval等函数
知其然,知其所以然。
2楼2015-04-28 18:41:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gaoyuan007

木虫 (小有名气)

引用回帖:
2楼: Originally posted by mygt_hit at 2015-04-28 18:41:08
试试类型转换
double
feval等函数

试了,都不好使,还烦请帮忙解决,谢谢!
尝试改变,敢于担当
3楼2015-04-28 21:47:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mygt_hit

专家顾问 (职业作家)

【答案】应助回帖

引用回帖:
3楼: Originally posted by gaoyuan007 at 2015-04-28 21:47:13
试了,都不好使,还烦请帮忙解决,谢谢!...

先定义符号变量,求解方程,然后代入数值计算。
syms x y z
b = sym('b',[1,7]);
f1 = b(5)*(x-b(1))+b(6)*(y-b(2))+b(7)*(z-b(3))
f2 = (x-b(1,1))^2+(y-b(1,2))^2+(z-b(1,3))^2 - b(1,4)^2
解 f1 f2
subs()代入数值计算
知其然,知其所以然。
4楼2015-04-28 23:46:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gaoyuan007

木虫 (小有名气)

引用回帖:
4楼: Originally posted by mygt_hit at 2015-04-28 23:46:45
先定义符号变量,求解方程,然后代入数值计算。
syms x y z
b = sym('b',);
f1 = b(5)*(x-b(1))+b(6)*(y-b(2))+b(7)*(z-b(3))
f2 = (x-b(1,1))^2+(y-b(1,2))^2+(z-b(1,3))^2 - b(1,4)^2
解 f1 f2
subs()代入 ...

还麻烦你从前到后把代码给写一下吧,我还是算不出来。谢谢!
尝试改变,敢于担当
5楼2015-04-29 08:06:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mygt_hit

专家顾问 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★
gaoyuan007: 金币+5, ★★★很有帮助, 非常感谢! 2015-04-29 10:20:37
引用回帖:
5楼: Originally posted by gaoyuan007 at 2015-04-29 08:06:30
还麻烦你从前到后把代码给写一下吧,我还是算不出来。谢谢!...

clear
clc
a=[1,1,1,8,90,45]
   b(1,1)=a(1,1);
   b(1,2)=a(1,2);
   b(1,3)=a(1,3);
   b(1,4)=a(1,4)/2;
   b(1,5)=cos(a(1,5)/180.0*pi)*sin(a(1,6)/180.0*pi);
   b(1,6)=sin(a(1,5)/180.0*pi)*sin(a(1,6)/180.0*pi);
   b(1,7)=cos(a(1,6)/180.0*pi);
   c = b;
  b = sym('b',[1,7]);
syms x y z

f1 = b(5)*(x-b(1))+b(6)*(y-b(2))+b(7)*(z-b(3))
f2 = (x-b(1,1))^2+(y-b(1,2))^2+(z-b(1,3))^2 - b(1,4)^2
[x,y,z] = solve(f1,f2,'y=0','x,y,z')
xx = subs(x,b,c)
yy = subs(y,b,c)
zz = subs(z,b,c)
知其然,知其所以然。
6楼2015-04-29 09:17:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gaoyuan007 的主题更新
信息提示
请填处理意见