Argument funkcji w funkcji dir inMATLAB

0

Czy istnieje sposób użycia polecenia dir w funkcji MATLAB. Chcę wziąć argument w fikcji i ten argument powinien być częścią polecenia dir np

function a = abc(num)
    aaa=dir('abc_num_*.csv);
end

Dostaję błąd podczas robienia tego tak samo, jak argument, który nie działa w funkcji dir. Czy jest na to sposób?

Umar
źródło

Odpowiedzi:

0

We wszystkich językach programowania i skryptów, do których zaglądałem, coś w parze cytatów, tak jak w „cytowanych” i „również cytowanych”, było dosłownym tekstem - nigdy nie może być zmienione.

Możesz więc założyć, że ta 'abc_'+str(num)+'_*.csv'lub podobna konstrukcja zadziałałaby dla Ciebie.
Zauważ, że str(num)jest to powszechna metoda konwersji wartości liczbowej na strumień znaków. Takie „ciągi” mogą być dołączane / dołączane do siebie za pomocą np. +Lub podobnego.

Hannu
źródło
0

Istnieje sposób użycia argumentu:

function a = abc(num)
    aaa = dir(['abc_' num2str(num) '_*.csv']);
    a = aaa.name;
end
  • Służy []do łączenia łańcuchów. Symbol wieloznaczny *działa.
  • Służy num2strdo konwertowania liczby na ciąg.
  • Nie zapomnij sprawdzić, czy aaastruktura istnieje przed uzyskaniem jej namepola, na przykład za pomocą if length(aaa >= 1)warunku.
Sébastien Guarnay
źródło