Matlab 版 (精华区)

发信人: hahn (有奇@选择遗忘的自由), 信区: Matlab
标  题: [合集] 这个方程怎么解不出来呢?
发信站: 哈工大紫丁香 (Sun Aug  6 08:44:29 2006), 站内

────────────────────────────────────────
  huaxin (不是计划就是总结)        于  (Thu May 18 16:06:21 2006)  说道:

x,y,z 为所求变量。其余为常数。三个代数方程。不知道错在哪里。用符号解的


[x,y,z]=solve('cos(xw)*cos(zw)*z*cos(yw)-cos(xw)*cos(zw)*z*sin(yw)*y-cos(xw)*sin(zw)*sin(yw)*y-sin(xw)*cos(yw)*y-x*sin(xw)*cos(zw)*z*cos(yw)+x*sin(xw)*cos(zw)*z*sin(yw)*y-x*sin(xw)*sin(zw)*cos(yw)+x*sin(xw)*sin(zw)*sin(yw)*y-x*cos(xw)*cos(yw)*y-x*cos
sin(yw)-k1',        'cos(xw)*sin(zw)*z-sin(xw)*x*sin(zw)*z+sin(xw)*x*cos(zw)-k2',    '-cos(xw)*cos(zw)*z*sin(yw)-cos(xw)*cos(zw)*z*cos(yw)*y-cos(xw)*sin(zw)*cos(yw)*y+sin(xw)*sin(yw)*y+x*sin(xw)*cos(zw)*z*sin(yw)+x*sin(xw)*cos(zw)*z*cos(yw)*y+x*sin(x
n(zw)*sin(yw)+x*sin(xw)*sin(zw)*cos(yw)*y-x*cos(xw)*cos(yw)+x*cos(xw)*sin(yw)*y-k3')



────────────────────────────────────────
  zjliu (秋天的萝卜)               于  (Thu May 18 16:07:31 2006)  说道:

做数值解吧
【 在 huaxin (不是计划就是总结) 的大作中提到: 】
: x,y,z 为所求变量。其余为常数。三个代数方程。不知道错在哪里。用符号解的
: [x,y,z]=solve('cos(xw)*cos(zw)*z*cos(yw)-cos(xw)*cos(zw)*z*sin(yw)*y-cos(xw)*sin(zw)*sin(yw)*y-sin(xw)*cos(yw)*y-x*sin(xw)*cos(zw)*z*cos(yw)+x*sin(xw)*cos(zw)*z*sin(yw)*y-x*sin(xw)*sin(zw)*cos(yw)+x*sin(xw)*sin(zw)*sin(yw)*y-x*cos(xw)*cos(yw)*y-x*c




────────────────────────────────────────
  huaxin (不是计划就是总结)        于  (Thu May 18 16:13:55 2006)  说道:

为什么会解不出来呢?
就是三个未知数,其余的一大堆都是些常数,真不知道为什么在matlab里过不去呢?
【 在 zjliu (秋天的萝卜) 的大作中提到: 】
: 做数值解吧




────────────────────────────────────────
  zjliu (秋天的萝卜)               于  (Thu May 18 16:15:01 2006)  说道:

你把常数赋值试试
【 在 huaxin (不是计划就是总结) 的大作中提到: 】
: 为什么会解不出来呢?
: 就是三个未知数,其余的一大堆都是些常数,真不知道为什么在matlab里过不去呢?




────────────────────────────────────────
  feifeifool (尉飞)                于  (Thu May 18 16:15:38 2006)  说道:

solve是在没有解析解得情况下输出数值解吧?
【 在 zjliu (秋天的萝卜) 的大作中提到: 】
: 做数值解吧




────────────────────────────────────────
  zjliu (秋天的萝卜)               于  (Thu May 18 16:20:06 2006)  说道:

我的意思是让他把变量名换成数值,再用solve去解
这样应该能得到结果
【 在 feifeifool (尉飞) 的大作中提到: 】
: solve是在没有解析解得情况下输出数值解吧?




────────────────────────────────────────
  feifeifool (尉飞)                于  (Thu May 18 16:22:41 2006)  说道:

呵呵,我理解错了
【 在 zjliu (秋天的萝卜) 的大作中提到: 】
: 我的意思是让他把变量名换成数值,再用solve去解
: 这样应该能得到结果




────────────────────────────────────────
  zjliu (秋天的萝卜)               于  (Thu May 18 16:23:37 2006)  说道:

呵呵,如此复杂的表达式不建议用这样的符号解
结果一般不会简单的
【 在 feifeifool (尉飞) 的大作中提到: 】
: 呵呵,我理解错了




────────────────────────────────────────
  huaxin (不是计划就是总结)        于  (Thu May 18 16:39:58 2006)  说道:

我把系数都换成数值了,怎么得出的解竟是二维的呢?

clear;
clc;
 xw=5; yw=5; zw=5;
 k1=0.1;k2=0.1;k3=0.1
syms x y z p1 p2 s1 s2 s3 ;
A1=[cos(yw) 0 sin(yw) 0;0 1 0 0;-sin(yw) 0 cos(yw) 0;0 0 0 1];
A2=[cos(zw) -sin(zw) 0 0;sin(zw) cos(zw) 0 0;0 0 1 0;0 0 0 1];
A3=[1 0 0 0;0 cos(xw) -sin(xw) 0;0 sin(xw) cos(xw) 0;0 0 0 1];
p1=A1*A2*A3*[0;-1;0;1];

B1=[cos(yw) 0 sin(yw) 0;0 1 0 0;-sin(yw) 0 cos(yw) 0;0 0 0 1];
B2=[1 0 y 0;0 1 0 0;-y 0 1 0;0 0 0 1];
B3=[cos(zw) -sin(zw) 0 0;sin(zw) cos(zw) 0 0;0 0 1 0;0 0 0 1];
B4=[1 -z 0 0;z 1 0 0;0 0 1 0;0 0 0 1];
B5=[1 0 0 0;0 cos(xw) -sin(xw) 0;0 sin(xw) cos(xw) 0; 0 0 0 1];
B6=[1 0 0 0;0 1 -x 0;0 x 1 0;0 0 0 1];
p2=B1*B2*B3*B4*B5*B6*[0;-1;0;1]

s1=p2(1)-p1(1)-k1
s2=p2(2)-p1(2)-k2;
s3=p2(3)-p1(3)-k3;
[x,y,z]=solve(s1,s2,s3);
【 在 zjliu (秋天的萝卜) 的大作中提到: 】
: 呵呵,如此复杂的表达式不建议用这样的符号解
: 结果一般不会简单的




────────────────────────────────────────
  zjliu (秋天的萝卜)               于  (Thu May 18 16:48:11 2006)  说道:

多解吧
double(x)可以得到数值

【 在 huaxin (不是计划就是总结) 的大作中提到: 】
: 我把系数都换成数值了,怎么得出的解竟是二维的呢?
: clear;
: clc;
: ...................



────────────────────────────────────────
  huaxin (不是计划就是总结)        于  (Thu May 18 16:54:58 2006)  说道:

像这样多个矩阵相乘,里面含有未知数。要解未知数的话,是不是用消元等代数方程组的解法较合适呢?
【 在 zjliu (秋天的萝卜) 的大作中提到: 】
: 多解吧
: double(x)可以得到数值




────────────────────────────────────────
  zjliu (秋天的萝卜)               于  (Thu May 18 16:57:30 2006)  说道:

线性方程组还好说,要是非线性的就麻烦了
【 在 huaxin (不是计划就是总结) 的大作中提到: 】
: 像这样多个矩阵相乘,里面含有未知数。要解未知数的话,是不是用消元等代数方程组的解法较合适呢?




[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.567毫秒