⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀         ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
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.

67 lines
17 KiB

��import numpy as Y-�N�ONNY-0Y-0Y-NNO��NY-
import plotly.graph_objects as Y-���PU����8OT-7���%dfY-T-Y-T-Y-df%��7�T-O8����PU���Y-
from math import *
import mpmath
from ipywidgets import interact,widgets,Text,Layout
from plotly.subplots import make_subplots
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�&��&')
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�&')
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�&���&�%�&$'�&�$�&')
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�&�&�&���&%�&�%�&��&�$�&��&���&%�&')
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�&���&�%�&��&')
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�&���&�%�&���&')
def Y-�O�APUY-T-Y-T-Y-PUA�O�Y-(x):return max(min(1,x),-1)
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-):
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)}
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-}))
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):
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-
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-)
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-])
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])
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])
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])
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:
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)
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)
else:
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-
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-
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-]
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-]))
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-]))
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-]))
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-]))
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()
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}'))
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),
height=512,
xaxis=dict(scaleanchor='y',scaleratio=1,gridcolor='#CECECE',zeroline=True,zerolinecolor='#CECECE',tickfont=dict(color='#9C9C9C',size=16)),
yaxis=dict(gridcolor='#CECECE',zeroline=True,zerolinecolor='#CECECE',tickfont=dict(color='#9C9C9C',size=16)),
hoverlabel=dict(bgcolor="#FFFFFF",font_color='#9C9C9C',bordercolor="#CECECE",font_size=16),plot_bgcolor='#FFFFFF'
)
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-])
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-])
Y-�T-��%Ndf����Y-T-Y-T-Y-󥴥dfN%��T-�Y-.show()
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()
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}'))
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),
height=512,
xaxis=dict(scaleanchor='y',scaleratio=1,gridcolor='#CECECE',zeroline=True,zerolinecolor='#CECECE',tickfont=dict(color='#9C9C9C',size=16)),
yaxis=dict(gridcolor='#CECECE',zeroline=True,zerolinecolor='#CECECE',tickfont=dict(color='#9C9C9C',size=16)),
hoverlabel=dict(bgcolor="#FFFFFF",font_color='#9C9C9C',bordercolor="#CECECE",font_size=16),plot_bgcolor='#FFFFFF'
)
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-])
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-])
Y-���T-��%Ndf����Y-T-Y-T-Y-󥴥dfN%��T-���Y-.show()
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-);