用极坐标画一个五角星 Mathematica.docx
- 文档编号:8316556
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:9
- 大小:2.44MB
用极坐标画一个五角星 Mathematica.docx
《用极坐标画一个五角星 Mathematica.docx》由会员分享,可在线阅读,更多相关《用极坐标画一个五角星 Mathematica.docx(9页珍藏版)》请在冰豆网上搜索。
用极坐标画一个五角星Mathematica
有谁知道怎么用极坐标画一个五角星么,?
ParametricPlot[{6/25Cos[t]+4/25Cos[3/2t],
6/25Sin[t]-4/25Sin[3/2t]},{t,0,4Pi},Axes->False]就知道参数方程有这个
PolarPlot[
1/Cos[2\[Pi]/5-Mod[\[Theta],4\[Pi]/5]],{\[Theta],0,4\[Pi]}]
萌新准备做一个迈克尔逊干涉条纹的动态模拟。
函数如下I[x,y]=2+2Cos[(4\[Pi])/(632.8*10^-9)*7*10^-6*Cos[Sqrt[x^2+y^2]/0.15]
DensityPlot[2+2Cos[(4Pi/(632.8*10^(-9)))*7*10^(-6)*Cos[(Sqrt[x^2+y^2])]/0.15],{x,-0.2,0.2},{y,-0.2,0.2}]
Manipulate[DensityPlot[2+2Cos[(4Pi/(n*10^(-9)))*7*10^(-6)*Cos[(Sqrt[x^2+y^2])]/0.15],{x,-0.06,0.06},{y,-0.06,0.06}],{n,400,760,10}]
Manipulate[
DensityPlot[
2+2Cos[(4\[Pi])/(n*10^-9)*7*10^-6*
Cos[Sqrt[x^2+y^2]/0.15]],{x,-0.06,0.06},{y,-0.06,
0.06}],{n,400,760,10}]
DensityPlot[
2+2Cos[(4\[Pi])/(632.8*10^-9)*7*10^-6*
Cos[Sqrt[x^2+y^2]/0.15]],{x,-0.06,0.06},{y,-0.06,0.06}]
DensityPlot[
2+2Cos[(4\[Pi])/(632.8*10^-9)*7*10^-6*
Cos[Sqrt[x^2+y^2]/0.15]],{x,-0.2,0.2},{y,-0.2,0.2}]
播放中图像错误是因为在播放的两帧之间时间太短,电脑来不及进行精确的计算,所以图像模糊,播放停止后电脑进行较为精确的计算,图像就恢复了
解决方法是提前绘制好图像然后用ListAnimate播放,代码如下
movies=Table[
DensityPlot[
2+2Cos[(4\[Pi])/(n*10^-9)*7*10^-6*
Cos[Sqrt[x^2+y^2]/0.15]],{x,-0.06,0.06},{y,-0.06,
0.06}],{n,400,760,10}];
ListAnimate[movies]
另外由于你这个函数震荡比较严重,所以默认的绘图参数效果不是很好,增加PlotPoints或MaxRecursion选项可以提高绘图质量,效果如下,但相应的绘图时间也会大大增加,你可以尝试一下,然后自己取舍【图片】
至于换成极坐标我觉得没有太大意义,这里是SE上的一个相关讨论,你可以看下
如果只是针对这个函数的话因为变化只和r有关,所以可能会有一些针对性的优化方法,比如用ListDensityPlot指定取点位置之类的,但是点的位置指定起来有点费劲,取多了速度太慢,取少了效果又不好,我还没折腾利索所以就先不发了
试着搞了一个出来,大致思路是找到函数变化比较剧烈的地方,然后用ListDensityPlot画出来。
【图片】【图片】
可以看到快了5倍左右,而且质量还算能忍了。
代码如下:
myPlot[n_]:
=Module[{f,rlist,data},
f[r_]:
=2+2Cos[(4\[Pi])/(n*10^-9)*7*10^-6*Cos[r/0.15]];
rlist=
Cases[Normal@
Plot[f'[r]f''[r],{r,0,0.2},MeshFunctions->(#2&),
Mesh->{{0}}],Point[{x_,y_}]:
>x,Infinity]~
Join~{0,0.2}//Sort;
data=
Table[{rCos[\[Theta]],rSin[\[Theta]],f[r]},{r,
rlist},{\[Theta],0,2\[Pi],\[Pi]/30.}]~Flatten~1;
ListDensityPlot[data]
];
myPlot[632.8]//AbsoluteTiming
大致思路就是这样,如果有进一步的需求比如提高绘图质量或者更改绘图范围之类的也可以在这基础上继续修改。
顺便体格问题,不知为什么感觉ListDensityPlot比取点数目相同的DensityPlot慢好多,比如上面那个例子,ListDensityPlot里只有4473个点,DensityPlot里有116225个点,25倍的差距时间差只有5倍,实在是有点理解不能了,求解惑
插一句,如果要以点数取胜,那么Compile算点ArrayPlot出图是比较好的选择。
吧里例子有许多了,比如:
BeginPackage["EM`"]
EM:
:
usage=
"输入EM[X,N]显示N阶厄米多项式"
Begin["`Private`"]
EM[x_,0]={1}
EM[x_,1]={x}
EM[x_,n_Integer]=Do[
Print[EM[x,m]=2*x*EM[x,m-1]-2*(m-1)*EM[x,m-2]],{m,2,n}
]
End[]
EndPackage[]
提示Do:
:
iterb:
Iterator{m,2,n}doesnothaveappropriatebounds.
新手初学mathematica
你和绝大部分人类都是这个游戏里的“非玩家控制角色”NPC.你的使命只是陪着真正的玩家享受游戏(你是不是觉得身边有些人的运气实在是太好。
)
你会怎么想,然后怎么做?
像正弦函数图像那样上蹿下跳#(疑问)【图片】
【图片】激光干涉空间天线示意图。
在物理学中,引力波指时空曲率中以波的形式从射源向外传播的扰动,这种波会以引力辐射的形式传递能量。
阿尔伯特·爱因斯坦根据他的广义相对论,于1916年预言了引力波的存在。
理论上可以被探测到的引力波射源包括由白矮星、中子星或黑洞组成的联星系统。
引力波现象是广义相对论的局域洛伦兹共变性的结果之一,因为它限制了相互作用的传播速度。
相反,牛顿引力理论中的相互作用都以无限的速度传播,所以在这一理论下并不存在引力波。
科学家已通过各种间接方法发现了引力辐射的证据。
例如,拉塞尔·赫尔斯和约瑟夫·泰勒发现赫尔斯-泰勒脉冲双星在互相公转时逐渐靠近,这为引力辐射的存在提供了证据;两人因这项发现于1993年获得了诺贝尔物理学奖。
科学家也利用引力波探测器来观测引力波现象,如简称LIGO的激光干涉引力波天文台。
2014年3月17日,哈佛-史密松天体物理中心的天文学家宣布利用BICEP2探测器在宇宙微波背景中观测到引力波的效应,但在后来的分析验证中发现无法排除星际尘埃的可能。
若后续实验能确切得到引力波效应的成果,将成为宇宙暴胀和大爆炸理论的强烈证据。
f[a_,b_,c_,x_]:
=a^x/(b^x+c^x)+b^x/(a^x+c^x)+c^x/(a^x+b^x)
Resolve[ForAll[{a,b,c,x1,x2},{a>b>c>0,x1>x2>0},f[a,b,c,x1]>f[a,b,c,x2]],Reals]
自己电脑不在手边,你看看行不行。
假如返回True,那么就证明了。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 用极坐标画一个五角星 Mathematica 坐标 一个 五角星