I am working with symbolic vector of 1xN size. The vector contains N eqations in the from of
X == a + b + c
Y == X*(d + e + f)
Z == Y + X
I am suing subs to substitute the coefficients a b c d e f with numeric values. The result is in the form of
X == g
Y ==X*h
Z == Y +X
It sould be quite straigh forward to solve for Z since all variables are numeric, but for crying out loud I cannot make matlab to solve for Z.
Any ideas?

2 comentarios

Torsten
Torsten el 30 de Jun. de 2024
Please include your code so far.
Kristian Dimitrov
Kristian Dimitrov el 30 de Jun. de 2024
Editada: Kristian Dimitrov el 30 de Jun. de 2024
This are the type of inputs that i am using
syms a b c d e
eqn = transpose(str2sym("[X == a+b+c, Y == X*(d+e), Z == X+Y]"));
eqn_S = subs(eqn,{a,b,c,d,e},{[1 2 3 4 5]});
and the outout i am getting
eqn_S =
X == 6
Y == 9*X
Z == X + Y
I tried vpa solve etc. but cannot find syntaxis that works properly to solve for Z.
One way i tried to solve it to solve each row separately and substitute its value in the following equations, but there must be more elegant solution to the problem.

Iniciar sesión para comentar.

 Respuesta aceptada

Kristian Dimitrov
Kristian Dimitrov el 30 de Jun. de 2024

1 voto

vpasolve works perfetcly to solve it numerically.
syms a b c d e
eqn = transpose(str2sym("[X == a+b+c, Y == X*(d+e), Z == X+Y]"));
eqn_S = subs(eqn,{a,b,c,d,e},{[1 2 3 4 5]});
vpasolve(eqn_S)

1 comentario

Torsten
Torsten el 30 de Jun. de 2024
Editada: Torsten el 30 de Jun. de 2024
syms a b c d e X Y Z
eqn = transpose(str2sym("[X == a+b+c, Y == X*(d+e), Z == X+Y]"))
eqn = 
sol = solve(eqn,[X,Y,Z]);
sol = struct with fields:
X: a + b + c Y: (d + e)*(a + b + c) Z: a + b + c + a*d + a*e + b*d + b*e + c*d + c*e
sol.Z = simplify(sol.Z)
sol = struct with fields:
X: a + b + c Y: (d + e)*(a + b + c) Z: (d + e + 1)*(a + b + c)
subs(sol,[a,b,c,d,e],[1,2,3,4,5])
ans = struct with fields:
X: 6 Y: 54 Z: 60

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Symbolic Math Toolbox en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 30 de Jun. de 2024

Editada:

el 30 de Jun. de 2024

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by