Equazioni differenziali a coefficienti non costanti

di il
473 risposte

473 Risposte - Pagina 26

  • Re: Equazioni differenziali a coefficienti non costanti

    giug ha scritto:


    se non sbaglio quelle due condizioni le devi escludere, quindi devono essere diversi da 0, non uguali.
    Hai ragione, tanto per cambiare... il diverso lo vuole così: ~=?
  • Re: Equazioni differenziali a coefficienti non costanti

    1keenan ha scritto:


    giug ha scritto:


    se non sbaglio quelle due condizioni le devi escludere, quindi devono essere diversi da 0, non uguali.
    Hai ragione, tanto per cambiare... il diverso lo vuole così: ~=?
    sembra di sì, se gli dico:
    find(v(:,:)==0)

    lui risponde:
    ans =

    Empty matrix: 0-by-1
  • Re: Equazioni differenziali a coefficienti non costanti

    Sì sì, il diverso è così.
  • Re: Equazioni differenziali a coefficienti non costanti

    Diciamo che io ora sta cosa la voglio usare come una funzione esterna per calcolare le componenti della velocità.
    La funzione accetterebbe in input solo il modulo di v che lo calcolo dal main e mi restituisce v_x, v_y, v_z.
    Però io ho 52000 e cocci puntini ma non così tante particelle, allora dò in input anche il numero di particelle.
    Poi è inutile che lui usa i puntini più distanti dall'asse z perchè saranno particelle tutte sparate a popo, quindi voglio dirgli anche quali versori usare, e dargli quindi in input lo spread angolare. Questo lo posso fare passandogli un numero, che chiamo z e gli dico di usare i versori che hanno versore(:,3) compresa tra 1 e z che gli passo.
    quindi l'intestazione della funzione dovrebbe essere:
    
    function [v_x, v_y, v_z]=Event_Stop_1(n,z, v_ion)
    
    e ancora non abbiamo finito.

    a questo punto lui dovrebbe estrarre dei puntini a caso da:

    versore_selezionato = find(versore(:,3)<=1 && versore(:,3)>=z)

    n puntini a caso e usare le coordinate per calcolare le componenti della velocità.
    Quindi devo capire come estrarre n riga a caso da versore_selezionato...
  • Re: Equazioni differenziali a coefficienti non costanti

    Puoi usare randperm per creare un vettore di numeri interi da 1 al numero di righe di versore_selezionato. E poi usi questi valori per indicizzare il versore_selezionato (prendendone il numero che ti serve).
  • Re: Equazioni differenziali a coefficienti non costanti

    Sì, ho trovato un esempio: http://www.mathworks.com/matlabcentral/newsreader/view_thread/165114

    è meglio procedere per gradi.

    Diciamo che dico:
    z=0.6
    e voglio prendere tutti i puntini che hanno v(:,3) compresa tra 1 e z.

    allora gli dico:
    vers=find(v(:,3)>=z);
    vers_select=versore(vers,:);

    ma qua si incazza.. che sbaglio?
  • Re: Equazioni differenziali a coefficienti non costanti

    1keenan ha scritto:


    allora gli dico:
    vers=find(v(:,3)>=z);
    vers_select=versore(vers,:);

    ma qua si incazza.. che sbaglio?
    ho sbagliato, devo mettere versore al posto di v

    vers=find(versore(:,3)>=z);
    vers_select=versore(vers,:);
  • Re: Equazioni differenziali a coefficienti non costanti

    Ok, comunque, se matlab non è d'accordo, scrivimi anche l'errore che faccio prima a capire dov'è il problema.
  • Re: Equazioni differenziali a coefficienti non costanti

    Ho sbagliato io, che mi sono incasinato con le variabili.

    creato vers_select, che è il vettore dei versori che mi interessano gli dico

    r = randperm(size(vers_select,1));

    e lui mi fa un vettore di numeri random.
    Ora come lo indicizzo vers_select prendendone i primi n=100, ad esempio
  • Re: Equazioni differenziali a coefficienti non costanti

    R(1:100) sono gli indici che ti interessano.
    quindi vers_select(r(1:100),:)
    (o qualcosa di simile, non ho matlab e non lo posso provare)
  • Re: Equazioni differenziali a coefficienti non costanti

    giug ha scritto:


    r(1:100) sono gli indici che ti interessano.
    quindi vers_select(r(1:100),:)
    (o qualcosa di simile, non ho matlab e non lo posso provare)
    come non hai matlab O_o? :p

    Comunque sì, giusto, fa il vettori dei versori che mi serve.
    DOmani lo sistemo con l'intestazione e lo passo al main.

    Grazie.
  • Re: Equazioni differenziali a coefficienti non costanti

    Non ho matlab qui, adesso...
  • Re: Equazioni differenziali a coefficienti non costanti

    giug ha scritto:


    Non ho matlab qui, adesso...
    avevo capito
  • Re: Equazioni differenziali a coefficienti non costanti

    Ma ammetto che mi piacerebbe una versione di matlab... da polso...
  • Re: Equazioni differenziali a coefficienti non costanti

    giug ha scritto:


    ma ammetto che mi piacerebbe una versione di matlab... da polso...
    O_o
Devi accedere o registrarti per scrivere nel forum
473 risposte