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?

 采纳的回答

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 个评论

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!

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Logical 的更多信息

产品

版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by