Equazioni differenziali a coefficienti non costanti

di il
473 risposte

473 Risposte - Pagina 19

  • Re: Equazioni differenziali a coefficienti non costanti

    giug ha scritto:


    Secondo me basta che lo metti fuori dal ciclo.... il plot.
    fuori da quale ciclo, quello su i o quello su j o tutti e due?

    nell'ultimo caso si incazza con il cmap:
    ??? Error using ==> plot
    Color value must be a 3 element numeric vector
  • Re: Equazioni differenziali a coefficienti non costanti

    Diciamo che forse è meglio se io gli faccio contate quante particelle ci sono con uno stato di carica e lui mi fa un vettore B_defl e uno E_defl con una sola colonna tutta nulla che poi popola con le particelle che hanno Part_trasp(i).stato==j e li plotta, dopo incrementa j e rifà la stessa cosa, o no?
  • Re: Equazioni differenziali a coefficienti non costanti

    Eh?!?!
    forse il plot lo puoi mettere dentro l'if, così non ti crea problemi con il cmap.
  • Re: Equazioni differenziali a coefficienti non costanti

    giug ha scritto:


    eh?!?!
    forse il plot lo puoi mettere dentro l'if, così non ti crea problemi con il cmap.

    avevi ragione, anche se mi fa uno spot nell'origine perchè, come ti dicevo,la seconda colonna di B_defl ed E_defl ha un mare di zeri perchè ci sono meno badduzze rispetto alla prima.
  • Re: Equazioni differenziali a coefficienti non costanti

    Arcano risolto...
  • Re: Equazioni differenziali a coefficienti non costanti

    giug ha scritto:


    arcano risolto...

    più o meno...

    resta da capire perchè non fa passare particelle con stato di carica = 3
  • Re: Equazioni differenziali a coefficienti non costanti

    Bella domanda...
    ce ne sono? j arriva a 3?
  • Re: Equazioni differenziali a coefficienti non costanti

    giug ha scritto:


    Bella domanda...
    ce ne sono? j arriva a 3?
    s = 3, ma lui non ne fa passare prima, quando fa la storia della collimazione... bho?
    però questo dopo, adesso c'è la legenda che rompe.
    Se io scrivo:
    
    figure()
    
    %%%%voglio fare un plot tenendo fisse le dimensioni delle icone nella legenda
        cmap = hsv(stati);  %# Creates a j-by-3 set of colors from the HSV colormap
        
        legendtext ='';
    
     ion_sym = input ('Simbolo ione da simulare: ', 's');
        
    for j=1:s
        
        for i=1:p
            
             if (Part_trasp(i).ionizzazione == j)
                 
                B_defl(i) = Part_trasp(i).traiettoria(end,2);
                E_defl(i) = Part_trasp(i).traiettoria(end,1);
                
               hplot(j) = plot(B_defl(:,j), E_defl(:,j),'*','Color',cmap(j,:),'Markersize', 10);
                                                  %'Color',cmap(j,:)  %# Plot each column with a different color
               hold on
                
             end
          
        end
        
           legendtext = [legendtext; ion_sym, '^{', num2str(j),'+}']; 
           
        %hold on 
        
    end
    
    hold on
    plot(Ymcporigine,Xmcporigine,'k-','MarkerEdgeColor','k','MarkerSize',1);  %Plot contorno MCP
    
    
    
         %Label assi principali - It is necessary to give the label instructions after plot in order to avoid overlap
        xlabel(gca, 'Deflessione magnetica [m]'); % label lower x axis
        ylabel(gca,'Deflessione elettrica [m]');  %label left y axis
        
        %particles outside MCP radius won't appear in figure
        xlim([0, Rmcp])
        ylim([0, Rmcp])
        
    %     %%%% legenda assi principali
        l=legend(legendtext, 'Location', 'BestOutside'); 
        a=get(l, 'children');
        set(a(1:3:end),'MarkerSize', 10);
    % %     
    %   %%%% doppi Assi
        
        %set secondary x limit as the momentum of a H+ at distance equal to the MCP radius
        % Secondo Harres y=(q*B*LB*L)/sqrt(2mEkin) ==> mv=q*B*LB*L/y
        %L=Deriva2;
        L=0.46;
        CB=0.006;
        mv_max = (q*CB*LB*L)/Rmcp;
        %mv_max = 1;
        
        %set secondary y limit as the energy of a H+ at distance equal to the MCP radius
        % Secondo Harres x=(q*E*Le*L)/(2Ekin) ==> Ekin=q*E*Le*L/2x
        Le = 0.07; %Estensione del C.E.  : 70 mm
        CE = 100000; %campo TP.m
        Ekin_max = ((q*CE*Le*L)/(2*Rmcp))/eV;
        %mv_max = 1;
        
        %Layout instruction
        set(gca,'Box','off');   % Turn off the box surrounding the whole axes
        axesUnits=get(gca,'Units');
        axesPosition = get(gca,'Position');          %# Get the current axes position
        hNewAxes = axes('Position', axesPosition,...  %# Place a new axes on top...
            'Units', 'normalized',...
            'ActivePositionProperty', 'Position',... %prova anche OuterPosition
            'Color','none',...           %#   ... with no background color
            'YAxisLocation', 'right',...
            'XAxisLocation','top',...    %#   ... located on the top
            'Ylim', [0, Ekin_max],...
            'Xlim', [0, mv_max],...      %#   ... should define x axis scale (need to set xmax = mv_max)
            'Box','off');                %#   ... and no surrounding box
        
        xlabel(hNewAxes,'Momentum (H^+)');  %# Add a label to the top axis
        ylabel(hNewAxes,'Energy (H^+)');  %# Add a label to the right axis
        set(gca, 'XTickLabel', num2str(get(gca,'XTick')','%g'))
        set(gca, 'YTickLabel', num2str(get(gca,'YTick')','%g'))
    
    lui mi fa i marker della legenda tutti dello stesso colore, almeno credo...(allegato screenshot)
    Se la metto prima lui mi fa una legenda dove compaiono tutte le particelle, una striscia lunghissima....

    BASTAAAA!!
    Allegati:
    9724_6e47f9408d2f0752007c85803557b47b.jpg
    9724_6e47f9408d2f0752007c85803557b47b.jpg
  • Re: Equazioni differenziali a coefficienti non costanti

    Ma non avevamo già risolto la questione della legenda?!?!
  • Re: Equazioni differenziali a coefficienti non costanti

    giug ha scritto:


    ma non avevamo già risolto la questione della legenda?!?!
    sì, ma era diverso il programma...
  • Re: Equazioni differenziali a coefficienti non costanti

    Vabbè... più o meno sarà la stessa cosa...
  • Re: Equazioni differenziali a coefficienti non costanti

    giug ha scritto:


    vabbè... più o meno sarà la stessa cosa...
    e allora perchè me la fa di un solo colore?
  • Re: Equazioni differenziali a coefficienti non costanti

    Mi mancano i dati per farlo funzionare (stati, s, p...)
  • Re: Equazioni differenziali a coefficienti non costanti

    giug ha scritto:


    mi mancano i dati per farlo funzionare (stati, s, p...)

    ti invio tutto lo script in pvt. la parte incriminata è alla fine.
    Le Event_Stop ce le hai?
  • Re: Equazioni differenziali a coefficienti non costanti

    Sì, numerate da 1 a 5, poi Coll e poi Sorgente
Devi accedere o registrarti per scrivere nel forum
473 risposte