interpolazione tabella 2D

Giusto!

Ho provato con la full cubic 3d ma non capisco se i dati che inserisco nell'editor sono del giusto formato.

l'utput che ricevo è questo

 #include <math.h>

// Fitting target: lowest sum of squared absolute error
// Fitting target value = 0.06049092409240928

double Polynomial_FullCubic_model(double x_in, double y_in)
{
double temp;
temp = 0.0;

// coefficients
double a = -1.9517326732672036E-01;
double b = 6.6613381477509392E-15;
double c = 3.9100660066005926E+00;
double d = 0.0000000000000000E+00;
double f = -5.5094884488447660E+00;
double g = 0.0000000000000000E+00;
double h = 2.7433993399339256E+00;
double i = 0.0000000000000000E+00;
double j = 0.0000000000000000E+00;
double k = 0.0000000000000000E+00;

temp = a;
temp += b * x_in;
temp += c * y_in;
temp += d * pow(x_in, 2.0);
temp += f * pow(y_in, 2.0);
temp += g * pow(x_in, 3.0);
temp += h* pow(y_in, 3.0);
temp += i * x_in * y_in;
temp += j * pow(x_in, 2.0) * y_in;
temp += k * x_in * pow(y_in, 2.0);
return temp;
}

potresti provare e dirmi se li sto inserendo correttamente?

Se così fosse qui le variabili in ingresso sarebbero x_in e y_in e la variabile di uscita viene chiamata "temp"?

grazie
grazie

>miche91: ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post qui sopra (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

In pratica, tutto il tuo codice dovrà trovarsi racchiuso tra due tag: [code] _il _tuo_ codice_ [/code] così da non venire interpretato e non dare adito alla formazione di caratteri indesiderati o cattiva formattazione del testo. Grazie.

Guglielmo

Io ho immesso i dati in 3 colonne X Y e Z

Dopodiché ho usato la funzione ottenuta per calcolarmi le Z controllando con i valori Z che avevo già, cioè quelli della tabella.
Tenuto conto che i dati li avevo ottenuti digitalizzando una curca pubblicata sul datasheeet, che non era neanche curva erano segmenti, mi sono ritenuto soddisfatto anche se poi non l'ho usata perché il sensore doveva stare sempre acceso.

zoomx come faccio a fare 3 colonne X Y Z ?

la mia è una tabella 2D di questo tipo

0   0.5   0.6   0.7   0.8   0.9   1   1.2   1.3   1.4   1.5
0   0.5   0.6   0.7   0.8   0.9   1   1.2   1.4   1.4   1.5
0   0.6   0.7   0.8   0.9   1   1   1.3   1.4   1.4   1.5
0   0.7   0.8   0.9   0.9   1   1.1   1.4   1.4   1.5   1.5
0   0.8   0.8   1   1   1.1   1.2   1.4   1.4   1.5   1.5
0   0.7   0.8   1   1   1.1   1.2   1.4   1.4   1.5   1.5
0   0.6   0.8   1   1   1.1   1.2   1.4   1.4   1.5   1.5
0   0.5   0.8   1   1   1.1   1.2   1.4   1.4   1.5   1.5
0   0.5   0.8   1   1   1   1.1   1.4   1.4   1.5   1.5
0   0.5   0.8   0.9   0.9   0.9   1   1.3   1.4   1.5   1.5
0   0.4   0.7   0.8   0.8   0.9   1   1.2   1.2   1.4   1.5
0   0.3   0.6   0.7   0.7   0.9   1   1   1.1   1.3   1.4
0   0.3   0.5   0.6   0.6   0.8   0.9   1   1   1   1

grazie
Michele

Assumo che la tabella sia costituita dai soli valori Z e che i valori di X e Y partano da 0

Si può fare in diversi modi. Un esempio

X Y Z
0 0 0
1 0 0.5
2 0 0.6
3 0 0.7
4 0 0.8
5 0 0.9
6 0 1.0
7 0 1.2
8 0 1.3
9 0 1.4
10 0 1.5
0 1 0
1 1 0.5
2 1 0.6
3 1 0.7
4 1 0.8
5 1 0.9
6 1 1.0
7 1 1.2
8 1 1.3
9 1 1.4
10 1 1.5
0 2 0.6
0 2 0.7
.....

Nell'esempio ci sono le prime 2 righe e il primo valore della terza riga.