Czasami trzeba zmienić zachowanie funkcji. Czy istnieje łatwy sposób na znalezienie funkcji (na ścieżce matlab), które korzystają z tej funkcji?Matlab: jak znaleźć funkcje na ścieżce, która używa danej funkcji
Odpowiedz
Sposób, w jaki to robię, to wyszukiwanie plików, które zawierają nazwę funkcji, która mnie interesuje. W ten sposób nie widzę tylko, kto dzwoni do mojej funkcji, ale także jakiego podpisu używają.
W edytorze: Edit-> Znajdź pliki
Zacznij od help deprpt
.
EDYCJA: kiedy generuję raport zależności, na górze okna raportu znajdują się 3 pola wyboru. Jedno z nich, domyślnie niezaznaczone, nosi nazwę "Pokaż funkcje rodzica (tylko bieżący folder)". To prawdopodobnie początek tego, co chcesz, ale działa tylko w jednym folderze.
Jeśli chcesz więcej, proponuję wypróbować edit deprpt.m
.
masz na myśli szukanie zależności? to byłyby narzędzia -> show dependency report
narzędzia -> pokaż raport zależności robi coś przeciwnego do tego, co chcę: znajduje pliki, których dany plik zależy od – Alain
chciałbym użyć narzędzia takie jak grep. Wysłałem narzędzie o nazwie mgrep na wymianę plików kilka lat temu. Może przeszukiwać całe katalogi plików m dla dowolnego ciągu i wyszukiwać rekurencyjnie w podkatalogach. Aby znaleźć funkcje w moich katalogach, które wywołują fminsearch, po prostu wykonam to w linii poleceń.
mgrep ('fminsearch', '', 'pokaż', 'off') Przeszukiwanie katalogu (-y) ...
/Users/woodchips/Desktop/My_FEX/cylinderfit.m /Użytkownicy /woodchips/Desktop/My_FEX/fminspleas.m /Users/woodchips/Desktop/My_FEX/fminspleas2.m /Users/woodchips/Desktop/My_FEX/fminspleas3.m /Users/woodchips/Desktop/My_FEX/fminspleasnnls.m /Users/woodchips/Desktop/My_FEX/BoundedFSOLVE/fsolvebnd.m /Users/woodchips/Desktop/My_FEX/FMINSEARCHBND/fminsearchbnd.m ...
+1 jakoś nigdy nie wiedziałem, że to istnieje, dziękuję Jonas! Zwykle używam zewnętrznego narzędzia 'Agent Ransack' do wyszukiwania tekstu w plikach. – Amro