有了matlab solve函数,公式推导再也不用手算了

1.前言

今天在推导公式时,发现这破方程组人力根本计算不出结果,我就想可不可以使用编程解决,我发现MATLAB的solve()函数、和Python的sympy库都可以解决这个问题,在本篇文章中,使用matlab solve函数来解决这个问题。

2. 问题

一个圆经过点(sqrt(3)(2r+t)/4,(2r+t)/4),(r,0),
另一个圆经过点(sqrt(3)
(2r+t)/4,(2r+t)/4),(sqrt(3)(2r-t)/4,-(2*r-t)/4),
分别求两圆心坐标。

3. 程序

clc
clear

% 定义字符
syms a b r t h;

% 定义方程
eq1 = (sqrt(3)*(2*r+t)/4 - a)^2 + ((2*r+t)/4 - b)^2 - r^2;
eq2 = (r - a)^2 + b^2 - r^2;
eq3 = (sqrt(3)*(2*r-t)/4 - a)^2 + ((2*r-t)/4 + b)^2 - r^2;

% 调用solve求解方程组
[ea,fb] = solve(eq1, eq2, a, b)
[c, d] = solve(eq1, eq3, a, b)

% 手写体
pretty(ea(1))
pretty(fb(1))

你可能感兴趣的:(有了matlab solve函数,公式推导再也不用手算了)