使用matlab推导和求解符号公式的程序,记录在此:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
clc;clear; syms p1x p1y p1z syms p2x p2y p2z syms p3x p3y p3z syms p4x p4y p4z syms d1x d1y d1z syms d2x d2y d2z syms m n
p1Vector = [p1x,p1y,p1z]; p2Vector = [p2x,p2y,p2z]; p3Vector = [p3x,p3y,p3z]; p4Vector = [p4x,p4y,p4z];
d1Vector = p2Vector-p1Vector; d2Vector = p4Vector-p3Vector;
i1Vector = p1Vector+m*d1Vector; i2Vector = p3Vector+n*d2Vector;
vVector = i2Vector-i1Vector;
eqn1 = [vVector(1)*d1Vector(1)+vVector(2)*d1Vector(2)+vVector(3)*d1Vector(3)==0]; eqn2 = [vVector(1)*d2Vector(1)+vVector(2)*d2Vector(2)+vVector(3)*d2Vector(3)==0]; eqn = [eqn1,eqn2];
[m,n]=solve(eqn,[m,n]);
simplify(m); simplify(n);
|