equilibrium_dict = [] for element in equilibrium_points: equilibrium_dict.append(dict(zip(coordinates + speeds, element))) print("equilibrium_dict done") # Jacobian fo forcing vector w.r.t. states and inputs tor_dict = dict(zip([l_ankle_torque], [0])) F_A = forcing_vector.jacobian(coordinates + speeds) F_B = forcing_vector.subs(tor_dict).jacobian(specified) print("jacobian done") # Substitute in values for the variables in the forcing vector F_A = F_A.subs(parameter_dict) F_B = F_B.subs(parameter_dict) mass_matrix = mass_matrix.subs(parameter_dict) print("subs done") forcing_a = [] forcing_b = [] M = [] # Create the vectors storing jacobians about every equilibrium point for element in equilibrium_dict: forcing_a.append(array(F_A.subs(element).tolist(), dtype=float)) print("forcing a done") for element in equilibrium_dict: forcing_b.append(array(F_B.subs(element).tolist(), dtype=float)) print("forcing b done")
forcing_a = [] forcing_b = [] M = [] #Create the vectors storing jacobians about every equilibrium point for element in equilibrium_dict: forcing_a.append(array(F_A.subs(element).tolist(), dtype = float)) print("forcing a done") for element in equilibrium_dict: forcing_b.append(array(F_B.subs(element).tolist(), dtype = float)) print("forcing b done") for element in equilibrium_dict: M.append(mass_matrix.subs(element).subs(parameter_dict)) print("mass matrix subs done") for i in range(len(M)): M[i] = M[i].subs(parameter_dict) M[i] = array(M[i].tolist(), dtype = float) print("m done") #state A and input B values for linearized functions A = [] B = [] for m, fa in zip(M, forcing_a): A.append(dot(inv(m), fa)) print("fa done")
forcing_a = [] forcing_b = [] M = [] #Create the vectors storing jacobians about every equilibrium point for element in equilibrium_dict: forcing_a.append(array(F_A.subs(element).tolist(), dtype = float)) print("forcing a done") for element in equilibrium_dict: forcing_b.append(array(F_B.subs(element).tolist(), dtype = float)) print("forcing b done") for element in equilibrium_dict: M.append(mass_matrix.subs(element)) print("mass matrix subs done") for i in range(len(M)): M[i] = M[i].subs(parameter_dict) M[i] = array(M[i].tolist(), dtype = float) print("m done") #state A and input B values for linearized functions A = [] B = [] for m, fa in zip(M, forcing_a): A.append(dot(inv(m), fa)) print("fa done")