J'essaie d'écrire du code Fortran 95 pour imiter ce que j'ai fait dans MATLAB mais j'ai du mal à accéder aux indices de tableau. le code est beaucoup plus complexe que ce qui est montré ci-dessous, mais c'est l'essentiel. Je préférerais éviter les boucles.Fortran indices logiques de Matlab
par exemple. -> commandes Matlab. Supposons que a, b, c ont la même taille.
indx=find(a<0); % find all negative values of "a"
b(indx)=30.; % set those same elements in different array "b" to 30.
c(indx)=b(indx)./a(indx)
etc.
etc.
Comment puis-je stocker et utiliser ces indices de « un » tableau et fonctionnent sur les mêmes indices d'autres tableaux Fortran?
double possible de (https://stackoverflow.com/questions/21435589/fortran -equivalent-of-numpy-where-function) – francescalus
c'est proche, mais cela retourne un tableau logique qui n'est pas utile pour générer les indices à appliquer aux autres tableaux. –
Vous utilisez 'pack' et le masque logique pour vous donner un tableau d'index qui agissent comme un indice de vecteur, ou utilisez une instruction/construction' where' avec le masque. – francescalus