Calcolo parametri su un segnale in tensione sotto smorzato

di Anonimizzato10008 il
29 risposte

29 Risposte - Pagina 2

  • Ok, non ti preoccupare, è tutto abbastanza semplice.
    Allora, ti dà errore perché, come avrai immaginato, non trova il file.
    Hai due possibilità: o lo metti nella stessa cartella dove hai i codici, oppure cambi l'istruzione textread aggiungendo anche il percorso del file quindi 'C:\Users\Nome\Desktop\nomedelfile.txt'
  • Inserendo il percorso ottengo questo:

    [V] = textread ('C:\Users\Antonio\Desktop\matlab_pressione.txt' ,'%d' )
    ??? Error using ==> dataread
    Trouble reading integer from file (row 2, field 1) ==> ,078\n

    Error in ==> textread at 176
    [varargout{1:nlhs}]=dataread('file',varargin{:});

    Inoltre volevo sapere se il formato %d va bene per numeri con tre cifre decimali.
  • No, non ci avevo fatto caso... %d è per gli interi (per questo ti dà errore). Usa %f.
  • [V] = textread ('C:\Users\Antonio\Desktop\matlab_pressione.txt' ,'%f' )

    ??? Error using ==> dataread
    Trouble reading floating point number from file (row 2, field 1) ==> ,078\n

    Error in ==> textread at 176
    [varargout{1:nlhs}]=dataread('file',varargin{:});

    stesso errore!!!
  • E' perché si aspetta il punto come separatore decimale, invece della virgola...
  • E come potrei risolvere tale problema?
  • Bella domanda... ci sono sempre 5 cifre dopo la virgola? sempre sempre?
  • Sempre 3
  • Allora, per ora fai così (intanto penso ad una soluzione migliore) ma almeno puoi andare avanti...
    a=textread('percorso/nomefile.txt','0,%d')
    b=a/10^3
    Praticamente legge come se fosse un intero i numeri dopo la virgola e poi li divide per 10^3 per tornare al numero di partenza. Non è bellissimo come metodo, ma intanto scrivi così e vai avanti, nel frattempo ci penso.
  • Adesso ho due vettori colonna, precisamente V1 e T, che sono rispettivamente l'asse delle ampiezze e l'asse dei tempi.

    Come posso tracciare un grafico per osservare l'andamento del segnale?
  • Comunque il grafico l'ho realizzato attraverso il comando:

    plot(T,V1) ed è tutto ok.
  • Puoi usare la funzione plot, a cui passi come ingressi il vettore delle x e il vettore delle y. Poi, volendo, puoi passargli altri argomenti per specificare colore, tratto della linea e altro.
    Quindi:
    figure(); %per aprire una nuova figura
    plot(x,y); %per fare il plot sulla figura appena aperta
  • antorossoblu ha scritto:


    comunque il grafico l'ho realizzato attraverso il comando:

    plot(T,V1) ed è tutto ok.

    ok
  • Se i valori di questo file.txt dovessero cambiare, il vettore che ho creato in precedenza si aggiorna automaticmente?
  • Devi rilanciare il codice in modo che matlab rilegga il file e riassegni i valori alla variabile.
Devi accedere o registrarti per scrivere nel forum
29 risposte