Equazioni differenziali a coefficienti non costanti

di Anonimizzato9724 il
473 risposte

473 Risposte - Pagina 30

  • In quale riga? (se mi metti tutte le informazioni insieme facciamo prima...)
  • giug ha scritto:


    in quale riga? (se mi metti tutte le informazioni insieme facciamo prima...)
    si incazza subito prima del plot finale, perchè n resta più grande di quello che ha estratto due volte...
    
    A=-1; B=1;
    v=A+(B-A)*rand(2000000,3); %cubo uniforme
    
    d = v(:,1).^2 + v(:,2).^2 + v(:,3).^2; 
    posizioni=find(d<=1 & v(:,3)>=0 & v(:,1)~=0 & v(:,2)~=0 ); %cerco quei punti che stanno nella semisfera di raggio 1 e con z>=0 e x,y ~=0
     
    condizione=v(posizioni,:); %salvo i punti che stanno nella sfera
     
    
    
    modulo_quadro=condizione(:,1).^2+condizione(:,2).^2+condizione(:,3).^2;
    modulo=sqrt(modulo_quadro);
    
    versore=condizione./repmat(modulo,1,3) ;
    
    
    
    z=0.999;                            %angular spread %%%INPUT
    n=10000;                             %numero diparticelle %%%INPUT
    vers=find(versore(:,3)>=z);         %Selezioni i punti che stanno in una calotta sferica
    vers_select=versore(vers,:);        %creo il vettore con i versori da usare per le proiezioni della velocità
    
    
        r = randperm(size(vers_select,1)); %creates a vector of random number between 1 and size(vers_select)
        
    if n>length(vers_select)
        
        r1=randperm(n-size(vers_select,1));
        r=[r,r1];
    end
    
    v=vers_select(r(1:n),:); % versori per il calcolo delle componenti della velocità
    
    figure()
    plot3(v(:,3),v(:,2),v(:,1), '.', 'MarkerSize',1)
    axis equal
    
  • Vabbè dai, ce la puoi fare...
  • giug ha scritto:


    vabbè dai, ce la puoi fare...
    chissà perchè tra le righe leggo "non ce la farai mai, non ce la farai mai... "
  • No no... ero fiduciosa...
  • giug ha scritto:


    No no... ero fiduciosa...
    non ti credo...

  • Fa sempre la stessa cosa, sia che dò a tutte le particelle la stessa velocità, sia che gli dò la stessa energia.
    E la fa anche se simulo 100 particelle per stato di carica e gli faccio estrarre 100 versori prima del ciclo "for s=1:stati" e ogni versore lo usa 6 volte se gli stati di carica sono 6.

    Io non lo capisco che cosa non funziona. Ieri se la ridevano di sta cosa, e anche io, perchè è assurda e non ha senso
  • Prova a mandarmi l'ultima versione del codice che do una controllata...
  • Ok, grazie.

    te lo mando in pvt.
    hai ancora le event_stop?
    ti devo mandare anche la funzione che si calcola i versori
  • Ok, ho tutto.
  • Allora, le due funzioni God_Speed sono quelleche fanno la storia della sfera.
    La prima (God_Speed) si calcola i versori prende in input il modulo della velocità e restituisce le componenti e lo fa dentri il ciclo su s

    l'altra (God_Speed_versori) restituisce una matrice con n versori e basta.

    Ora io ho fatto varie prove ieri quindi se vuoi usare la stessa velocità per tutte le particelle devi commentare le righe 77 e 85:
    
      v_ion=sqrt(betasquare_ion.*c^2);
    ...
    v_ion=repmat(v_ion,1,3);
    
    e levare il commento alla riga 79 e 84
    
    % v_ion=6.943537314271608e+05
    ....
    %v_ion2=repmat(v_ion,n,3);
    
    e nella 85 cambiare v_ion con v_ion2

    in questo modo lui usa una vlocità per tutte le particelle e i 100 versori che estrae li usa per tutti gli stati.
    Per come te l'ho mandato invece usa velocità differenti per le particelle, ma sempre gli stessi versori.
    Se vuoi fare altri esperimenti ti commento io le istruzioni.
  • Allora allora...
    praticamente c'è sempre lo stesso numero di particelle, indipendentemente dallo stato di carica... è questo il problema?
  • giug ha scritto:


    Allora allora...
    praticamente c'è sempre lo stesso numero di particelle, indipendentemente dallo stato di carica... è questo il problema?
    Non ho capito cosa intendi
  • No, niente... aspetta...
  • Come mi accorgo del comportamento sbagliato?
Devi accedere o registrarti per scrivere nel forum
473 risposte