how can I convert the output of solve function into matrix form?

3 次查看(过去 30 天)
I would like to ask you a question about how to convert the output of solve function into matrix form. As far as I know, the output of solve function is structure. Here is my simple case;
syms x y
k(1,1)=x-6*y-15;
k(1,2)=x+4*y-6;
roots=solve(k==0)
The output is as follows;
roots =
x: [2x1 sym]
y: [2x1 sym]
I know I can call the roots by roots.x and roots.y. However, I will write parametric code with user defined number of equation. So, How can I store those roots into a matrix so that I can use for other operation?

回答(1 个)

Sophie
Sophie 2016-10-29
Maybe better option is to use linsolve if the system of equations is linear. So that U'll obtain result as matrix. Also you can try smth like this.
c=struct2cell(roots.x);
m=cat(1,c{:});
disp(m);
  1 个评论
Yunus OZCELIK
Yunus OZCELIK 2016-10-29
Sophie, thank you for quick answer. The system of equations are nonlinear. However, your recommendation solved my problem. I changed only first row of your code. Thank you!
c=struct2cell(roots);
m=cat(1,c{:});
disp(m);

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Numbers and Precision 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by