View Full Version : [MATLAB] Array di stringhe
for i=1:3
a(i)=input('Tizio ?','s')
end
da errore se inserisco una stringa più lunga di un carattere. Ho paura che sia una questione di array non dimensionato.
Qualcuna ha qualche idea ?
il-pollo
12-02-2010, 11:45
gli array di stringhe sono matrici di caratteri, quindi le stringhe contenute in questi array devono avere la stessa lunghezza
puoi risolvere il problema utilizzando i cell array (creati con le {}), che possono contenere elementi di qualsiasi tipo, ad esempio
a = { [1:10] ‘hello’ }
gli array di stringhe sono matrici di caratteri, quindi le stringhe contenute in questi array devono avere la stessa lunghezza
puoi risolvere il problema utilizzando i cell array (creati con le {}), che possono contenere elementi di qualsiasi tipo, ad esempio
a = { [1:10] ‘hello’ }
Sì ma se vuoi usare il comando input per inserirle come fai ?
il-pollo
12-02-2010, 17:55
Sì ma se vuoi usare il comando input per inserirle come fai ?
il codice dovrebbe essere questo:
n = 3
a = cell(n)
for i = 1:n
a(i) = input( 'Tizio ?', 's' )
end
Non funziona, mi dice che i tipi di dato sono errati.
il-pollo
15-02-2010, 14:44
Non funziona, mi dice che i tipi di dato sono errati.
:stordita:... piccola figura demmerd
mi spiace, ma non ho occasione di provare fisicamente il codice per risolvere questo tipo di errori
auto:banned:
sottoscrivo l'idea di usare le celle, in grassetto trovi le piccole modifiche alla soluzione proposta da il-pollo:
n = 3
a = cell(1,n)
for i = 1:n
a(i) = cellstr( input( 'Tizio ?', 's' ) )
end
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.