Matlab/Octave

Messaggioda grillo370 » 13/08/2018, 17:15

Salvea tutti sono nuovo e non so se è la sezione giusta.
Qualcuno sa spiegarmi come scrivere 2 vettori in in OCTAVE, V e W (di numeri reali e ugual dimensione che rappresentino una funzione) tale che W=f(V)?
grillo370
Starting Member
Starting Member
 
Messaggio: 1 di 14
Iscritto il: 13/08/2018, 17:01

Re: Matlab/Octave

Messaggioda feddy » 18/08/2018, 13:57

Benvenuto,

non sono sicuro di aver ben compreso la tua domanda. Supponiamo tu abbia definito una funzione $f$ e abbia un vettore $V$. Allora ti basta scrivere

Codice:
f=@(x) x.^2; %esempio
v=rand(1,5);
w=f(v)


Per scrivere le formule dai un'occhiata qui formule
Avatar utente
feddy
Moderatore
Moderatore
 
Messaggio: 2150 di 5934
Iscritto il: 26/06/2016, 00:25
Località: SISSA

Re: Matlab/Octave

Messaggioda grillo370 » 24/08/2018, 15:22

In realtà devo fare in modo che avendo 2 vettori U e W, quest'ultimo sia W=f(U)
grillo370
Starting Member
Starting Member
 
Messaggio: 2 di 14
Iscritto il: 13/08/2018, 17:01

[MatLab] Re: Matlab/Octave

Messaggioda feddy » 24/08/2018, 15:49

Ok, quindi il problema è trovare una funzione $f$ tale che dati $U=[x_1,\ldots,x_n],W=[y_1,\ldots,y_n]$ di uguali dimensioni, $\forall i=1,\ldots,m: f(x_i)=y_i$, corretto?
Se le cose stanno così, altro non è che un problema di interpolazione.

In Octave (e MatLab) puoi fare così, supponendo di voler usare interpolazione polinomiale.
    0. Definisci il grado $N$ del polinomio $P(x)$ che approssima i tuoi dati.
    1. Definisci i vettori $U,W$.
    2. Usa il comando
    Codice:
     P=polyfit(U,W,N)


Vedi anche qui
Avatar utente
feddy
Moderatore
Moderatore
 
Messaggio: 2180 di 5934
Iscritto il: 26/06/2016, 00:25
Località: SISSA

Re: Matlab/Octave

Messaggioda grillo370 » 24/08/2018, 16:04

Così mi da una retta interpolante?
In pratica dovrei svolgere questo: si scriva una funzione Octave che riceve in ingresso due vettori di double di ugual dimensione V e W, di numeri reali, che rappresentano una funzione f(x) reale discretizzata sui punti memorizzati in V. In particolare, per ogni punto V, in W è memorizzato il valore f(V).
Si può fare senza retta interpolante?
Ultima modifica di grillo370 il 31/08/2018, 10:15, modificato 1 volta in totale.
grillo370
Starting Member
Starting Member
 
Messaggio: 3 di 14
Iscritto il: 13/08/2018, 17:01

Re: Matlab/Octave

Messaggioda feddy » 24/08/2018, 16:23

No, così ti da il polinomio interpolante, che stando alla tua richiesta mi pare sia quello che vuoi.
Avatar utente
feddy
Moderatore
Moderatore
 
Messaggio: 2182 di 5934
Iscritto il: 26/06/2016, 00:25
Località: SISSA

Re: Matlab/Octave

Messaggioda grillo370 » 31/08/2018, 10:46

dovrei svolgere questo: si scriva una funzione Octave che riceve in ingresso due vettori di double di ugual dimensione V e W, di numeri reali, che rappresentano una funzione f(x) reale discretizzata sui punti memorizzati in V. In particolare, per ogni punto V, in W è memorizzato il valore f(V).
grillo370
Starting Member
Starting Member
 
Messaggio: 4 di 14
Iscritto il: 13/08/2018, 17:01


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite