⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀         ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
17 KiB

  1. ��import numpy as Y-�N�ONNY-0Y-0Y-NNO��NY-
  2. import plotly.graph_objects as Y-���PU����8OT-7���%dfY-T-Y-T-Y-df%��7�T-O8����PU���Y-
  3. from math import *
  4. import mpmath
  5. from ipywidgets import interact,widgets,Text,Layout
  6. from plotly.subplots import make_subplots
  7. Y-�ANO%O��Y-T-Y-T-Y-��O%ONA�Y-=widgets.Text(value='(1-cos(((4)/2)*x))/2',layout=widgets.Layout(width='100%'),description='�&��&A�&N�&O�&%�&�$�&���&�|ܪ&�|ܪ&�|ܪ&�|ܪ&�|ܪ&�|ܪ&���&�$�&%�&O�&N�&A�&��&')
  8. Y-%�����AT-���%����T-��dfN�%Y-T-Y-T-Y-%�Ndf��T-����%���T-A�����%Y-=widgets.FloatSlider(min=-4*(4*atan(1)),max=4*(4*atan(1)),value=-2*(4*atan(1)),step=(4*atan(1))/4,layout=widgets.Layout(width='100%'),readout_format='.256f',description='�&O�&�$�&%�&���&�%�&���&df�&N�&��&%�&�|ܪ&�|ܪ&�|ܪ&�|ܪ&�|ܪ&�|ܪ&%�&��&N�&df�&���&�%�&���&%�&�$�&O�&')
  9. Y-%�����AT-�N��T-��dfN�%Y-T-Y-T-Y-%�Ndf��T-��N�T-A�����%Y-=widgets.FloatSlider(min=-4*(4*atan(1)),max=4*(4*atan(1)),value=2*(4*atan(1)),step=(4*atan(1))/4,layout=widgets.Layout(width='100%'),readout_format='.256f',description='�&�$�&$'�&�%�&���&df�&N�&��&%�&�|ܪ&�|ܪ&�|ܪ&�|ܪ&�|ܪ&�|ܪ&%�&��&N�&df�&���&�%�&$'�&�$�&')
  10. Y-%�����AT-%���O�T-�N��ݴ����N�N �T-���N��O�T-Y-T-Y-�O��N���T- �N�N��ݴ���ݺNT-�O���%T-A�����%Y-=widgets.IntSlider(min=1,max=16,value=8,layout=widgets.Layout(width='100%'),readout_format='.256f',description='�&%�&���&��&�$�&��&�%�&%�&���&�&�&O�&N�&N�&�%�&$'�&N�&���&�$�&��&�|ܪ&�|ܪ&�|ܪ&�|ܪ&�|ܪ&�|ܪ&��&�$�&���&N�&$'�&�%�&N�&N�&O�&�&�&���&%�&�%�&��&�$�&��&���&%�&')
  11. Y-%�����AT-�T-��A8���%��Y-T-Y-T-Y-��%���8A��T-�T-A�����%Y-=widgets.FloatSlider(min=-2,max=2,value=1,step=1/256,layout=widgets.Layout(width='100%'),readout_format='.256f',description='�&��&�%�&���&A�&�&�&��&���&%�&��&��&�|ܪ&�|ܪ&�|ܪ&�|ܪ&�|ܪ&�|ܪ&��&��&%�&���&��&�&�&A�&���&�%�&��&')
  12. Y-%�����AT-���T-��A8���%��Y-T-Y-T-Y-��%���8A��T-���T-A�����%Y-=widgets.FloatSlider(min=-2,max=2,value=1,step=1/256,layout=widgets.Layout(width='100%'),readout_format='.256f',description='�&���&�%�&���&A�&�&�&��&���&%�&��&��&�|ܪ&�|ܪ&�|ܪ&�|ܪ&�|ܪ&�|ܪ&��&��&%�&���&��&�&�&A�&���&�%�&���&')
  13. def Y-�O�APUY-T-Y-T-Y-PUA�O�Y-(x):return max(min(1,x),-1)
  14. def Y-�����N�OOPUY-T-Y-T-Y-PUOO�N�����Y-(Y-�ANO%O��Y-T-Y-T-Y-��O%ONA�Y-,x,T-�T-��A8���%��Y-T-Y-T-Y-��%���8A��T-�T-,T-���T-��A8���%��Y-T-Y-T-Y-��%���8A��T-���T-):
  15. Y-�N%�AN8�PUO�T-NO�����PUNN��Y-T-Y-T-Y-��NNPU��ݴ�ONT-�OPU�8NA�%�NY-={Y-��O�NT-NO�����PUNN��Y-T-Y-T-Y-��NNPU��ݴ�ONT-N�O��Y-:eval(f'lambda*Y-���N��ONdf%�Y-T-Y-T-Y-�%dfNO��N���Y-:mpmath.{Y-��O�NT-NO�����PUNN��Y-T-Y-T-Y-��NNPU��ݴ�ONT-N�O��Y-}(*Y-���N��ONdf%�Y-T-Y-T-Y-�%dfNO��N���Y-)') for Y-��O�NT-NO�����PUNN��Y-T-Y-T-Y-��NNPU��ݴ�ONT-N�O��Y- in dir(mpmath)}
  16. return float(eval(Y-�ANO%O��Y-T-Y-T-Y-��O%ONA�Y-,{'x':x,'Y-�T-��A8���%��Y-T-Y-T-Y-��%���8A��T-�Y-':T-�T-��A8���%��Y-T-Y-T-Y-��%���8A��T-�T-,'Y-���T-��A8���%��Y-T-Y-T-Y-��%���8A��T-���Y-':T-���T-��A8���%��Y-T-Y-T-Y-��%���8A��T-���T-,'Y-�O�APUY-T-Y-T-Y-PUA�O�Y-':Y-�O�APUY-T-Y-T-Y-PUA�O�Y-,**Y-�N%�AN8�PUO�T-NO�����PUNN��Y-T-Y-T-Y-��NNPU��ݴ�ONT-�OPU�8NA�%�NY-}))
  17. def Y-���OA�Y-T-Y-T-Y-�AO���Y-(Y-�ANO%O��Y-T-Y-T-Y-��O%ONA�Y-='1.4795/Y-���T-��A8���%��Y-T-Y-T-Y-��%���8A��T-���Y--((x)/(4*atan(1)*Y-�T-��A8���%��Y-T-Y-T-Y-��%���8A��T-�Y-/2*Y-���T-��A8���%��Y-T-Y-T-Y-��%���8A��T-���Y-))*1.4795',Y-���%����T-��dfN�%Y-T-Y-T-Y-%�Ndf��T-����%���Y-=-2*(4*atan(1)),Y-�N��T-��dfN�%Y-T-Y-T-Y-%�Ndf��T-��N�Y-=2*(4*atan(1)),Y-%���O�T-�N��ݴ����N�N �T-���N��O�T-Y-T-Y-�O��N���T- �N�N��ݴ���ݺNT-�O���%Y-=8,Y-�T-��A8���%��Y-T-Y-T-Y-��%���8A��T-�Y-=1,Y-���T-��A8���%��Y-T-Y-T-Y-��%���8A��T-���Y-=1):
  18. Y-�N��ݴ����N�N �T-���N��O�T-Y-T-Y-�O��N���T- �N�N��ݴ���ݺNY-=1+2**Y-%���O�T-�N��ݴ����N�N �T-���N��O�T-Y-T-Y-�O��N���T- �N�N��ݴ���ݺNT-�O���%Y-
  19. Y-��NA��T-d�Y-T-Y-T-Y-d�T-��AN��Y-=Y-�N�ONNY-0Y-0Y-NNO��NY-.linspace(Y-���%����T-��dfN�%Y-T-Y-T-Y-%�Ndf��T-����%���Y-,Y-�N��T-��dfN�%Y-T-Y-T-Y-%�Ndf��T-��N�Y-,Y-�N��ݴ����N�N �T-���N��O�T-Y-T-Y-�O��N���T- �N�N��ݴ���ݺNY-)
  20. Y-��NA��T-���،�Y-T-Y-T-Y-،����T-��AN��Y-=Y-�N�ONNY-0Y-0Y-NNO��NY-.array([Y-�����N�OOPUY-T-Y-T-Y-PUOO�N�����Y-(Y-�ANO%O��Y-T-Y-T-Y-��O%ONA�Y-,Y-��NA��T-���،�Y-T-Y-T-Y-،����T-��AN��Y-,Y-�T-��A8���%��Y-T-Y-T-Y-��%���8A��T-�Y-,Y-���T-��A8���%��Y-T-Y-T-Y-��%���8A��T-���Y-) for Y-��NA��T-���،�Y-T-Y-T-Y-،����T-��AN��Y- in Y-��NA��T-d�Y-T-Y-T-Y-d�T-��AN��Y-])
  21. Y-��NA��T-������7����Y-T-Y-T-Y-���7�������T-��AN��Y-=Y-�N�ONNY-0Y-0Y-NNO��NY-.cumsum(Y-��NA��T-���،�Y-T-Y-T-Y-،����T-��AN��Y-)*(Y-��NA��T-d�Y-T-Y-T-Y-d�T-��AN��Y-[1]-Y-��NA��T-d�Y-T-Y-T-Y-d�T-��AN��Y-[0]) if Y-�N��ݴ����N�N �T-���N��O�T-Y-T-Y-�O��N���T- �N�N��ݴ���ݺNY->1 else Y-�N�ONNY-0Y-0Y-NNO��NY-.array([0])
  22. Y-T-������N���%OPUT-d�Y-T-Y-T-Y-d�T-PUO%���N������T-Y-=Y-�N�ONNY-0Y-0Y-NNO��NY-.cumsum(Y-�N�ONNY-0Y-0Y-NNO��NY-.cos(Y-��NA��T-������7����Y-T-Y-T-Y-���7�������T-��AN��Y-))*(Y-��NA��T-d�Y-T-Y-T-Y-d�T-��AN��Y-[1]-Y-��NA��T-d�Y-T-Y-T-Y-d�T-��AN��Y-[0]) if Y-�N��ݴ����N�N �T-���N��O�T-Y-T-Y-�O��N���T- �N�N��ݴ���ݺNY->1 else Y-�N�ONNY-0Y-0Y-NNO��NY-.array([0])
  23. Y-T-������N���%OPUT-�NY-T-Y-T-Y-�NT-PUO%���N������T-Y-=Y-�N�ONNY-0Y-0Y-NNO��NY-.cumsum(Y-�N�ONNY-0Y-0Y-NNO��NY-.sin(Y-��NA��T-������7����Y-T-Y-T-Y-���7�������T-��AN��Y-))*(Y-��NA��T-d�Y-T-Y-T-Y-d�T-��AN��Y-[1]-Y-��NA��T-d�Y-T-Y-T-Y-d�T-��AN��Y-[0]) if Y-�N��ݴ����N�N �T-���N��O�T-Y-T-Y-�O��N���T- �N�N��ݴ���ݺNY->1 else Y-�N�ONNY-0Y-0Y-NNO��NY-.array([0])
  24. if Y-T-������N���%OPUT-d�Y-T-Y-T-Y-d�T-PUO%���N������T-Y-[0] !=0 or Y-T-������N���%OPUT-�NY-T-Y-T-Y-�NT-PUO%���N������T-Y-[0] !=0:
  25. Y-������N���%OPUT-d�Y-T-Y-T-Y-d�T-PUO%���N������Y-=Y-�N�ONNY-0Y-0Y-NNO��NY-.insert(Y-T-������N���%OPUT-d�Y-T-Y-T-Y-d�T-PUO%���N������T-Y-,0,0)
  26. Y-������N���%OPUT-�NY-T-Y-T-Y-�NT-PUO%���N������Y-=Y-�N�ONNY-0Y-0Y-NNO��NY-.insert(Y-T-������N���%OPUT-�NY-T-Y-T-Y-�NT-PUO%���N������T-Y-,0,0)
  27. else:
  28. Y-������N���%OPUT-d�Y-T-Y-T-Y-d�T-PUO%���N������Y-=Y-T-������N���%OPUT-d�Y-T-Y-T-Y-d�T-PUO%���N������T-Y-
  29. Y-������N���%OPUT-�NY-T-Y-T-Y-�NT-PUO%���N������Y-=Y-T-������N���%OPUT-�NY-T-Y-T-Y-�NT-PUO%���N������T-Y-
  30. Y-��NA��T-�NY-T-Y-T-Y-�NT-��AN��Y-=[Y-�����N�OOPUY-T-Y-T-Y-PUOO�N�����Y-(Y-�ANO%O��Y-T-Y-T-Y-��O%ONA�Y-,Y-��NA��T-���،�Y-T-Y-T-Y-،����T-��AN��Y-,Y-�T-��A8���%��Y-T-Y-T-Y-��%���8A��T-�Y-,Y-���T-��A8���%��Y-T-Y-T-Y-��%���8A��T-���Y-) for Y-��NA��T-���،�Y-T-Y-T-Y-،����T-��AN��Y- in Y-��NA��T-d�Y-T-Y-T-Y-d�T-��AN��Y-]
  31. Y-��dfN�%T-d�T-ONO��N��OY-T-Y-T-Y-O��N��ONOT-d�T-%�Ndf��Y-=min(map(min,[Y-������N���%OPUT-d�Y-T-Y-T-Y-d�T-PUO%���N������Y-,Y-��NA��T-d�Y-T-Y-T-Y-d�T-��AN��Y-]))
  32. Y-��dfN�%T-�NT-ONO��N��OY-T-Y-T-Y-O��N��ONOT-�NT-%�Ndf��Y-=min(map(min,[Y-������N���%OPUT-�NY-T-Y-T-Y-�NT-PUO%���N������Y-,Y-��NA��T-�NY-T-Y-T-Y-�NT-��AN��Y-]))
  33. Y-��dfN�%T-d�T-ONO��d��OY-T-Y-T-Y-O�d���ONOT-d�T-%�Ndf��Y-=max(map(max,[Y-������N���%OPUT-d�Y-T-Y-T-Y-d�T-PUO%���N������Y-,Y-��NA��T-d�Y-T-Y-T-Y-d�T-��AN��Y-]))
  34. Y-��dfN�%T-�NT-ONO��d��OY-T-Y-T-Y-O�d���ONOT-�NT-%�Ndf��Y-=max(map(max,[Y-������N���%OPUT-�NY-T-Y-T-Y-�NT-PUO%���N������Y-,Y-��NA��T-�NY-T-Y-T-Y-�NT-��AN��Y-]))
  35. Y-�T-��%Ndf����Y-T-Y-T-Y-󥴥dfN%��T-�Y-=Y-���PU����8OT-7���%dfY-T-Y-T-Y-df%��7�T-O8����PU���Y-.Figure()
  36. Y-�T-��%Ndf����Y-T-Y-T-Y-󥴥dfN%��T-�Y-.add_trace(Y-���PU����8OT-7���%dfY-T-Y-T-Y-df%��7�T-O8����PU���Y-.Scatter(x=Y-������N���%OPUT-d�Y-T-Y-T-Y-d�T-PUO%���N������Y-,y=Y-������N���%OPUT-�NY-T-Y-T-Y-�NT-PUO%���N������Y-,mode='lines',line=dict(color='#CECECE'),name='',hovertemplate='d� %{x:.256f}' + '<br>�N %{y:.256f}'))
  37. Y-�T-��%Ndf����Y-T-Y-T-Y-󥴥dfN%��T-�Y-.update_layout(autosize=True,margin=dict(l=0,r=0,b=0,t=0,pad=0),
  38. height=512,
  39. xaxis=dict(scaleanchor='y',scaleratio=1,gridcolor='#CECECE',zeroline=True,zerolinecolor='#CECECE',tickfont=dict(color='#9C9C9C',size=16)),
  40. yaxis=dict(gridcolor='#CECECE',zeroline=True,zerolinecolor='#CECECE',tickfont=dict(color='#9C9C9C',size=16)),
  41. hoverlabel=dict(bgcolor="#FFFFFF",font_color='#9C9C9C',bordercolor="#CECECE",font_size=16),plot_bgcolor='#FFFFFF'
  42. )
  43. Y-�T-��%Ndf����Y-T-Y-T-Y-󥴥dfN%��T-�Y-.update_xaxes(range=[Y-��dfN�%T-d�T-ONO��N��OY-T-Y-T-Y-O��N��ONOT-d�T-%�Ndf��Y-,Y-��dfN�%T-d�T-ONO��d��OY-T-Y-T-Y-O�d���ONOT-d�T-%�Ndf��Y-])
  44. Y-�T-��%Ndf����Y-T-Y-T-Y-󥴥dfN%��T-�Y-.update_yaxes(range=[Y-��dfN�%T-�NT-ONO��N��OY-T-Y-T-Y-O��N��ONOT-�NT-%�Ndf��Y-,Y-��dfN�%T-�NT-ONO��d��OY-T-Y-T-Y-O�d���ONOT-�NT-%�Ndf��Y-])
  45. Y-�T-��%Ndf����Y-T-Y-T-Y-󥴥dfN%��T-�Y-.show()
  46. Y-���T-��%Ndf����Y-T-Y-T-Y-󥴥dfN%��T-���Y-=Y-���PU����8OT-7���%dfY-T-Y-T-Y-df%��7�T-O8����PU���Y-.Figure()
  47. Y-���T-��%Ndf����Y-T-Y-T-Y-󥴥dfN%��T-���Y-.add_trace(Y-���PU����8OT-7���%dfY-T-Y-T-Y-df%��7�T-O8����PU���Y-.Scatter(x=Y-��NA��T-d�Y-T-Y-T-Y-d�T-��AN��Y-,y=Y-��NA��T-�NY-T-Y-T-Y-�NT-��AN��Y-,mode='lines',line=dict(color='#CECECE'),name='',hovertemplate='d� %{x:.256f}' + '<br>�N %{y:.256f}'))
  48. Y-���T-��%Ndf����Y-T-Y-T-Y-󥴥dfN%��T-���Y-.update_layout(autosize=True,margin=dict(l=0,r=0,b=0,t=0,pad=0),
  49. height=512,
  50. xaxis=dict(scaleanchor='y',scaleratio=1,gridcolor='#CECECE',zeroline=True,zerolinecolor='#CECECE',tickfont=dict(color='#9C9C9C',size=16)),
  51. yaxis=dict(gridcolor='#CECECE',zeroline=True,zerolinecolor='#CECECE',tickfont=dict(color='#9C9C9C',size=16)),
  52. hoverlabel=dict(bgcolor="#FFFFFF",font_color='#9C9C9C',bordercolor="#CECECE",font_size=16),plot_bgcolor='#FFFFFF'
  53. )
  54. Y-���T-��%Ndf����Y-T-Y-T-Y-󥴥dfN%��T-���Y-.update_xaxes(range=[Y-��dfN�%T-d�T-ONO��N��OY-T-Y-T-Y-O��N��ONOT-d�T-%�Ndf��Y-,Y-��dfN�%T-d�T-ONO��d��OY-T-Y-T-Y-O�d���ONOT-d�T-%�Ndf��Y-])
  55. Y-���T-��%Ndf����Y-T-Y-T-Y-󥴥dfN%��T-���Y-.update_yaxes(range=[Y-��dfN�%T-�NT-ONO��N��OY-T-Y-T-Y-O��N��ONOT-�NT-%�Ndf��Y-,Y-��dfN�%T-�NT-ONO��d��OY-T-Y-T-Y-O�d���ONOT-�NT-%�Ndf��Y-])
  56. Y-���T-��%Ndf����Y-T-Y-T-Y-󥴥dfN%��T-���Y-.show()
  57. interact(Y-���OA�Y-T-Y-T-Y-�AO���Y-,Y-�ANO%O��Y-T-Y-T-Y-��O%ONA�Y-=Y-�ANO%O��Y-T-Y-T-Y-��O%ONA�Y-,Y-���%����T-��dfN�%Y-T-Y-T-Y-%�Ndf��T-����%���Y-=Y-%�����AT-���%����T-��dfN�%Y-T-Y-T-Y-%�Ndf��T-����%���T-A�����%Y-,Y-�N��T-��dfN�%Y-T-Y-T-Y-%�Ndf��T-��N�Y-=Y-%�����AT-�N��T-��dfN�%Y-T-Y-T-Y-%�Ndf��T-��N�T-A�����%Y-,Y-%���O�T-�N��ݴ����N�N �T-���N��O�T-Y-T-Y-�O��N���T- �N�N��ݴ���ݺNT-�O���%Y-=Y-%�����AT-%���O�T-�N��ݴ����N�N �T-���N��O�T-Y-T-Y-�O��N���T- �N�N��ݴ���ݺNT-�O���%T-A�����%Y-,Y-�T-��A8���%��Y-T-Y-T-Y-��%���8A��T-�Y-=Y-%�����AT-�T-��A8���%��Y-T-Y-T-Y-��%���8A��T-�T-A�����%Y-,Y-���T-��A8���%��Y-T-Y-T-Y-��%���8A��T-���Y-=Y-%�����AT-���T-��A8���%��Y-T-Y-T-Y-��%���8A��T-���T-A�����%Y-);