How could I Transform some lines from Matlab to Python ::
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I am trying to transform the following lines into python, I already did however, I got an error not sure if I did it correct or not as I am new to python not sure about some lines: I attached both codes : In matlab (works fine):
clear all;
for ii = 1:nu_y
if (ii == 1)
t1 = 0;
t2 = p(ii);
Z(1:4) = linspace(t1,t2,4)
else
t1 = Z(3*ii-2);
t2 = t1+p(ii);
Z(3*ii-2:3*ii+1) = linspace(t1,t2,4)
end
end
In python:
import numpy as np
nu_x = 1
nu_y = 2
p = np.array([0.2,0.2])
for ii in range (nu_y):
if (ii == 1):
t1 = 0
t2 = p[ii]
Z[1,3] = np.linspace(t1,t2,3)
else:
t1 = Z[2*ii-1]
t2 = t1+p[ii]
Z[2*ii-1,2*ii+1] = linspace(t1,t2,3)
0 commentaires
Réponses (1)
Walter Roberson
le 10 Oct 2021
for ii = 1:nu_y
if (ii == 1)
That is intended to test for the first ii
for ii in range (nu_y):
if (ii == 1):
In Python, the first ii value is 0
Z(1:4) = linspace(t1,t2,4)
In MATLAB, that would be the first four entries in Z
Z[1,3] = np.linspace(t1,t2,3)
You have asked python to create a list with three elements (not 4 like you did in MATLAB), and you have asked Python to assign it to single location in a 2D array. If you were wanting to assign to the first three elements in Z then you should assigning to Z[0:2] .
It is not clear to me why you changed from 4 elements in MATLAB into 3 elements in Python.
6 commentaires
Voir également
Catégories
En savoir plus sur Call Python from MATLAB dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!