Les baleines tombent 2021-12-04 18:36 采纳率: 50%
浏览 55
已结题

MATLAB solve函数报错

问题遇到的现象和发生背景

求点到圆的切线,A是点,B是圆心,r是半径

问题相关代码,请勿粘贴截图
function [x,y]=qiedian(A,B,r)
syms x y 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);

运行结果及报错内容

函数或变量 'k' 无法识别。

我的解答思路和尝试过的方法

我想要达到的结果

没有报错

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 12月12日
    • 创建了问题 12月4日