Как получить базовое уравнение смещения c, повторяемое с использованием кластера i python на четырех движках / клиентах - PullRequest
0 голосов
/ 27 марта 2020

"" "Я использую следующие python коды для кластера i python, чтобы выполнить итерацию базового c уравнения смещения s = u * t + 0,5 * a t t для переменные значения начальной скорости 'u' в диапазоне от 0 до 15 [16 значений], которые будут равномерно распределены по четырем двигателям / клиенту.

    The value of t[time] and the values of initial velocity u are 
    well spread over four engines/clients whereas the displacement 
    equation s=u*t+0.5*a*t*t both %px s=u*t+0.5*a*t*t aswell as function
    [disp() using direct view mwthod] is not able to run over four 
    engines/clients.Could any one help me in this issue.

    Note:
    This is somewhat similar to the Rapid Accellerator mode used 
    in Simulink that uses parfor function under parallel computing
    toolbox."""

    #ipcluster start -n 4

    from IPython.parallel import Client
    rc=Client()
    dview=rc[:]
    dview.block=True
    dview['a']=5

    with dview.sync_imports():
        import numpy

    dview.scatter('u',range(16))

    @dview.parallel(block=True)
    def disp():
        t=numpy.arange(0,15,1)
        s=u*t+0.5*a*t*t
        return s

    dview.execute('disp()')

    #%px s=[disp() for i in u] #Use when disp() is disabled
    value=dview.gather('s')

    import matplotlib.pyplot as plt

    x_pos=np.arange(len(value))
    plt.(x_pos,value)
    plt.grid()
    plt.show()

enter image description here Ошибка при использовании функции смещения

enter image description here Ошибка при использовании метода% px

...