- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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?
您可能关注的文档
最近下载
- 2025年江苏省公务员省考《行测》联考-部分真题(A类).pdf VIP
- 校园消防安全台账范本.docx
- 2024版加油站安全生产管理台账样本.doc VIP
- 精品解析:江苏省南京市玄武外国语学校、科利华中学2022-2023学年八年级下学期期中语文试题(解析版).docx VIP
- PC工法桩专项施工方案 .doc
- foreign language classroom anxiety.pdf VIP
- JT_T 410-2022CN交通运输行政执法标识.pdf
- 标准图集-22TJ310装配式钢筋桁架楼承板系列产品-下册.pdf VIP
- 汽车基础知识在线试题答案2.pdf VIP
- 地质勘查坑探规范.pdf VIP
文档评论(0)