Kuo skiriasi matrica ir masyvas? Aš žinau, kad matrica yra 2-matmenų, o masyvas - n-matmenų.


Atsakymas 1:

Tai priklauso nuo konteksto, iš esmės, kuriame lauke esate.

WhenIwasdoingmathematicsprofessionally,Ihardlyeverheardthewordarray.Abuddyteachinglinearalgebrasaidthathewouldexplainwhatamatrixwasbysayingthatitwasjustatwodimensionalarrayofnumbers.Isupposetocollegestudentsthetermarraymightseemmorefamiliar.Inmathematicsifonesaysmatrixusuallyoneisthinkingofamatrixasarepresentationofalineartransformation.Amatrixmayhaveitsrowsandcolumnsindexedbysetsotherthan{1,...,n}.Callingafunctionoftwocontinuousvariables,whichrepresentsalineartransformation,amatrixcomesoffasratherabstractwhenonefirstencountersit(butamathematicianwillthink,whynot?).Ontheotherhand,incombinatoricsitseemstobereasonablycommontotalkaboutmatriceswhicharenotintendedtorepresentlineartransformations.(Ifwehaveafiniteset[math]{c1,...,ck}[/math]ofcolors,amatrixwhoseentriesaretakenfromthissetofcolorsdoesntstandforalineartransformationbecausetheentriesarentscalars,butsuchmatricesareoftenenoughstudiedincombinatoricsanyway.)When I was doing mathematics professionally, I hardly ever heard the word “array”. A buddy teaching linear algebra said that he would explain what a matrix was by saying that it was just a two-dimensional array of numbers. I suppose to college students the term “array” might seem more familiar. In mathematics if one says “matrix” usually one is thinking of a matrix as a representation of a linear transformation. A matrix may have its rows and columns indexed by sets other than \{1,...,n\}. Calling a function of two continuous variables, which represents a linear transformation, a “matrix” comes off as rather abstract when one first encounters it (but a mathematician will think, “why not?”). On the other hand, in combinatorics it seems to be reasonably common to talk about matrices which are not intended to represent linear transformations. (If we have a finite set [math]\{c_1,...,c_k\}[/math] of colors, a matrix whose entries are taken from this set of colors doesn’t stand for a linear transformation because the entries aren’t scalars, but such matrices are often enough studied in combinatorics anyway.)

Programinės įrangos inžinerijos masyvai yra duomenų struktūros, naudojamos daugeliu programavimo kalbų. Dviejų matmenų matricą aš dabar vadinu matrica, jei ją naudoju tiesinei transformacijai atvaizduoti, o mano bendradarbiai iš mokyklos žino pakankamai matematikos iš mokyklos, kad apie tai žinotų. Atrodo, kad programinės įrangos inžinieriai paprastai sužinojo, kad naudojant matricas galima pavaizduoti sukimąsi (pvz., Grafinį vaizdų pateikimą). Kadangi mūsų kodas dažniausiai yra C ++, mes nevadiname masyvais taip dažnai, kaip buvo anksčiau, nes C ++ siūlo dinamiškai paskirstytą masyvą, vadinamą „vektoriu“ (net jei turinys neturi geometrinės reikšmės). Šios struktūros (dinamiškai paskirstytos ar ne), be abejo, yra labai paplitusios.

Jei jums įdomu, kurį terminą naudoti, aš pasinaudosiu nykščio taisykle, kad jei struktūros tikslas yra pavaizduoti tiesinę transformaciją, vadinkite ją matrica, kitaip vadinkite ją masyvu.