UniprJRC / DSconMATLAB

Il sito che contiene materiale aggiuntivo e tutti i files di codice MATLAB degli esercizi e delle figure del libro.
19 stars 6 forks source link

Incomprensione esercizio del libro #481

Open GaetanoMoretti opened 1 month ago

GaetanoMoretti commented 1 month ago

Buonasera prof Sto avendo difficoltà con l'esercizio 6.2 di pagina 212 del libro Non riesco a importare il dataset del file Tagliatelle.xlsx ne utilizzando il comando load ne utilizzando readtable, Ho visto dallo script 'tagliatelle.m' che il file viene importato con il comando X=readtable('tagliatelle.xlsx','Sheet','Dati','Range','A1:C41'); ma non capisco perché negli altri modi non funzioni, nella soluzione dell'esercizio omette l'importazione del file Grazie

MarcoRianiUNIPR commented 1 month ago

Deve navigare nella cartella che contiene il file!

Nell'esercizio di riepilogo del capitolo 1 ho insistito molto su questo aspetto.

In pratica non può pretendere di caricare un file che si trova nella cartella pippo se si trova nella cartella topolino

Il file tagliatelle.xlsx si trova dentro capPreliminari, image

di conseguenza 1) o naviga dentro questa cartella 2) o copia il file nella cartella dove si trova

Per favore, dato che ho cercato di spiegare questo concetto fino allo sfinimento, mi dica se sono stato chiaro e/o se ha capito.

p.s. per capire il percorso dove si trova deve digitare

pwd

nella Command Window

GaetanoMoretti commented 1 month ago

Buongiorno Certamente prof, nel messaggio non ho detto che ho copiato il file tagliatelle.xlsx nella cartella dove stavo svolgendo l'esercizio

MarcoRianiUNIPR commented 1 month ago

Se ha copiato il file tagliatelle.xlsx nella cartella dove sta svolgendo l'esercizio con l'istruzione readtablelo riesce a caricare.

Questo mi dà la possibilità di dire qualcosa in più sulla differenza tra readtablee load

L'istruzione readtableserve per caricare in memoria il contenuto di un file (txt, xlsx, csv) dentro una table. L'output di readtable è una variabile in formato table

L'istruzione loadserve per caricare nello spazio di memoria un workspace (ossia un insieme di variabili) che era stato salvato tramite l'istruzione save. L'istruzione loadnon fa alcuna importazione e può caricare anche più di una variabile

Dentro FSDA abbiamo adottato la convenzione che se faccio load NomeDelDataset.mat viene caricato in memoria una table denominata NomeDelDataset. Ad esempio load ciitesItaly.mat carica in memoria una table denominata citiesItaly.mat

Maggiori dettagli sono su http://rosa.unipr.it/FSDA/datasets.html

Similmente, se un dataset è stato salvato in formato timetable l'istruzione

load TTnomeDataset.mat

carica in memoria la timetable denominata nomeDataset. Ad esempio, l'istruzione

load TTsesame.mat

carica in memoria la timetable denominata sesame

Maggiori dettagli sono su http://rosa.unipr.it/FSDA/datasets_reg.html alla fine del file.

Spesso nei dataset della MathWorks l'istruzione loadporta al caricamento di più variabili

Ad esempio

load cities

carica in memoria 3 variabili. Un array numerico denominato ratings e due char array denominati names e categories.

In conclusione: readtablecarica il contenuto di un file esterno in una table. loadcarica in memoria uno spazio di lavoro che contiene una serie di variabili di diverso tipo e non fa alcuna importazione da formati esterni.

Per favore mi faccia (fatemi) sapere se sono stato chiaro tramite qualsiasi reazione.

GaetanoMoretti commented 1 month ago

Certamente, tutto chiaro Credo di aver capito il problema che ho avuto con readtable: non avevo impostato correttamente il foglio di lavoro da importare dal file excel (il primo foglio è vuoto, quindi probabilmente stavo importando quello)