当前位置:编程学习 > Matlab >>

Matlab解方程组时 提示错误' is not a valid expression or equation. 下面的程序哪错了

>> eq1='x*k+b=y'; >> eq2='300*k+b=300'; >> eq3='(x-80)^2+(y-210)^2=100'; >> eq4='(80k+b-210)/sqrt(k^2+1)=10'; >> solve (eq1,eq2,eq3,eq4,'k,b,x,y') ??? Error using ==> solve at 77 ' (80k+b-210)/sqrt(k^2+1)=10 ' is not a valid expression or equation. 如何求未知直线与已知圆的切点 用程序
追问:答案不对啊     直线的斜率k应该有两个值啊 b也应该有两个值啊   都相切与圆的两侧啊
y=kx+b 是在定点(300,300)的直线。这条直线与定圆(x - 80 )^2 +( y - 210)^2=10^2  相切   怎样求这条直线和切点
答案:输入
>> syms k b x y
eq1='x*k+b=y';
eq2='300*k+b=300';
eq3='(x-80)^2+(y-210)^2=100';
eq4='(80*k+b-210)/sqrt(k^2+1)=10';
[k,b,x,y]=solve(eq1,eq2,eq3,eq4);
k=vpa(k,4)
b=vpa(b,4)
x=vpa(x,4)
y=vpa(y,4)
 

输出
k =
 
 191.8
 191.8
 
 
b =
 
 0.3608
 0.3608
 
 
x =
 
 76.61 + 4.653e-5*i
 76.61 - 4.653e-5*i
 
 
y =
 
 219.4 + 1.679e-5*i
 219.4 - 1.679e-5*i

上一个:求在MATLAB上实现以下模拟
下一个:Matlab 自定义函数的参数个数问题。

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,