公告:本站正式转型为非交互式静态网站!
转型:本站将通过笔记和博客的形式继续为大家服务,关于 Mathematica 问答服务请移步至QQ群:365716997
联系:如有问题请联系QQ群管理员,或发送邮件至:lixuan.xyz@qq.com。
感谢:最后非常感谢大家多年来的支持与帮助!
参考《互联网跟帖评论服务管理规定》《中华人民共和国网络安全法》《网络信息内容生态治理规定》《互联网用户账号信息管理规定》

—— 2022-11-27

欢迎来到 Mathematica 问答社区

提问时请贴上文本代码

语法高亮:在编辑器中点击

被禁止的话题:广告破解

请阅读:《提问的智慧》

备用域名:mma.ooo

支持LaTex数学公式
行内公式标识符:\$ 或“$\backslash ($”+“$\backslash )$”,
行间公式标识符:\$\$ 或 “$\backslash [$”+“$\backslash ]$”

社区建议QQ群:365716997

分类

0 投票
1.2k 浏览

用ContourPlot3D绘制1/(2 + Sin[x]) + 1/(2 + Sin[2 y])的等高线图,但是当1/(2 + Sin[x]) + 1/(2 + Sin[2 y])==2时,等高线应该是一些点列,但是ContourPlot3D无法绘制出这些点,想知道怎么才能用ContourPlot3D绘出这些点...

ClearAll["Global`*"]
Solve[1/(2 + Sin[x]) + 1/(2 + Sin[2 y]) == 2, {x, y}, Reals]
(*事实上x只能取-Pi/2+2k Pi,y只能取-Pi/4+k Pi*)
Solve[{1/(2 + Sin[x]) + 1/(2 + Sin[2 y]) == 2, 0 < x < 10 Pi, 
0 < y < 10 Pi}, {x, y}, Reals];
FindSequenceFunction[x /. % // Union, k] // Expand
FindSequenceFunction[y /. %% // Union, k] // Expand
ContourPlot3D[
1/(2 + Sin[x]) + 1/(2 + Sin[2 y]) - 2 == 0, {x, 0, 10 Pi}, {y, 0, 
Pi}, {z, 0, 6}, MeshStyle -> True, Boxed -> True, 
ContourStyle -> {Opacity[0.6], Brown}, BoundaryStyle -> None]

 

分类:绘图 | 用户: mma-2-2-2 (1.3k 分)
修改于 用户:mma-2-2-2
为什么非要用ContourPlot3D?直接NSolve不行吗
因为有时并不知道等式会的解会退化为一些点

1个回答

+1 投票

ContourPlot3D貌似对于点线之类的0面积的东西,是无法绘出图像的。

放松一下方程吧,比如把“==0”改成“==-0.1”。

ContourPlot3D[
 1/(2 + Sin[x]) + 1/(2 + Sin[2 y]) - 2 == -0.1, {x, 0, 10 Pi}, {y, 0, 
  Pi}, {z, 0, 6}]

 

用户: 野鹤 (5.1k 分)
...