Как устранить непоследовательную ошибку идентификации? - PullRequest
0 голосов
/ 28 мая 2020

Со Spyder3, почему компиляция останавливается из-за ошибки идентификации, если это не согласовано? Последние 2 записи (длина и длина var) дают тот же результат: но при компиляции в объявлении с np.inner (длина переменной) возвращается ошибка; другой (переменная длина) не

вот сообщение об ошибке и код соответственно:

 File "C:\Program Files\Linguaggi\Anaconda\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
   exec(compile(f.read(), filename, 'exec'), namespace)

 File "D:/Documenti/Develope/CAD/Inventor 2020/Rotore_matr.py", line 62
   leng = mt.sqrt(np.inner(dist,dist))
                                      ^
IndentationError: unindent does not match any outer indentation level
import math as mt
import numpy as np

def ruota(fi):
    m_ruota = np.array([[mt.cos(fi), -mt.sin (fi)],[mt.sin (fi), mt.cos (fi)]])
    return m_ruota 

mag = 1.0 #cm
F = 1.0 #newton - forza magnete
d_rot = 10.0 #cm
d_stat = 11.0 #cm
r_rot = d_rot/2 #cm
r_stat = d_stat/2 #cm

rad_mag_rot = mag/(r_rot)
rad_mag_stat = mag/(r_stat)

deg_mag_rot = mt.degrees(mt.asin(rad_mag_rot))
deg_mag_stat = mt.degrees(mt.asin(rad_mag_stat))

#max_mag_stat = (360/deg_mag_stat)
max_mag_stat = int(360/deg_mag_stat)
max_mag_rot = int(360/deg_mag_rot)

#Forze = new Math::MatrixReal(max_mag_stat,max_mag_rot)
Forze_x = [max_mag_stat,max_mag_rot]
Forze_y = [max_mag_stat,max_mag_rot]

M_mag_stat_u = [r_stat, mag/2]
M_mag_stat_d = [r_stat,-mag/2]
M_mag_rot_u = [r_rot,mag/2]
M_mag_rot_d = [r_rot,-mag/2]

v_rif = [1,0]

punti_R = [M_mag_rot_u,M_mag_rot_d]
punti_S = [M_mag_stat_u,M_mag_stat_d]

for j in range (1, max_mag_stat):
    for i in range (1, max_mag_rot):
            if not((i == j) or (i < 3) or (j < 3) ):
                    if((i == 0) or (i == 1)) : 
                        deg_rot = 0 
                    else: 
                        deg_rot = 360/i
                    if((j == 0) or (j == 1)): 
                       deg_stat = 0 
                    else: 
                       deg_stat = 360/j
                    for k in range (0,j):
                        for y in range (0, i):
                            deg_rot_now = deg_rot *y 
                            deg_stat_now = deg_stat *k
                            for s in punti_S:
                                    rs = ruota(mt.radians(deg_stat_now))
                                    rvs = np.dot(rs , s)
                                    for r in punti_R:
                                        rr = ruota(mt.radians(deg_rot_now))
                                        rvr = np.dot(rr,r)
                                        dist = rvs - rvr
                                        leng = mt.sqrt(np.inner(dist,dist))
                                        length = mt.sqrt(np.dot(dist, np.transpose(dist)))
                                        ........
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...