Per ottenere i risultati solo dalla CommandWindow (cioè senza una GUI) potresti scrivere una funzione la quale:
[*] riceve in input il nome del file (database)
[*] apre il file con la funzione "fopen"
[*] legge il file con l'istruzione "textscan" (che ritorna un cellarray)
[*] verifica la presenza della stringa nel database (il cellarray in cui è stato caricato il file) e, se presente, ne identifichi la posizione
[*] ritorni i valori corrispondenti all'indice trovato al punto precedente
Di seguito una possibile implementazione della funzione:
function [A,B]=leggi_database(file_name)
% Verifica dell'esistenza del file di input
if(exist(file_name,'file'))
% Apertura del file di input
fp=fopen(file_name,'rt');
% Lettura del file
C=textscan(fp,'%s%f%f')
% Chiusura del file
fclose(fp);
% Processing del datrabase
% C{1} contiene le stringhe
% C{2} contiene la prima colonna di numeri
% C{3} contiene la seconda colonna di numeri
%
% Conversione in minuscolo delle stringhe (consente di evitare errori
% dovutri solo al fatto che si usino lettere maiuscole e minuscole
frutta=lower(C{1});
% Richiesta di input all'utente e conversine in misuscolo della stringa
% inseritqa dall'utente
fr=lower(input('Inserire frutta: ','s'))
% Identificazine della presenza della stringa inserita dall'utente nel
% database
idx=find(ismember(frutta,fr))
% Se è presente, vengono assegnati i valori corrispondenti
if(~isempty(idx))
A=C{2}(idx)
B=C{3}(idx)
else
% Se non è presente viene assegnato NaN
A=NaN
B=NaN
end
else
% Se il file di input non esiste viene generato un messaggio di errore
error([file_name ': file not found'])
end
Hope this helps.