Substitute multiple values to array of expressions

I have the following code that forms 4 symbolic equations (xs1, xs2, xs3, xs4) using 4 symbolic variables (x1, x2, x3, x4). Problem is, I cannot substitute numeric values into the equations.
A=[9,1,1,1;1,8,1,1;1,1,7,1;1,1,1,6];
B=[75;54;43;34];
x=sym('x',[1 4]);
xs=sym('xs',[1 4]);
xs(1:4)=0;
for i=1:4
for j=1:4
if(j==i)
continue
end
xs(i)=xs(i)-x(j);
end
xs(i)=1/A(i,i)*(B(i)+xs(i));
end
What I tried,
x(1:4)=0;
subs(xs);
%another one
subs(xs(1),{x(1),x(2),x(3),x(4)},{[0,0,0,0]})
None worked. How do I do this?

 Respuesta aceptada

Star Strider
Star Strider el 19 de Mayo de 2019
The ‘x’ values are not ‘x1’, ‘x2’, ..., but ‘x(1)’, ‘x(2)’, ...
Try this instead:
q = subs(xs(1),{x(1),x(2),x(3),x(4)},{[0,0,0,0]});
(Asssign it to whatever variable name you want.)

2 comentarios

I'm pretty sure I've tried this before, and it didn't seem to work back then. Now it works just fine. I was probably doing something wrong. Thanks!
Star Strider
Star Strider el 19 de Mayo de 2019
As always, my pleasure!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Versión

R2018a

Preguntada:

el 19 de Mayo de 2019

Comentada:

el 19 de Mayo de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by