matlab 画圆锥曲线的切线方法.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab 画圆锥曲线的切线方法 摘要:高中数学经常面对圆锥曲线切线的画图问题,手工画比较麻烦,往往效果也不好;如果用一些软件,比如几何画板,因为不能编程,对于一些复杂问题不好处理;GeoGebra 软件画圆锥曲线很方便,但是它的编程能力太弱,只能靠 js 接口来应付一些复杂问题。显然 matlab 软件在这点上有明显的优势,它既有强大的编程能力,又有强大的画图功能。不过,对于圆锥曲线的切线,matlab 没有给出专门的作图函数,本文给出了自定义函数 qiexian,结合若干实例,可以看到用它来画圆锥曲线的切线,调用简便,效果不错。 关键词:matlab,圆锥曲线,切线 中图分类号:G633 文献标志码:A 引言 2018 年教育部印发了《教育信息化 2.0 行动计划》的通知,要在教育领域全面深入地运用现代信息技术来促进教育改革与发展,对于高中数学如何落实呢, matlab 与高中数学教学的深度融合就是一个很好的发力点,而用它来画圆锥曲线的切线就是一个很好的切入点。 圆锥曲线切线方程 文献[1]中的定理给出了圆锥曲线(非退化)的切线方程,过定点 P ? x0, y0 ? 与非退化曲线 ? : f ? x, y? ? Ax2 ? 2Bxy ? Cy2 ? 2Dx ? 2Ey ? F ? 0 相切的切线方程满足 0 0H 2 ? f ? x, y? f ? x , 0 0 其中 H ? ? Ax0 ? By0 ? D? x ? ?Bx0 ? Cy0 ? E ? y ? ?Dx0 ? Ey0 ? F ? 如果点? x0 , y0 ? 在曲线? 时,它就是切点,切线方程是 ? Ax0 ? By0 ? D? x ? ?Bx0 ? Cy0 ? E ? y ? ?Dx0 ? Ey0 ? F ? ? 0 如果点? x0 , y0 ? 不在曲线? 时,切点可以有如下方程组求得 ??H ? x, y ? ? 0 ??? f ? x, y ? ? 0 ? 得到切点之后,再与所给的点? x0 , y0 ? 可以确定切线方程。 切线的 matlab 程序 根据上面结果,先画出程序流程图如下 根据上面流程图,现在可以设计matlab程序如下 function [point,line]=qiexian(T,xo,yo,n) hold on; xxlim=xlim;yylim=ylim; syms x y; if ischar(T) %T为方程字符串T=eval(T); end M=sym2poly(subs(T,y,0)); N=sym2poly(subs(T,x,0)); A=M(1);C=N(1);D=1/2*M(2);E=1/2*N(2);F=M(3); if abs(subs(T,{x,y},{xo,yo}))1e-6 %曲线T上一点[xo,yo]的切线 point=[xo,yo]; if nargout==2 line=A*x*xo+C*y*yo+D*(x+xo)+E*(y+yo)+F; ezplot(line); end else %曲线T外一点[xo,yo]的切线H=eval((A*xo+D)*x+(C*yo+E)*y+(D*xo+E*yo+F)); s=solve(T,H,x,y); xq=double(s.x); yq=double(s.y); point=[xq,yq]; %返回切点 if nargin=3 || (nargin==4 n==1) line=(yq(1)-yo)*(x-xo)-(xq(1)-xo)*(y-yo); %返回切线elseif nargin==4 n==2 line=(yq(2)-yo)*(x-xo)-(xq(2)-xo)*(y-yo); %返回切线 end if nargout==2 ezplot([char(line),+0*x+0*y=0],[xxlim,yylim]); % 画出切线 end end delete(get(gca,title)) 应用 【例 1】 画出椭圆 在点?2, 3 ?处的切线。 x2 ? y2 ? 14 3 1 【解答】调用上面的qiexian函数,matlab程序如下clear;clc;close all; ezplot(x^2/4+y^2/3-1); plotc([2,sqrt(3)]); [p,f]=qiexian(x^2/4+y^2/3-1,2,sqrt(3)); [p,f]=qiexian(x^2/4+y^2/3-1,2,sqrt(3),2); smoall axiso 【说明】smoall 与 axiso 为两个自定义函数,分别是光滑曲线和设置坐标原点的功能。可以看到对于斜率不存在的切线仍然可以正确画出。图像如下 【例 2】 画出双曲线 外一点?2, 4?

文档评论(0)

定制服务方案 + 关注
实名认证
服务提供商

十余年物业管理经验,专注于物业高中低档服务方案,特色服务创意,业主委员会成立流程。

1亿VIP精品文档

相关文档