Martin's flow rate estimator spreadsheet & ..

Pagina 4 di 4
prima
1 2 3 4
Visualizzazione dei risultati da 31 a 40 su 40
  1. #31
    kibibyte L'avatar di Andrea 007
    Registrato
    Jun 2007
    Messaggi
    326

    Predefinito

    Originariamente inviato da Gioz
    per questo consigliavo octave o matlab ....
    coi dati ci lavori come vuoi e puoi plottare ad intervalli costruendo fin da subito cose esatte anzichè plottando la parabola che solo nel suo ramo identifica il caso.
    una funzione può essere spezzata e rappresentare un solo tratto non necessariamente tutto

    scrivere script per matlab è simile al C ed anche più semplice, una volta caricati i dati matematicamente ci lavori come vuoi.
    l'erroe che noti è dovuto al fatto che se si plotta la curva su (-inf,+inf) non si tiene conto del fatto che il fenomeno fisico non trova rappresentazione corretta. sarebbe più corretto dire F=y se x>=0 et F=-y se x<0.
    con matlab/octave dopo ave rinserito i dati (come nell'esmepio che facevo precedentemente)basterebbe plottare a quetso modo:
    plot(x1,y1,x2,y2)
    essendo ogni termine un array di valori il software plotta Y1 in relazione all'intervallo x1 ed y2 in relazione all'intervallo x2,si ottiene un risultato attendibile e preciso tanto quanto la nostra risoluzione permette.
    Interessante pure matlab....
    Alla fine ottieni una serie di curve spezzate?
    La curva passa per tutti i punti individuati dalle coordinate delle misure?
    Ho capito bene?

  2. #32
    gibibyte
    Registrato
    May 2005
    Località
    Mn
    Messaggi
    977
    configurazione

    Predefinito

    tu ottieni esattamente la curva che vuoi, è un potente software che data in pasto la funzione ti permette di calcoalre tutti i valori che vuoi.

    se per esmepio scrivi
    x= 0:0.00001:5
    stai dicendo di generare un array di valori da 0 a 5 con il passo 0,00001
    e dicendo poi y= exp(3*x)
    crei l'array di risultati per l'equazione sopra riportata.
    se poi plotti
    plot(x,y) automaticamente avrai disegnato nell'intervallo [0,5] tutti i valori calcolati con la risoluzione 0,00001.

    se tu vuoi plottare qualcosa che viene rappresentato diversamente in vari intervalli ti basterà farti i vari intervalli x1 x2 x3 ... xn
    stabilire la tua y1 funzione di x1,y2 funzione di x2 ... yn funzione di xn
    ed andando ad utilizzare il comando plot(x1,y1,x2,y2,...,xn,yn) sullo stesso foglio vedrai comparire il grafico rappresentato con la risoluzione di cui sopra.
    non otterrai una cosa semplicistica ma l'esatta rappresentazione grafica del tuo caso di studio.

    è uno strumento molto potente e permette anche di plottare funzioni di due variabili,diagrammi polari,diagrammi di bode,realizzare script che ad input (anche forniti da file) elaborino risultati secondo modello,ha una componente chiamata simulink che permette per esempio di progettare/analizzare controllori per elementi dalla caratteristica nota(ad esempio azionamenti elettrici ed elettronici di vario tipo),può essere utilizzato per elaborare o simulare comportamento e stimoli dovuti a segnali,ecc...
    è un software completissimo che fa tante belle cose con precisione ed anche se estremamente costoso,nel nostro piccolo potremmo accontentarci del gratuito octave.
    se si possiede una conoscenza anche solamente minima del C risulta poi di semplicissimo utilizzo,intuitivo e veloce.

  3. #33
    kibibyte L'avatar di Andrea 007
    Registrato
    Jun 2007
    Messaggi
    326

    Predefinito

    Missione impossibol .....
    saresti in grado di plottarmi sta funzione ?
    io non saprei nemmeno da dove cominciare.

    Y = (0,0015 X^2 - 0,0135 X + 0,121 ) * X^2

    in un intervallo X = 0 ...2 e Y = 0....2
    oppure anche - 2 .... 2
    mi dovresti dare la funzione
    e un po di coppie X;Y na ventina
    forse vien fuori na caxxiata terribile

  4. #34
    gibibyte
    Registrato
    May 2005
    Località
    Mn
    Messaggi
    977
    configurazione

    Predefinito

    il codice,se non ho sbagliato qualche punto, è proprio questo:
    x1=0:0.001:2;
    x2=-2:0.001:2;
    Y1=(0.0015*x1.^2 - 0.0135*x1+0.121).*x1.^2;
    Y2=(0.0015*x2.^2 - 0.0135*x2+0.121).*x2.^2;
    plot(x1,Y1)
    poi volendo
    plot(x2,Y2)
    una plottata veloce con octave(ad aprire matlab con sto pc ci metto 6 mesi) restituisce:


    scusa se esteticamente è un'aborto ma non ricordo i comandi per "abbellire" le plottate di gnuplot(con matlab basta qualche click ).

  5. #35
    kibibyte L'avatar di Andrea 007
    Registrato
    Jun 2007
    Messaggi
    326

    Predefinito

    Se vuoi puoi provare a plottare questi valori :



    Mi sa che ottieni una curva diversa da quella di prima a dimostrazione che la mia funzione di approssimazione non era un gran ché ... purtroppo.

    Dovrebbe essere simile a questa :
    ricavata con il mio sistema di approssimazione precedente.
    ...sperem.


    prima ho sbagliato pure a darti la scala
    molto meglio .... X 0 ... 5 Y 0 .... 1,5



  6. #36
    gibibyte
    Registrato
    May 2005
    Località
    Mn
    Messaggi
    977
    configurazione

    Predefinito

    guarda spendo due righe sul codice per arrivare al plot d'interesse,così volendo puoi provare per farti un'idea tua.
    x1=0:0.001:2;
    x2=-2:0.001:2;
    così sto dicendo di prendere uno spazio di memoria buttarci dentro 0 e poi farne tanti contigui in cui mettere valori ottenuti mediante somma di 0,001 fin quando si arriva a 2 compreso.
    variando il primo e l'ultimo numero vario gli estremi dell'intervallo,variando il secondo cambio il passo che segna la differenza tra i valori cotnenuti in due spazi contigui.
    il ";" serve a non mandare a schermo come output l'array(matrice)così realizzata(esistono comandi per creare array di dati estratti linearmente "linspace" logaritmici e via dicendo,ma per questo tipo di utilizzo non dovrebbero servire).
    tralasciando il";" verranno scritti a schermo tutti i dati calcolati.
    quindi come da esempio è facile farsi l'intervallo di interesse in cui fare le considerazioni.
    Y1=(0.0015*x1.^2 - 0.0135*x1+0.121).*x1.^2;
    Y2=(0.0015*x2.^2 - 0.0135*x2+0.121).*x2.^2;
    quando abbiamo la nostra relazione di interesse(per esempio ricavata come nel mio primo post dove ho mostrato la foto del block notes risolvendo un sistema relativo al modello d'interesse nei punti noti dalle misurazioni dirette)
    diamo un nome all'array dei risultati e ci spariamo dentro la legge.
    dove chiamo in causa un array metto il "." prima dell'operatore per eseguire operazioni puntuali.
    cioè dico al software che nonostante abbia molti dati(tutti i dati dell'intervallo determinato dall'array precedentemente elaborato) non deve prenderli in considerazione tutti simultaneamente ma uno alla volta dal primo all'ultimo(come se prima facessi tutto con x(1) poi con x(2) ecc) e per x.^2 non intendo più l'array ma sto dicendo prendi il primo valroe e lo moltiplichi per se stesso,una volta assegnato all'array Y1 il primo valore prendiamo il secondo dato contenuto in x e così via.
    anche in questo caso ";"serve a non far comparire a schermo tutti gli innumerevoli valoricalcolati(che però volendo posso richiamare in ogni momento).
    plot(x,y)
    così viene indirizzato all'output grafico l'insieme delle coppie calcolate,non si rappresenta una tendenza o un limite o chè,vengono soltanto segnati i valori di cui sono in possesso.
    se avessi 3 valori soltanto edistanti fra loro vedrei solamente 3 piunti nel piano indipendentemente da cosa possano significare
    poi ci sono vari comandi come subplot,xlabel,title ecc... che aiutano a mettere le varie scritte,far più grafici in uno stesso foglio e così via.

    per ciò se si sbaglia ad esempio l'intervallo basterà aggiustare quello riscrivendo x=x0:passo:xn;
    e semplicemente premere "freccia su" sulla tastiera fino alla relazione y=f(x),una volta così riottenuti i due array li si plotta.
    una votla plottato puoi muoverti nel piano con il cursore del mouse ed in basso a sx vedrai le coordinate del luogo in cui punti,quindi in relazione alla risoluzione del tuo grafico potrai valutare ogni minima variazione già così senza troppe difficoltà.

    tra 0 e 5 con passo 0,001
    y=(0.0015*x.^2 - 0.0135*x+0.121).*x.^2;

  7. #37
    gibibyte
    Registrato
    May 2005
    Località
    Mn
    Messaggi
    977
    configurazione

    Predefinito

    Originariamente inviato da Andrea 007
    Se vuoi puoi provare a plottare questi valori :



    Mi sa che ottieni una curva diversa da quella di prima a dimostrazione che la mia funzione di approssimazione non era un gran ché ... purtroppo.
    plottando solo le coppie di dati esce:

    che sono i 6 punti con tratti lineari pressochè insignificanti.

    partendo invece da 3 dati scelti a caso(in particolare le coppie relative ad ascissa 1,5 3 e 4,5) ho estratto questa equazione:
    y=0,066x^2+0,0266x-0,0027
    che sull'intervallo [0;4,5] mi restituisce:


    l'equazione l'ho ricavata come l'altra volta sistemino 3 equazioni 3 incongite:


    ho corretto gli errori e così dovrebbe essere giusto
    Ultima modifica di Gioz : 30-04-2008 a 11:54

  8. #38
    kibibyte L'avatar di Andrea 007
    Registrato
    Jun 2007
    Messaggi
    326

    Predefinito

    Questa invece l'elaborazione fatta da excel sui 3 dati da te considerati le funzioni sono praticamente identiche!


    Dopo questa lunga "chiaccherata" grazie anche al tuo contributo il significato di queste curve e il modo
    con cui vengono tracciate per approssimazione mi sono molto piu chiari di prima.
    Ultima modifica di Andrea 007 : 30-04-2008 a 20:01

  9. #39
    kibibyte L'avatar di Andrea 007
    Registrato
    Jun 2007
    Messaggi
    326

    Predefinito

    Tornando al "nostro" Martin ..... fa dei test veramente spettacolari !
    Questo il suo ultimo con filmatino per ascoltare
    il respiro di una pompa.
    http://www.martinsliquidlab.com/Dang...mp-Review.html

  10. #40
    gibibyte
    Registrato
    May 2005
    Località
    Mn
    Messaggi
    977
    configurazione

    Predefinito

    Originariamente inviato da Andrea 007
    Questa invece l'elaborazione fatta da excel sui 3 dati da te considerati le funzioni sono praticamente identiche!
    per fortuna,se partendo dai suoi dati ottenessimo qualcosa di insensato saremmo dei ..... ehm...

Pagina 4 di 4
prima
1 2 3 4

Informazioni Thread

Users Browsing this Thread

Ci sono attualmente 4 utenti che stanno visualizzando questa discussione. (0 utenti e 4 ospiti)

Discussioni simili

  1. Martin...Sognatore...
    By Kam in forum Natura
    Risposte: 4
    Ultimo messaggio: 12-10-2010, 11:24
  2. Martin Pescatore con preda
    By Kam in forum Natura
    Risposte: 9
    Ultimo messaggio: 29-09-2010, 18:26
  3. Martin pescatore
    By Kam in forum Natura
    Risposte: 10
    Ultimo messaggio: 25-11-2009, 23:32
  4. Water Cooling Estimator Spreadsheet by Andy 4-8
    By Andrea 007 in forum -= Water Cooling =-
    Risposte: 16
    Ultimo messaggio: 08-12-2008, 18:48
  5. Risposte: 4
    Ultimo messaggio: 14-09-2007, 15:50

Tags

Regole d'invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
nexthardware.com - © 2002-2022