hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 765|回复: 3

表示圆的一个函数,用参数方程画的曲线为什么与直角坐标方程画的不一样?

[复制链接]

585

主题

769

帖子

2007

积分

大司空

Rank: 5Rank: 5

积分
2007
发表于 2023-10-2 16:00:48 | 显示全部楼层 |阅读模式
有一个圆用参数方程表示如下:

$ x=(2 u^2 + 2 u + 6)/(u^2 + 1),   y=(3 u^2 + 4 u + 1)/(u^2 + 1) $,  用指令  Eliminate[ ]  消去参数 $ u $ 后可将其转换为直角坐标方程为:$ -y^2+4 y-15=x^2-8 x $。
但是用参数方程指令画出的圆,却与用隐函数指令画出的圆不一样。哪里出问题了? 是转换成的直角坐标方程不对呢,还是画图指令不对?

参数方程转换成直角坐标方程的程序代码如下:
  1. Clear["Global`*"];Eliminate[{x == (2 u^2 + 2 u + 6)/(u^2 + 1),   y == (3 u^2 + 4 u + 1)/(   u^2 + 1)}, {u}] (*已知 x、y 的参数方程,消去参数 u 求 x、y 间的关系*)
复制代码

用参数方程指令画圆与用隐函数指令画圆,结果不一样:
  1. Clear["Global`*"];ParametricPlot[{(2 u^2 + 2 u + 6)/(u^2 + 1), (3 u^2 + 4 u + 1)/(  u^2 + 1)}, {u, -8, 8}]ContourPlot[{ -y^2 + 4 y - 15 == x^2 - 8 x}, {x, 0,   8}, {y, -2, 6}, Axes -> True, Frame -> False]
复制代码

上面两条指令运行结果如下 (用图片表示):

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

173

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-2 16:01:31 | 显示全部楼层
是不是两个图的坐标原点不同,导致了你的误判?
回复

使用道具 举报

0

主题

202

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-2 16:02:31 | 显示全部楼层
用 mathematica 的参数方程画图指令  ParametricPlot [  ]  画出的圆,乍看好像是与用隐函数作图指令 ContourPlot [  ]  画出的圆不一样,其实是一样的。

参数方程画的坐标系是把纵轴画在  x=2 处了,而隐函数作图画的坐标系是把纵轴画在 x=0  的。
回复

使用道具 举报

0

主题

216

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-2 16:03:06 | 显示全部楼层
因为u的定义域是开区间, 少了一个无穷远点. u在无穷远的地方的时候,对应的是点 $(2,3)$ 的邻域 ,消元后是 又把无穷远点给补上去了.所以ContourPlot  没问题.
ParametricPlot 的区间越大,  要画的点越多,为了兼顾计算性能,软件会有省略算法, 所以看上去 ParametricPlot 函数也有问题, 不过我们可以通过加选项绕过去.
  1. m = 1000; ParametricPlot[{(2 u^2 + 2 u + 6)/(u^2 + 1), (3 u^2 + 4 u +  1)/(u^2 + 1)}, {u, -m, m}, PlotRange -> All, PlotPoints -> 500]
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-11-22 22:22 , Processed in 0.063847 second(s), 22 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

快速回复 返回顶部 返回列表