Equazioni differenziali a coefficienti non costanti

di Anonimizzato9724 il
473 risposte

473 Risposte - Pagina 2

  • Ho fatto qualche altra prova, anche il mio tutor ha fatto qualche prova e lui sembra convinto.
    Nell'altro caso mi occorre una parametrizzazione differente che poi farò, intanto devo vedere se riesco a passare il campo elettrico che mi serve, sto seguendo l'esempio che mi hai passato ieri...
  • Bene, se anche il tutor è convinto direi che non ci sono dubbi. Fammi sapere come procede.
    Buon lavoro!
  • Procede che a questo punto devo mischiare l'esempio in cui si crea i parametri dipendenti da una variabile con quello che ho fatto prima e non riesco a capire dove devo scrivere l'eq. di secondo ordine come eq. del primo...
    Il tutor ha detto "che bordello sta roba..."
  • Come dargli torto...
  • No, ha ragione...

    Ma se io voglio passare solo il campo scritto come un vettore scritto così:
    
    Ez=zeros(1,100);
         for i=1:1:100
             if (i<=10 || i>=50)
                 Ez(i)=0;
             else
                 Ez(i)=1;
             end
         end
    
    direttamente nell'equazione che ho risolto prima non si può fare?
  • Non ho capito dove vuoi metterlo...
    Comunque puoi scrivere lo stesso codice così, così eviti il ciclo.
    Ez=zeros(1,100);
    Ez(11:49)=1;
  • Lo voglio mettere qua:
    
    rhs=@(z,x)[x(2);(q/m)*(E/v^2)];
    
    però si incazza...
  • Al posto di E? Che errore dà?
  • Si, al posto di E

    dice:
    ??? Error using ==> vertcat
    CAT arguments dimensions are not consistent.

    Error in ==> @(z,x)[x(2);(q/m).*(E./v^2)]


    Error in ==> odearguments at 110
    f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.

    Error in ==> ode45 at 173
    [neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...

    Error in ==> ODECE_prova at 22
    [za, xa] = ode45(rhs, [0 100], [0 0]);
  • Credo non possa risolvere la ode con un vettore al posto di E, perché vorrebbe dire che dovrebbe avere in uscita delle matrici...
    Non capisco però perché gli devi passare un vettore di zeri e "uni". Cosa ti aspetteresti in uscita?
  • Il vettore l'ho fatto così perchè il campo c'è solo su un tratto di percorso, quindi vorrei dirgli:
    fai viaggiare sta pallina, poi ad un certo punto trova un campo E che la spinge verso su, ad un certo punto il campo finisce e la pallina viaggia di moto uniforme come prima di entrare nel campo ma con traiettoria diversa.
  • Già visto, ho scaricato anche lo script di cui parlano.
    Il problema è simile, ma i campi lì hanno estensione infinita...
  • E non puoi trattare separatamente il caso in cui c'è il campo dal caso in cui non c'è perché devi simulare anche il passaggio da un caso all'altro, immagino...
  • Esatto, inoltre campo E e B sono uno dentro l'altro però B comincia prima di E ed il campo E finisce dopo B ....
Devi accedere o registrarti per scrivere nel forum
473 risposte