Re: DSolve and matrix form of system of equations
- To: mathgroup at smc.vnet.net
- Subject: [mg61304] Re: [mg61294] DSolve and matrix form of system of equations
- From: Pratik Desai <pdesai1 at umbc.edu>
- Date: Fri, 14 Oct 2005 22:22:34 -0400 (EDT)
- References: <200510140956.FAA28648@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Matt wrote: >Hello, > I've been generally taking the 2 dimensional systems of differential >equations that I've been working with and typing them out explicitly >(e.g. x'[t] == x[t] + 2 y[t], y'[t] == -2 x[t] + y[t]), but tonight I >decided to enter them into Mathematica in the matrix form: > >Cell[BoxData[ > RowBox[{ > RowBox[{"eqn", " ", "=", " ", > RowBox[{ > RowBox[{"(", GridBox[{ > { > RowBox[{ > RowBox[{"x", "'"}], "[", "t", "]"}]}, > { > RowBox[{ > RowBox[{"y", "'"}], "[", "t", "]"}]} > }], ")"}], "\[Equal]", > RowBox[{ > RowBox[{"(", GridBox[{ > {"a", > RowBox[{ > SqrtBox["2"], " ", "+", " ", > RowBox[{"a", "/", "2"}]}]}, > { > RowBox[{ > SqrtBox["2"], " ", "-", " ", > RowBox[{"a", "/", "2"}]}], "0"} > }], ")"}], ".", > RowBox[{"(", GridBox[{ > { > RowBox[{"x", "[", "t", "]"}]}, > { > RowBox[{"y", "[", "t", "]"}]} > }], ")"}]}]}]}], ";"}]], "Input"] > >and I was wondering what would be the preferred/efficient method of >getting the actual equations back out of the expression denoted by >'eqn' above? > >What I did was this: > >Cell[BoxData[ > RowBox[{"sols", " ", "=", " ", > RowBox[{"Table", "[", > RowBox[{ > RowBox[{"DSolve", "[", > RowBox[{ > RowBox[{"{", > RowBox[{ > RowBox[{ > RowBox[{ > RowBox[{"eqn", "[", > RowBox[{"[", > RowBox[{"1", ",", "1"}], "]"}], "]"}], "[", > > RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", > " ", > RowBox[{ > RowBox[{"eqn", "[", > RowBox[{"[", > RowBox[{"2", ",", "1"}], "]"}], "]"}], "[", > > RowBox[{"[", "1", "]"}], "]"}]}], ",", > RowBox[{ > RowBox[{ > RowBox[{"eqn", "[", > RowBox[{"[", > RowBox[{"1", ",", "2"}], "]"}], "]"}], "[", > > RowBox[{"[", "1", "]"}], "]"}], " ", "\[Equal]", > " ", > RowBox[{ > RowBox[{"eqn", "[", > RowBox[{"[", > RowBox[{"2", ",", "2"}], "]"}], "]"}], "[", > > RowBox[{"[", "1", "]"}], "]"}]}]}], "}"}], ",", > " ", > RowBox[{"{", > RowBox[{ > RowBox[{"x", "[", "t", "]"}], ",", > RowBox[{"y", "[", "t", "]"}]}], "}"}], ",", "t"}], > "]"}], ",", > RowBox[{"{", > RowBox[{"a", ",", > RowBox[{"-", "2"}], ",", "2"}], "}"}]}], > "]"}]}]], "Input"] > >which worked for me, but again, I'm sure there's a better or more >elegant Mathematica way to get the equations back out of 'eqn'. > >Thanks for any insight, > >Matt > > > Maybe something like this Cell[BoxData[{ RowBox[{"Clear", "[", RowBox[{"x", ",", "y", ",", "A"}], "]"}], "\[IndentingNewLine]", RowBox[{"A", "=", RowBox[{"(", GridBox[{ {"a", RowBox[{ SqrtBox["2"], " ", "+", " ", RowBox[{"a", "/", "2"}]}]}, { RowBox[{ SqrtBox["2"], " ", "-", " ", RowBox[{"a", "/", "2"}]}], "0"} }], ")"}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{"z", "[", "t_", "]"}], "=", RowBox[{"{", RowBox[{ RowBox[{"x", "[", "t", "]"}], ",", RowBox[{"y", "[", "t", "]"}]}], "}"}]}], "\[IndentingNewLine]", RowBox[{"Thread", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"x", "'"}], "[", "t", "]"}], ",", RowBox[{ RowBox[{"y", "'"}], "[", "t", "]"}]}], "}"}], "==", RowBox[{"A", ".", RowBox[{"z", "[", "t", "]"}]}]}], "]"}]}], "Input"] Hope this helps Pratik . -- Pratik Desai Graduate Student UMBC Department of Mechanical Engineering Phone: 410 455 8134
- References:
- DSolve and matrix form of system of equations
- From: "Matt" <anonmous69@netscape.net>
- DSolve and matrix form of system of equations