matlab怎么画椭圆方程的公切线?

 我来答
憋不出来冷
推荐于2019-08-05 · TA获得超过2896个赞
知道小有建树答主
回答量:28
采纳率:100%
帮助的人:4018
展开全部

第一,利用MATLAB绘制下图椭圆方程的图像。

第二,启动MATLAB,新建脚本(Ctrl+N),在脚本编辑区输入如下代码:

close all; clear all; clc

a=5; b=4; c=sqrt(a^2-b^2);

syms x y

h=ezplot(x^2/a^2+y^2/b^2==1)

set(h,'color',[0,0,0],'LineWidth',2);

axis equal;hold on;

plot([-10:0.1:10],0,'--k')

plot(0,[-10:0.1:10],'--k')

legend('x^2/a^2+y^2/b^2=1')

第三,保存和运行上述脚本,得到椭圆方程x^2/5^2+y^2/4^2=1的图像。

第四,改进上述脚本,标记出长轴2*a,短轴2*b和焦点c。接着在脚本编辑区输入如下代码:

text([-a,a],[0+0.5,0+0.5],'a','FontSize',15)

plot([0,0],[-b,b],'k.','MarkerSize',15)

text([0,0],[-b+0.5,b+0.5],'b','FontSize',15)

plot([-c,c],[0,0],'g.','MarkerSize',15)

text([-c,c],[0+0.5,0+0.5],'c','FontSize',15)

第五,保存和运行上述改进后的脚本,得到椭圆方程x^2/5^2+y^2/4^2=1的图像,并且标记出长轴2*a,短轴2*b和焦点c。

用sympy + matplot:

from sympy import Point, Circle, Line, var
import matplotlib.pyplot as plt

var('t')

c1 = Circle(Point(0, 0), 2)
c2 = Circle(Point(4, 4), 3)
l1 = Line(c1.center, c2.center)
p1 = l1.arbitrary_point(t).subs({t: -c1.radius / (c2.radius - c1.radius)})
p2 = l1.arbitrary_point(t).subs({t:  c1.radius / (c1.radius + c2.radius)})

百度网友b4b3392
2018-01-09 · TA获得超过225个赞
知道答主
回答量:1
采纳率:100%
帮助的人:385
展开全部
  1. 首先定义两点和点到直线的距离函数,例子极端一点:

  2. 解方程,求a,b:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式