/ / Forzare output omogeneo in matlab - matlab, algebra lineare, trasformazione omogenea

Forzare output omogenei in matlab - matlab, algebra lineare, trasformazione omogenea

Nell'ambito di un incarico relativo alla grafica, Irisolvere l'equazione semplice Ax = b. In questa equazione, A è una matrice 2x3 nota, b è un vettore 2x1 noto e x è il vettore 3x1 sconosciuto, che deve essere omogeneo.

Ora conosco la soluzione MATLAB standard x = Ab; Tuttavia, ciò non obbliga x a essere omogeneo. C'è un modo in cui posso forzare il terzo elemento di x ad essere 1?

risposte:

1 per risposta № 1

Per forzare il terzo elemento di x ad essere 1, aggiungi un'equazione che dice "x3= 1 ". Cioè, aggiungi riga [0 0 1] alla matrice e alla voce corrispondente 1 al vettore b. Come questo:

x = [A; 0 0 1]  [b; 1]

Esempio

A = [1 2 4; 3 4 5];
b = [6; 7];

Basta entrare Ab ritorna [-0.2857; 0; 1.5714].

Ma [A; 0 0 1] [b; 1] ritorna [-2; 2; 1].