算圆外一点与圆的切点坐标
function [x,y]=qiedian_old(A,B,r)
[b, k]=solve(['(k*' num2str(B(1)) '-' num2str(B(2)) '+b)^2=' num2str(r) '^2*(1+k^2)'],['(k*' num2str(A(1)) '-' num2str(A(2)) '+b)=0']);
['(k*' num2str(B(1)) '-' num2str(B(2)) '+b)^2=' num2str(r) '^2*(1+k^2)'];
['(k*' num2str(A(1)) '-' num2str(A(2)) '+b)=0'];
k=double(k);
b=double(b);
for i=1:length(k)
['x*' num2str(k(i)) '-y+' num2str(b(i)) '=0'];
['(y-' num2str(B(2)) ')*' num2str(k(i)) '=' num2str(B(1)) '-x'];
[x(i), y(i)]=solve(['x*(' num2str(k(i)) ')-y+(' num2str(b(i)) ')=0'],...
['(y-(' num2str(B(2)) '))*(' num2str(k(i)) ')=(' num2str(B(1)) ')-x']);
end
x=double(x);y=double(y);
令
A = [0 0];
B = [30 30];
R = 10;
调用后报错
看不懂这个函数,想知道大概逻辑,和改进方法
解符号方程先申明符号,再进行求解
syms x
solve(x^2-2*x+1, x)
结果:
ans =
1
1