Domanda

Ho queste due equazioni in cui x, y e z sono variabili e p1, p2 e p3 sono parametri.Può Matlab Trova soluzioni parametriche / simboliche per x y z basate su p1, p2, p3?

    .
  • 2(x−p1)+2(xy−p3)y = 0
  • 2(y−p2)+2(xy−p3)x = 0
È stato utile?

Soluzione

Semplicemente metti sì. Prendi tutte le tue variabili, usa syms per definire ciascuna delle tue variabili in modo che essi sono variabili simboliche, quindi utilizzare solve per risolvere l'equazione per te. Si specifica le due equazioni come due parametri in solve. L'output (che memorizzeremo in sol) restituirà una struttura che contiene un campo x e un campo y, poiché la tua equazione è definita rispetto a due variabili, e p1,p2,p3 sono parametri. In altre parole, fai questo:

syms p1 p2 p3;
syms x y;
sol = solve(2*(x-p1)+2*(x*y-p3)*y == 0, 2*(y-p2)+2*(x*y-p3)*x == 0);
.

È possibile accedere alla soluzione di ciò che x e y sono accedendo a ciascuno dei rispettivi campi:

>> sol.x

ans =

(p1^3 + p3*p1^2*z1 + p1*z1^4 - 1.0*p2*p1*z1^3 + p1*z1^2 - 1.0*p2*p1*z1 + p3*z1^3 - 1.0*p2*p3*z1^2 + p3*z1 - 1.0*p2*p3)/(p1^2 + p3^2)

>> sol.y

ans =

z1
.

Avrai un avvertimento però, affermando che la soluzione è parametrizzata da simboli, ma questo da aspettarsi. In particolare:

Warning: The solutions are parametrized by the symbols:
z1 = RootOf(z^5 - p2*z^4 + 2*z^3 - z^2*(2*p2 - p1*p3) + z*(p1^2 - p3^2 + 1) - p1*p3 - p2, z)
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top