Argumento de função na função dir noMATLAB

0

Existe uma maneira de usar o comando dir em uma função no MATLAB. Eu quero ter argumento na ficção e esse argumento para fazer parte do comando dir para, por exemplo,

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

Estou recebendo um erro ao fazer isso, pois um argumento tomado como argumento não está na função dir. Existe uma maneira de fazer isso?

    
por Umar 07.10.2015 / 21:24

2 respostas

0

Em todas as linguagens de programação e scripting que eu espiei, algo dentro de um par de citações como em "aspas" e "também quuoted", tem sido texto literal - para não ser alterado, nunca.

Então, você pode usar que 'abc_'+str(num)+'_*.csv' ou uma construção semelhante funcionaria para você.
Observe que str(num) é comum como método para converter um valor numérico em um fluxo de caracteres. Tais 'cadeias' podem ser anexadas / anexadas umas às outras com, e. + ou similar.

    
por 07.10.2015 / 22:03
0

Existe uma maneira de usar um argumento:

function a = abc(num)
    aaa = dir(['abc_' num2str(num) '_*.csv']);
    a = aaa.name;
end
  • Use [] para concatenar strings. O curinga * está funcionando.
  • Use num2str para converter um número em uma string.
  • Não se esqueça de verificar se a aaa struct existe antes de obter seu campo name , por exemplo, usando uma condição if length(aaa >= 1) .
por 23.03.2016 / 10:58

Tags