تفاوت بین ماتریس و آرایه چیست؟ من می دانم که ماتریس 2 بعدی است و آرایه n بعدی است.


پاسخ 1:

این موضوعی است که در کدام منطقه قرار دارید.

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.)

در مهندسی نرم افزار ، آرایه ها ساختار داده هایی هستند که در بسیاری از زبان های برنامه نویسی استفاده می شوند. من وقتی از آن برای نشان دادن یک تحول خطی استفاده می کنم ، از یک آرایه دو بعدی به عنوان یک ماتریس یاد می کنم و کارکنان من به طور کلی ریاضی کافی را از مدرسه می شناسند تا این موضوع را بدانند. به نظر می رسد که توسعه دهندگان نرم افزار آموخته اند که می توانید از ماتریس برای نشان دادن چرخش ها استفاده کنید (مانند نماهای ارائه شده گرافیکی). از آنجا که کد ما عمدتاً در C ++ است ، ما دیگر مثل گذشته به آرایه ها اشاره نمی کنیم ، زیرا C ++ یک آرایه اختصاص داده شده پویا به نام "وکتور" ارائه می دهد (حتی اگر محتوا معنی هندسی نداشته باشد). این ساختارها (اعم از پویا اختصاص داده شده یا خیر) البته بسیار رایج هستند.

اگر سؤال می کنید از چه اصطلاحاتی استفاده کنید ، من از قانون شست استفاده می کنم: اگر هدف از این ساختار نمایش یک تحول خطی است ، آنرا ماتریس بنامید ، در غیر این صورت ، آنرا آرایه بنامید.