ایجاد متغیرهایی از نوع ماتریس در متلب
یک ماتریس، درواقع نوعی تعمیم از بردارهای سطری و ستونی است. در یک ماتریس، مقادیر درون یک ردیف با استفاده از کاما یا فاصله از یکدیگر جدا می شوند و ردیف های مختلف، با استفاده از سمی کالن از یکدیگر متمایز می شوند. بعنوان مثال ماتریس mat در زیر به طور صریح با وارد کردن مقادیر ایجاد شده است:
در یک ماتریس، همواره باید تعداد مقادیر قرار گرفته در هر ردیف با یکدیگر برابر باشند و همچنین باید تعداد مقادیر قرار گرفته در هر ستون نیز با یکدیگر برابر باشند. بعنوان مثال اگر تلاش کنید تا یک ماتریس ایجاد کنید که تعداد مقادیر قرار گرفته در ردیف های آن با یکدیگر برابر نباشند، یک خطا همچون خطای زیر ایجاد خواهد شد:
با استفاده از علامت دونقطه، می توان مقادیری را با یک ترتیب مشخص در سطرها ایجاد نمود. بعنوان مثال داریم:
به جای اینکه هنگام وارد کردن مقادیر یک ماتریس، برای جدا کردن ردیف ها از یکدیگر، از سمی کالن استفاده کنیم، می توانیم ابتدا مقادیر یک ردیف را وارد کنیم، و سپس دکمه ی Enter را فشار دهیم و به همین ترتیب مقادیر دیگر ردیف ها را وارد کنیم( با فشار دادن کلید Enter). بعنوان مثال داریم:
می توان با استفاده از تابع rand، ماتریس هایی ایجاد کرد که شامل مقادیر تصادفی باشند. اگر که مقدار n را به تابع rand بدهیم، یک ماتریس n×n ایجاد می شود که به آن ماتریس مربعی گفته می شود(چون تعداد سطرها و ستون های آن با یکدیگر برابر هستند):
اما می توانیم به تابع rand دو آرگومان را انتساب دهیم، تا تعداد سطرها و ستون ها را مشخص کنیم:
همچنین می توان با استفاده از تابع randi ماتریس هایی ایجاد کرد که شامل اعداد تصادفی صحیح باشند. در این تابع ابتدا محدوده ی اعداد تصادفی مشخص می شود و سپس ابعاد ماتریس مورد نظر مشخص می شوند. در اینجا نیز هم می توان عدد n را به این تابع داد تا یک ماتریس n×n ایجاد شود و هم می توان دو مقدار را بعنوان ابعاد مشخص نمود):
توجه کنید که می توان برای تابع randi محدوده تعیین کرد اما برای تابع rand نمی توان این کار را انجام داد. زیرا نوع فراخوانی این توابع متفاوت است. همچنین به روش های مختلفی می توان تابع randi را فراخوانی نمود. برای مشاهده ی آنها می توانید از تابع help کمک بگیرید.
متلب همچنین چندین تابع دارد که به وسیله ی آنها می توان ماتریس های خاصی را ایجاد نمود. بعنوان مثال تابع zeros یک ماتریس ایجاد می کند که تمام مقادیر آن صفر هستند. و تابع ones نیز یک ماتریس ایجاد می کند که تمام مقادیر آن 1 هستند.
در توابع ذکر شده، همچون تابع rand می توان یک آرگومان را به آنها داد که مشخص کننده ی سطر ها و ستون ها است و یا اینکه می توان دو آرگومان را به آنها داد که تعیین کننده ی ابعاد آنها است:
توجه کنید که هیچ تابعی برای ایجاد اعداد 2 یا 10 یا ... وجود ندارد. تنها برای 0 ها و 1ها چنین توابعی وجود دارند.
- نوشته شده توسط احسان عباسی
- بازدید: 9704