Equazioni differenziali a coefficienti non costanti

di il
473 risposte

473 Risposte - Pagina 31

  • Re: Equazioni differenziali a coefficienti non costanti

    Nell'ultimo plot che fa vedi solo cariche 1+
    Poi nella struttura "Particella" ci sono particelle con tutti gli stati, in quella successiva "Part_collimata" no, e ovviamente nemmeno in "Part_trasp" visto che è un duplicato della precedente.
  • Re: Equazioni differenziali a coefficienti non costanti

    Dovrebbe fare qualcosa tipo questo?
    Allegati:
    9528_ea586c6aae3413d93c07e1988b018e16.jpg
    9528_ea586c6aae3413d93c07e1988b018e16.jpg
  • Re: Equazioni differenziali a coefficienti non costanti

    Sì, dovrebbe bloccare un pò di particelle e farne passare altre ma con i diversi stati di carica... un plot del genere lo faceva anche a me, ora così non so se quello che passa a te è uguale a quello che passa a me.
    che ti esce così? Cosa hai nella struttura "Particelle" e in quella "Particella_collimata"?
  • Re: Equazioni differenziali a coefficienti non costanti

    Immagino sia le stessa cosa che veniva a te... dato che non ho cambiato niente di sostanziale...
    Ho 120 particelle e 18 collimate con stati 1 e 2
    Però è una cosa puramente casuale. Ho fatto un ciclo esterno ai due blocchi (quello che crea le particelle e quello che crea quelle collimate) per vedere cosa succedeva lanciandolo diverse volte... Più o meno 4 su 10 viene simile a questo, altrimenti non entra proprio all'interno del ciclo della particella collimata e quindi non crea neanche la struttura.
  • Re: Equazioni differenziali a coefficienti non costanti

    giug ha scritto:


    Immagino sia le stessa cosa che veniva a te... dato che non ho cambiato niente di sostanziale...
    Ho 120 particelle e 18 collimate con stati 1 e 2
    Però è una cosa puramente casuale. Ho fatto un ciclo esterno ai due blocchi (quello che crea le particelle e quello che crea quelle collimate) per vedere cosa succedeva lanciandolo diverse volte... Più o meno 4 su 10 viene simile a questo, altrimenti non entra proprio all'interno del ciclo della particella collimata e quindi non crea neanche la struttura.

    e non va bene così sta cosa... secondo me è la storia dello spread angolare che non va bene, se io il fascio lo mando con divergenza nulla, e quindi perfettamente collimato, lui fa tutto quello che deve fare e lo fa bene... invece così le spara tutte a popò
  • Re: Equazioni differenziali a coefficienti non costanti

    Ascolta, ma le condizioni di passaggio (i cicli "if") sono posti bene?
    Non è che è lì che fa qualcosa che non va?

    Però sembra che anche se dò una v_ion fissata per tutte e uso gli stessi versori lui continua a fare la stessa porcata.
    C'è qualcosa che lega velocità e stato di carica e di cui io non mi accorgo?
  • Re: Equazioni differenziali a coefficienti non costanti

    Scusa... ma s non lo usi da nessuna parte?!?!
    Cioè per il calcolo della particella, al variare di s non varia niente...
    Si possono commentare tutte le righe che creano queste variabili (che sono le uniche, mi sembra, che dipendono da s)...
    Ein_s
    m_ions
    K_ion
    Etot_ion
    betasquare_ion
  • Re: Equazioni differenziali a coefficienti non costanti

    giug ha scritto:


    Scusa... ma s non lo usi da nessuna parte?!?!
    Cioè per il calcolo della particella, al variare di s non varia niente...
    Si possono commentare tutte le righe che creano queste variabili (che sono le uniche, mi sembra, che dipendono da s)...
    Ein_s
    m_ions
    K_ion
    Etot_ion
    betasquare_ion
    Lo uso all'inizio.
    Lui prende l'energia E_in, la molipltica per s (Ein_s) e si calcola la massa dello ione a seconda di quanti elettroni gli mancano (m_ions), poi si calcola la velocità per gli ioni con quello stato di carica:
    
    K_ion=normrnd(Ein_s,Ein_s/10,n,1);  
             Etot_ion=K_ion+((m_ions*uma1)/uma); 
             betasquare_ion=1-(((m_ions*uma1)./(uma.*Etot_ion)).^2);
             v_ion=sqrt(betasquare_ion.*c^2);
    
    e fa il passaggio dal primo diaframma. Quelle che passano le mette nella struttura in cui ha conservato anche lo stato di carica e quindi quando mi serve lo richiamo direttamente dalla struttura (infatti la struttura ha anche il campo q/m=carica/massa). In questo modo faccio gli altri cicli solo sul numero di particelle totali e non anche sugli stati di carica.

    (Almeno questa era la mia idea...)
  • Re: Equazioni differenziali a coefficienti non costanti

    Se gli dai

    v_ion=6.943537314271608e+05;

    quelle le puoi commentare, sì.
    ma io questa l'avevo messa per vedere che succedeva dando ad ogni particella la stessa velocità, che non è corretto.

    Per essere corretto il ciclo dovrebbe essere così:
    
    for s=1:stati
        
        Ein_s=s*Ein;
        m_ions=m_ion-(s*m_e);
        
    
           K_ion=normrnd(Ein_s,Ein_s/10,n,1);  
             Etot_ion=K_ion+((m_ions*uma1)/uma); 
             betasquare_ion=1-(((m_ions*uma1)./(uma.*Etot_ion)).^2);
             v_ion=sqrt(betasquare_ion.*c^2);
             
             
              v0=feval(@God_Speed,n,ang_spread,v_ion);
              
                       
              r0=zeros(n,3);      %initial position
              %oppure r0=zeros(1,3)
              y_sorgente=[r0,v0];  %vector of initial condition
              
       for i=1:n     
    ....
    
  • Re: Equazioni differenziali a coefficienti non costanti

    Quello che voglio dire è che non puoi aspettarti che i risultati abbiano una dipendenza dallo stato di carica se nel caso che stai simulando la dipendenza non c'è...
  • Re: Equazioni differenziali a coefficienti non costanti

    giug ha scritto:


    Quello che voglio dire è che non puoi aspettarti che i risultati abbiano una dipendenza dallo stato di carica se nel caso che stai simulando la dipendenza non c'è...
    Io ora non so che parte di codice stai usando (cosa hai commentato e cosa no) però se lui assegna alla struttura s diverso per tutte le particelle che simula e ha sempre la stessa velocità v_ion=6.943537314271608e+05; passano sempre e solo quelle con 1+.
    Infatti io non miaspetto che abbiano dipendenza da s, ma il risultato sembra di sì. Questo non capisco.

    tra l'altro gli ho fatto prendere i versori prima dei cicli, quindi per ogni s usa sempre gli stessi versori. Allora io dico che se passa, ad esempio la particella numero 1 con stato s=1+ dovrà passare anche la particella numero 1 con stato s=2+ e così via... invece no, passa solo quella con stato 1+

    Non so se mi sono spiegato.

    Il fatto che ci sia qualcosa di scritta male e che non gli fa fare quello che ho in mente non mi stupisce, ma non capisco che cosa...
  • Re: Equazioni differenziali a coefficienti non costanti

    C'è anche da considerare che se non gli faccio fare la storia degli angoli lui il compitino se lo fa magnifico.

    quello che mi aspetto è quello che fa (plot allegato per 6 stati di carica)

    Anche se faccio i diaframmi giganti lui fa puntini sparsi a caso, nell'utlimo plot, che è quello che mi aspetto..
    Allegati:
    9724_53073d1c06a9d77f9ff5e6144186f558.jpg
    9724_53073d1c06a9d77f9ff5e6144186f558.jpg
  • Re: Equazioni differenziali a coefficienti non costanti

    Sai che nei doppi assi lui mette l'etichetta
    
    xlabel(hNewAxes,'Momentum (H^+)');
    
    se io al posto di H gli voglio fare mettere il simbolo dello ione che gli dò in input gli dico:
    
    xlabel(hNewAxes,'Momentum (', ion_sym ,'^+)');
    
    lui ovviamente si incazza.

    Per non farlo incazzare gli dico
    
    x_Lab=strcat('Momentum (',ion_sym,'^+)'); %x label string
        xlabel(hNewAxes,x_Lab);  %# Add a label to the top axis
    
    e lui se lo accolla contento.

    (prima gli faccio fare la stringa e poi la passo come label.)

    Ci sono modi migliori?
  • Re: Equazioni differenziali a coefficienti non costanti

    Prova così:
    xlabel(hNewAxes,['Momentum (', ion_sym ,'^+)']);
  • Re: Equazioni differenziali a coefficienti non costanti

    giug ha scritto:


    prova così:
    xlabel(hNewAxes,['Momentum (', ion_sym ,'^+)']);

    vero, vuole le parentesi quadre, il titolo del primo plot era fatto così, ma non me lo ricordavo più:
    
     title(['Calcolo approssimato interazione ioni campo magnetico B=', num2str(B), 'Tesla']);
    
    Che cosa cambia tra la soluzione tua e la mia, oltre al fatto che la mia è molto grezza?
Devi accedere o registrarti per scrivere nel forum
473 risposte