how to create a matrix with variables in it?

396 visualizzazioni (ultimi 30 giorni)
siva senthil
siva senthil il 12 Feb 2013
Commentato: John D'Errico il 16 Giu 2024
for eg., to create following matrix and work on it,
A=[x1 x1*x2 ; x1^2 x2^2]

Risposte (2)

Kye Taylor
Kye Taylor il 12 Feb 2013
Modificato: Kye Taylor il 12 Feb 2013
The best answer to your question will likely depend on what you want to do with A. Sometimes, I find the following commands useful, which will create an anonymous function, A, that takes two inputs, x1 and x2 and returns the matrix you describe. Of course, this assumes you have values for the variables x1 and x2.
A = @(x1,x2)[x1,x1*x2;x1^2,x2^2]
And compute, for example, with
det(A(1,2))
If you want A to be symbolic, you can begin using the following command
syms x1 x2
A = [x1,x1*x2;x1^2,x2^2]
Then compute, for example, with
det(A)

Aman Kumar
Aman Kumar il 23 Mar 2021
syms x1 x2
A = [x1,x1*x2;x1^2,x2^2]
  5 Commenti
Steven Lord
Steven Lord il 16 Giu 2024
What does "doesn't it work" mean in this context?
  • Do you receive warning and/or error messages? If so the full and exact text of those messages (all the text displayed in orange and/or red in the Command Window) may be useful in determining what's going on and how to avoid the warning and/or error.
  • Does it do something different than what you expected? If so, what did it do and what did you expect it to do?
  • Did MATLAB crash? If so please send the crash log file (with a description of what you were running or doing in MATLAB when the crash occured) to Technical Support so we can investigate.
John D'Errico
John D'Errico il 16 Giu 2024
Let me guess why it does not work. In what you wrote, what is s?
syms x
A=[4*x^2+8*x+5 -8*x -5;8x -4*x^2-16*x 4*x;s 4*s -9]
Do you see that you defined x as a sym, but how about s?
If you define all of the variables properly, of course it will work.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by