Coil simulator (mono coil)

モノコイルのシミュレーター ### Pulse magnet simulator v0.1 ### by A. Ikeda (UEC-Tokyo, 30 April 2022) ### references ### 1. Example program (3) in https://qiita.com/sci_Haru/items/b8d5c9cfe64c4366630a ### 2. A program for iGor pro, Master thesis, Takeshi Nakamura, Y. H. Matsuda lab., Univ. of Tokyo (2010) ### 3. Pulse magnet for high field generation, N. Miura (2008) # # # # # # # # # # # # # # # # # # # # # # # # # # # Imports # # # # # # # # # # # # # # # # # # # # # # # # # # # import numpy as np import matplotlib.pyplot as plt # %matplotlib inline # plt.style.use('./ai.mplstyle') # %matplotlib tk res_x = [] res_y = [] reserve_v = [] reserve_i = [] reserve_tp = [] reserve_t = [] reserve_bf = [] # # # # # # # # # # # # # # # # # # # # # # # # # # # Input parameter # # ...

Python: Load data function for general files

ほとんどどんなオシロスコープのデータでも読み込めるfunction

import numpy as np
import matplotlib.pyplot as plt
import itertools


def load_scope_data(flist, j):
    # This loads data from oscilloscope
    # It takes file name and returns data list
    # NaN data is ...
    
    fname1 = flist[j]
    for i, k, m in itertools.product(range(100)
                                      , [None, '\t', ',']
                                      , ['utf-8', 'shift-jis']):
        try:
            dat = np.loadtxt(fname1
                             , encoding = m
                             , skiprows = i
                             , delimiter= k).T
        except ValueError:
            # print(f'fail')
            # print(i, k, m)
            pass
        else: 
            print(f'load successful: {fname1}')
            print(f'skiprows = {i}, encoding = {m}, delimiter = {k}')
            print(dat.shape)
            break

    num = len(dat)
    fig, ax = plt.subplots(1, num, tight_layout = True, figsize = (num * 2, 2))
    for i in range(num):
        ax[i].plot(dat[i])
    
    # plt.suptitle(fname1)
    plt.show()
    return dat


コメント

このブログの人気の投稿

しばらく、うまく見られなかった・・・・しかし解決の兆し