0%

matlab推导和求解符号公式方法记录

使用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
% 方法1:
%计算异面直线的公垂线及其交点
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;

% d1Vector = [d1x,d1y,d1z];
% d2Vector = [d2x,d2y,d2z];


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);