正在加载图片...
Linear Algebra. Page 2 in[1]:=w={{a,b},{c,d} Create a 2x2 matrix (we're using symbols.but In [3]:=!!mydata.dat Work with y)data points from an external file out[1]={a,b},{c,d} vou could equally easily use numeric values) 4.110.7 'mydata.dat shows us the contents of the file. fetcl In[21:=w.{xy}-(k1,k2】 Read in pairs of mumbers from that file,storing b y,c x d y) In[4】:=newvals=ReadList【\ the list of values by the name newvals.Plot the {k1,k2 "mydata.dat",{Number,Number}] dataset.Fit a line to the points plot that. out[41=《{4.1,10.7},tetc1} Finally.overlay both and save as a gif In【3】:m'Transpose【w】//MatrixPorm Mathematica can easil do most standard lot1-ListPlot [n wala outt3】/atr1 xForm.a ions.for example,we out [51= aphics-/not can easily transpose matrix w.. out [6]= in[4]:=Inverse[f{1,-1},{2,2}] Or compute the inverse of a 2x2 numeric In[7]=p1ot2=p1ot[8,{x,1,8}] 11 matrix.. out [7]=-Graphics-[not showrn/ o咖ta-g-g In[8]:=show[plot1,plot2] out【8]=-Graphic8- In[9]:=Display["b.gif",&,"GIP"]0 In[5]:=Det[{{a,b,c},{d,e,f},\ Or compute the determinant of a 3x3 Out [9]=-Graphics- {g,h,i}1 symbolic matrix. 6 out[5]=-(c e g)+b f g +c d h a f h-b d i a e i Mathematica As A Programming Language. In[6]:Table [IE [EvenQ []|EvenQ[jl In addition to entering matrices on an element (Approach No. 1) If Mathematica doesnt have precisely what you need for what it has is overalll.vou ca ahav ct6if.3/arom by element basis mathenatica will also let u w=Join [Table [o,[7}],Table[5,(7],\ 11 i construct matrices using rules,such as this Tab1e[10,{4}】,{25}]: use Mathematica as a programming language example that sets elements of a 3x3 matrix to <<DiscreteMath'Combinatorica" and write your oen code.For example,assume 010 be l if the column or row is an even number. x-Union [KSubsets [w,7]]; ou hare a nile of s.10 and 25 weights Se1ect[x,(P1u80#排)<=45&]\ Using no more than 7 of them in any instance. Plotting in Mathematica... //TableForm Print ["\n "Length[],"soln's"] ou form that wil In[1]:=p1ot[x^2,{x,-5,5} Plot a fiuction over an interval.If commecting out [1]= Graphics rkstation or an X terminal (Approach No.2 * We can solve that problem using Mathematica In[2]:Display["a.gif",,"GIP ow.we als go1n8=0 Do[工4【(251+10j+5k<=45)\ Combinatorica pac age.or we 0ut【2】=-Graph1c8- saving graphic output in gifforma little program to solve that problem directly by (1++k<=7),\ looping through a three way nested do loop. Note:besides GIF format,you can also use 801n8++, wu11】,\ using an if statement to tall only solutions the Display function to save Mathematica {1,0,1},{1.0,5}.{k,0,7}1 Pr1nt【"1五",8o1n8,"801五'8"] that meet the specified restriction. 20 Mathematica on other platforms.. UO has a site license for Mathematica covering For more information.please see its installation on University owned PC's.Macs http://darkwing.uoregon.edw-hak/mathematic and Unix systems. More Information About Mathematica. 5 The Mathematica Book.4th Ed,by Stephen See also htto//www.wolfram com/aud 6 lfram [ISBN0-521-64314-7.1470 p阳gesl is http-documents wolfram co om/for copies of many Mathematica documents.Linear Algebra... In[1]:= w={{a,b},{c,d}} Out[1]= {{a, b}, {c, d}} Create a 2x2 matrix (we’re using symbols, but you could equally easily use numeric values) In[2]:= w.{x,y}=={k1,k2} Out[2]= {a x + b y, c x + d y} == {k1, k2} Use a dot product to apply that matrix of coefficients to two variables to form a system of two equations with constants {k1, k2} In[3]:= Transpose[w]//MatrixForm Out[3]//MatrixForm= a c b d Mathematica can easily do most standard linear algebra operations, for example, we can easily transpose matrix w... In[4]:=Inverse[{{1,-1},{2,2}}] 1 1 1 1 Out[4]={{-, -},{-(-), -}} 2 4 2 4 Or compute the inverse of a 2x2 numeric matrix... In[5]:= Det[{{a,b,c},{d,e,f},\ {g,h,i}}] Out[5]= -(c e g) + b f g + c d h - a f h - b d i + a e i Or compute the determinant of a 3x3 symbolic matrix... In[6]:= Table[If[EvenQ[i]||EvenQ[j]\ ,1,0],{i,3},{j,3}]//MatrixForm Out[6]= 0 1 0 1 1 1 0 1 0 In addition to entering matrices on an element by element basis, Mathematica will also let us construct matrices using rules, such as this example that sets elements of a 3x3 matrix to be 1 if the column or row is an even number. Plotting in Mathematica... In[1]:= Plot[x^2,{x,-5,5}] Out[1]= -Graphics￾In[2]:= Display["a.gif",%,"GIF"] Out[2]= -Graphics￾Note: besides GIF format, you can also use the Display function to save Mathematica graphics in PDF, EPS, PCL, PBM and other formats. Plot a function over an interval. If connecting from a Unix workstation or an X terminal, your graph will be shown in a new window; we also show saving graphic output in gif format. Page 2 In[3]:=!!mydata.dat 4.1 10.7 [etc] In[4]:= newvals=ReadList[ \ "mydata.dat",{Number,Number}] Out[4]= {{4.1,10.7},[etc]} In[5]:= plot1=ListPlot[newvals] Out[5]= -Graphics- [not shown] In[6]:= Fit[newvals,{1,x},{x}] Out[6]= 5.14286 + 9.96429 x In[7]:= plot2=Plot[%,{x,1,8}] Out[7]= -Graphics- [not shown] In[8]:= Show[plot1,plot2] Out[8]= -Graphics￾In[9]:= Display["b.gif",%,"GIF"] Out[9]= -Graphics￾Work with (x,y) data points from an external file. !!mydata.dat shows us the contents of the file. Read in pairs of numbers from that file, storing the list of values by the name newvals. Plot the dataset. Fit a line to the points & plot that. Finally, overlay both and save as a gif Mathematica As A Programming Language... (* Approach No. 1 *) w=Join[Table[0,{7}],Table[5,{7}],\ Table[10,{4}],{25}]; <<DiscreteMath`Combinatorica` x=Union[KSubsets[w,7]]; Select[x,(Plus@@##)<=45&]\ //TableForm Print["\n ",Length[%]," soln’s"] (* Approach No. 2 *) solns=0; Do[If[((25i+10j+5k<=45)&&\ (i+j+k<=7)),\ solns++, Null],\ {i,0,1},{j,0,5},{k,0,7}]; Print["\n",solns," soln’s"] If Mathematica doesn’t have precisely what you need (or what it has is overkill), you can always use Mathematica as a programming language and write your own code. For example, assume you have a pile of 5, 10 and 25 pound weights. Using no more than 7 of them in any instance, how many combinations can you form that will total no more than 45 pounds? We can solve that problem using Mathematica’s Combinatorica package, or we can just write a little program to solve that problem directly by looping through a three way nested do loop, using an if statement to tally only solutions that meet the specified restriction. Mathematica on other platforms... UO has a site license for Mathematica covering its installation on University owned PC’s, Macs, and Unix systems. For more information, please see http://darkwing.uoregon.edu/~hak/mathematica More Information About Mathematica... The Mathematica Book, 4th Ed., by Stephen Wolfram [ISBN 0-521-64314-7, 1470 pages] is the definitive reference. See also http://www.wolfram.com/ and http://documents.wolfram.com/ for online copies of many Mathematica documents
<<向上翻页
©2008-现在 cucdc.com 高等教育资讯网 版权所有