B
    s^x                 @   s   d dl Zd dlmZ d dlmZ d dlZd dl	Z	d dl
Z
d dlZd dlZejdZeedk d  Zeedkd  Zddd	Zd
d ZdS )    N)displayi N  g      ?  '     c       	      C   s4  | dkrbt jddddgd\}}tj| }t |d  td|| t |d  t|| n| d	krt jdd
gd tj	||d n| dkr0t jddddgd\}}t
 }t |d  t|t t |d  t|t t |d  t|t t |d  t|ttt tt
 |  | S )NzNeedle dropr            )figsizer   d   zError functiong      @)NbzTest np.random.random())r   r   )r   r   )r   r   )r   r   )pltZsubplotsneedle_dropneedle_finder_dictZscaZplot_convergenceZplot_integrandfiguremc_erfZplottimeprocess_timeran_testZplot_avgran_valsZplot_portionZ	plot_histZplot_pointsbelowaboveprint)	caseneedle_finderend_N_needle	max_N_erferf_btest_random_NfigZaxst0 r!   A/Users/vegardjervell/Documents/6_semester/matmod/matmod10/main.pymain   s.    

r#   c           	      s   t jdddgdd} t  t|  t jtj ddt jdddd	d
d t jdddd	d
dt jddddd
dt jdddd	ddt j	t
|  d fdd}| j|dd t d S )NzNeedle dropzError functionzTest np.random.random()ZCase)optionsdescriptionMethodi  i FzMax N)minmaxstepcontinuous_updater%   i'  i N  i  Tg?g      @zerf() parameter)r   r   r   r   r   r   c          	      sx   | d } | dkr t  g}n$| dkr8t g}n| dkrD}   tt |jd g W d Q R X d S )NnewzNeedle dropzError functionzTest np.random.random())widHBoxclear_outputr   VBoxchildren)r   Zcase_controls)r   r   r   r   outoutputr   r!   r"   display_caseD   s    zrun.<locals>.display_casevalue)names)r-   DropdownOutputr   r   r   keys	IntSliderFloatSliderinteractiver#   observe)r   r4   r!   )r   r   r   r   r2   r3   r   r"   run2   s     r>   )NNr   r   r   r   )
ipywidgetsr-   IPython.displayr   matplotlib.pyplotpyplotr   numpynpr   r   r   r   randomr   wherer   r   r#   r>   r!   r!   r!   r"   <module>   s    
"