 
 
 
 
 
 
Re: Question: getting list data into a matrix
- To: mathgroup at smc.vnet.net
- Subject: [mg17298] Re: Question: getting list data into a matrix
- From: tobiasoed at my-dejanews.com
- Date: Fri, 30 Apr 1999 23:22:28 -0400
- Organization: Deja News - The Leader in Internet Discussion
- Sender: owner-wri-mathgroup at wolfram.com
In this example I have 4 unknows, a[1],b[1],c[1],d[1], change
the 1 to a 6 in this line (I have to admitt that this line is
is pretty ugly, but I am a little lazy)
In[1]:= u=Sort[Flatten[Table[{a[i],b[i],c[i],d[i]},{i,1}]]]
Out[1]= {a[1], b[1], c[1], d[1]}
Now 4 equations
In[2]:= e={2 a[1]+3 b[1]+4 c[1]==0, 2 a[1]+4
b[1]==24,b[1]-d[1]==9,d[1]+c[1]==8}
Out[2]= {2 a[1] + 3 b[1] + 4 c[1] == 0, 2 a[1] + 4 b[1] == 24,
>    b[1] - d[1] == 9, c[1] + d[1] == 8}
this makes a row of your matrix given one equation
In[3]:= gc[lhs_==rhs]:=Map[Coefficient[lhs,#]&,u]
and this builds the whole matrix
In[4]:= A=Map[gc,e]
Out[4]= {{2, 3, 4, 0}, {2, 4, 0, 0}, {0, 1, 0, -1}, {0, 0, 1, 1}}
this makes the Y vector
In[5]:= Y=Map[Last,e]
Out[5]= {0, 24, 9, 8}
Make rules for your unknowns
In[6]:= r=Thread[Rule[u,Inverse[A].Y]]
                   124           92            7           47
Out[6]= {a[1] -> -(---), b[1] -> --, c[1] -> -(-), d[1] -> --}
                    5            5             5           5
and check
In[7]:= e /. r
Out[7]= {True, True, True, True}
In[8]:=
Hope this helps, Tobias
-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    

