Jump to content

Modifica Stile
Primario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Secondario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Sfondo: Blank Waves Squares Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Corsi di Laurea










ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.    Accetto l'uso dei cookie
-->
Photo

aiutoooo esercizio


  • Please log in to reply
486 replies to this topic

#481
nicklion

nicklion

    Advanced Member

  • Amministratore
  • 470 posts

allora devi organizzare l'esercizio in questo modo:

-un file denominato main, in questo file richiamerai le tre funzioni che devi scrivere, Leggi_file, Primo, Scrivi_file,

-all'interno di leggi_file prenderai in ingresso il nome del file da aprire e poi userai le funzioni di matlab per aprire i file, ti invio la guida di matlab per queste funzioni http://it.mathworks....ref/fscanf.html, in questo file carichi gli elementi in una matrice e li fai restituire al main;

- nel file primo individui quali sono i numeri primi presenti nella matrice create all'interno della funzione leggi_file, li estrapoli dalla matrice e li inserisci in un vettore che restituirai al main;

- nel file scrivi_file devi salvare i risultati di primo all'interno di un file, riferisciti sempre al link precedente per le funzioni di scrittura.

 

se hai altri dubbi chiedi pure


  • simone_t. likes this
Immagine inviata

#482
simone_t.

simone_t.

    Member

  • Utente
  • PipPip
  • 13 posts

scusa ma io non riesco a  creare la function perchè il file Numeri.txt non so come fare a richiamarlo.

Mi spiego il file Numeri.txt sarebbe un file word da andare a leggere tramite la funzione fopen.

Il problema e che non ho capito come creare la function del leggi_file e richiamare il file Numeri.txt suddetto.

spero di essermi spiegato bene e non aver creato ancora piu confusiane.

se per favore mi potresti far capire come fare te ne sarei grato.

grazie 


  • simone_t. likes this

#483
nicklion

nicklion

    Advanced Member

  • Amministratore
  • 470 posts

ok ho capito il tuo problema, allora per creare una function è molto semplice, all'interno della tua cartella di lavoro di matlab crea un nuovo file Leggi_file.m questa è la tua nuova funzione, all'inzio di questo file devi scrivere function [ "qui inserisci i nomi delle variabili di output della funzione, separati da virgola" ] = Leggi_file( " qui inserisci i nomi delle variabili di input, sempre separati da virgola" ); poi alla fine del file metti la parola chiave end, e così hai la tua funzione da richiamare nel file main,  per aprire il tuo file numeri.txt devi prima di tutto inserire il file all'interno della tua cartella di lavoro di matlab, dove hai creato i file main, leggi_file ecc, quindi tramite il file main richiami la funzione Leggi_file nel modo seguente variabile_output = Leggi_file(variabili_input oppure direttamente i valori ).

 

spero ora ti sia più chiaro.


  • simone_t. likes this
Immagine inviata

#484
simone_t.

simone_t.

    Member

  • Utente
  • PipPip
  • 13 posts

ok, ora il mi problema è che non capisco cosa mettere nella function del file ''Leggi_file''.

Non capisco quali input e quali output mettere.

Io ci ho provato ho pensato fosse cosi:

Ho chiamato il file.m ''Leggi_file''

 

>>function[Leggi_file]=Leggi_file(Numeri.txt);

>> Leggi_file=fopen('Numeri.txt','r');

>>M=fscanf(Leggi_file);

>>end

 

ma non gira e non so cosa sbaglio,non so se il concetto va bene.

 

 

Scusa la mia ignoranza ma non ho mai creato una function l ho sempre considerata come una traccia da cui partire e poi svolgere l'esercizio.


  • simone_t. likes this

#485
fabeve

fabeve

    Newbie

  • Utente
  • Pip
  • 4 posts

Il nome della variabile e il nome della funzione non deve essere uguale, poi la matrice la potresti caricare attraverso due cicli for.

Prova in questo modo

 

function[M]=Leggi_File('Numeri.txt')

fid=fopen('Numeri.txt','r');

for i=1:dimensione

for j=1:dimensione

M(i,j)=fscanf(fid,'%d',1);

end

end

fclose(fid);

end



#486
simone_t.

simone_t.

    Member

  • Utente
  • PipPip
  • 13 posts

no @fabeve non gira e non riesco proprio a capire come poter fare sono 3 gg che ci sto sbattendo la testa.

 

Grazie comunque.



#487
fabeve

fabeve

    Newbie

  • Utente
  • Pip
  • 4 posts

Strano, davvero.

Sei sicuro di aver richiamato la funzione all'interno dello script principale?






2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users