خودآموز پردیس نیکان

ماتریس های خاص در نرم افزار متلب

ماتریس های خاص در نرم افزار متلب

در نرم افزار متلب همه پارامترها و اعداد به صورت ماتریس شناخته می شوند اگر یک عدد معمولی باشد به عنوان یک ماتریس ۱*۱  شناخته خواهد شد و همه اعمال ریاضی بر اساس قوانین جبر ماتریسی است.

در نرم افزار متلب مانند ریاضیات، ماتریس را با کروشه یا براکت ([ ]) نشان می دهند.

اعدادی که داخل براکت قرار می گیرند بیانگر درایه های ماتریس مربوطه می باشند.

در یک ماتریس ستون ها را با (ویرگول) یا (فاصله) جدا می کنیم و سطرها را با سمیکولون (;) یا زدن enter و رفتن به سطر بعد می توانیم جدا کنیم. به عنوان مثال ماتریس های زیر با هم برابر اند:

 

>>A=[1 2 3;4 5 6;7 8 9]

>>B=[1,2,3;4,5,6;7,8,9]

>>C=[1,2,3
4,5,6
7,8,9]

نکته
همیشه به خاطر داشته باشید که متلب به حروف بزرگ و کوچک بکار رفته در پارامتر ها حساس است بدین صورت که حروف بزرگ و کوچک یکسان شناخته نمی شوند.

برای مثال دو نام a و A با هم برابر نیستند و اگر در جایی حرف کوچک و در جایی حرف بزرگ به کار ببریم کامپیوتر حتما خطا خواهد گرفت.

ماتریس ها خاص

ماتریس جادویی Magic

ماتریس مربع با درجه وارد شده می سازد به گونه ای که جمع درایه های سطرها، ستون ها و قطر های آن برابر باشد.

>>magic(4)
دکمه اینتر را فشار دهید
ans=
13     3       2       16
8      10     11       5
12     6       7        9
1      15     14       4

ماتریس تصادفی Rand

یک ماتریس با درایه های تصادفی بین صفر و یک، با توزیع نرمال با درجه وارد شده می سازد. Rand(n,m) این دستور، ماتریس n*m را می سازد که درایه های آن اعداد تصادفی بین صفر و یک است. Rand(n) این دستور ماتریس مربع n می سازد که درایه های آن اعداد تصادفی بین صفر و یک است.

ماتریس همانی Eye

این دستور یک ماتریس همانی با درجه وارد شده می سازد.

  • eye(n)
  • n درجه ماتریسی است که می خواهیم بسازیم.

>>eye(3)
دکمه اینتر را فشار دهید

ans=
1      0      0
0      1      0
0      0      1

اگر در این دستور دو پارامتر تعریف شود (ستون و سطر) ماتریس با این درجه ساخته خواهد شد که همه درایه های آن صفر و درایه های موجود در قطر اصلی (n*n) یک می شود.

>>eye(3,4)
دکمه اینتر را فشار دهید

ans=
1      0      0      0
0      1      0      0
0      0      1      0

ماتریس یک Ones

در صورتی که پارامتر تعریف شده یک عدد باشد. ماتریس مربع با درجه همان عدد ساخته خواهد شد.

ولی در صورتی که دو عدد وارد شود ماتریس بر اساس درجه وارد شده تشکیل می شود.

>>ones(3)
دکمه اینتر را فشار دهید
ans=
1      1      1
1      1      1
1      1      1

>>ones(3,2)
دکمه اینتر را فشار دهید
ans=
1      1
1      1
1      1

ماتریس صفر Zeros

ماتریس با درایه های صفر می سازد.

عملکرد این دستور دقیقا مانند ماتریس ones می باشد.

>>zeros(2)
دکمه اینتر را فشار دهید

ans=
0      0
0      0

اگر علاقه مند به این مطلب آموزشی بودید مارا در خودآموز پردیس نیکان دنبال کنید.

دوره های آموزشی مرتبط با این مقاله آموزشی:

  • نویسنده : مدیر سیستم
    • امتیاز :
    • 5
    • 0
  • تاریخ انتشار : 1397/01/16
  • تعداد مشاهده : 1617 بار
نظرات کاربران
pardis

pardis

سلام،يك بردار دارم كه نشان دهنده سطرها و يك بردار دارم نشان دهنده اعدادي كه بايد در اين سطرها قرار گيرند،يعني مثلا اگه درايه اول بردار اول ١ و درايه اول بردار دوم٥باشه،يعني عدد٥ بايد تو سطر ١قرار گيرد،من ميخوام اعداد مربوط به هر سطر رو از ابتداي سطر به ترتيب بچينم و يك ماتريس دوبعدي تشكيل بدم،واگر سطر اول درايه اول و دومش عدد هست بقيشو كه صفر بزاره.a=[1 1 2 3 2] b=[5 3 4 1 2] الان ميخوام ماتريس زير رو كدشو بنويسم ولي بلد نيستم اگه ميشه كمكم كنيد ممنونم. [5 3 0 0 0;4 2 0 0 0;1 0 0 0 0] ماتريسم اعدادش از چپ به راست به ترتيب سطر بيان شده در aو عدد مورد نظر در b چيده بشن.يك ماتريس دو بعدي٣*٥

پاسخ دادن 0 0

پردیس نیکان

پردیس نیکان

سلام درود. مسالتون و مسأله خیلی ساده ایست با ترکیب دستورات for و find و نهایتا if قابل انجام است. آیا ماتریس a فقط اعداد بین 1 و 3 می گیرند ؟

پاسخ دادن 1 0

pardis

pardis

بله فقط اعداد ١تا ٣رو ميگيره.چطوري ميتونم اعدادمو از ابتداي هر سطر بچينم؟ يعني از j=1 (ستون اول)تا الي اخر براي سطر اول و براي بقيه سطر ها هم همينطور.

پاسخ دادن 0 0

پردیس نیکان

پردیس نیکان

در محیط mfile این کد را بنویسید: clc; clear; close all; a=[1 1 2 3 2]; b=[5 3 4 1 2]; c=zeros(3,5); for i=1:3 d=find(a==i); c(i,1:size(d,2))=b(d); end خروجی یک ماتریس سه در پنج بصورت زیر خواهد بود [5 3 0 0 0 4 2 0 0 0 1 0 0 0 0]

پاسخ دادن 0 0

pardis

pardis

خيلي ممنونم بابت راهنمايي خوبتون.سپاس🙏

پاسخ دادن 0 0

پردیس نیکان

پردیس نیکان

درود بر شما

پاسخ دادن 0 0

پيمان

پيمان

با سلام ماتريسي ميخوام بنويسم كه سطر اولش اعداد تصادفي باشن كه مجموع ان ها برابر يك باشه چكار بايد بكنم؟ممنون ميشم راهنمايي كنيد

پاسخ دادن 0 0

مدير سيستم

مدير سيستم

سلام، به عنوان مثال اگر ماتریس مورد نظرتون ماتریس A با 5 سطر و 4 ستون باشد که نیازمند آن باشید تا سطر اول این ماتریس را با اعداد بین صفر و یک پر کنید به نحوی که مجموع سطر اول آن یک شود می توانید ابتدا این سطر را جداگانه توسط دستورات زیر بسازید. در ابتدا به کمک دستور B=rand(1.4) اعداد تصادفی بین صفر و یک به اندازه تعداد ستون های ماتریس A درست می کنیم. سپس برای اینکه مجموع این اعداد برابر یک شود می توانیم هر یک از این اعداد را بر مجموع آن ها تقسیم کنیم تا مطمئن شویم که جمع آن ها برابر یک می شود. B=B/sum(B) نهایتأ ماتریس B را در سطر اول ماتریس A قرار می دهیم. A(1,:)=B

پاسخ دادن 0 0

پردیس نيكان

پردیس نيكان

سلام، به عنوان مثال اگر ماتریس مورد نظرتون ماتریس A با 5 سطر و 4 ستون باشد که نیازمند آن باشید تا سطر اول این ماتریس را با اعداد بین صفر و یک پر کنید به نحوی که مجموع سطر اول آن یک شود می توانید ابتدا این سطر را جداگانه توسط دستورات زیر بسازید. در ابتدا به کمک دستور B=rand(1.4) اعداد تصادفی بین صفر و یک به اندازه تعداد ستون های ماتریس A درست می کنیم. سپس برای اینکه مجموع این اعداد برابر یک شود می توانیم هر یک از این اعداد را بر مجموع آن ها تقسیم کنیم تا مطمئن شویم که جمع آن ها برابر یک می شود. B=B/sum(B) نهایتأ ماتریس B را در سطر اول ماتریس A قرار می دهیم. A(1,:)=B (با تشكر از آقاي دكتر سامعي مدرس دوره متلب، بابت پاسخ به اين سوال)

پاسخ دادن 0 0

alireza

alireza

من دانشجوی ترم آخر کارشناسی، رشته مهندسی شیمی هستم به نظرتون نرم افزار متلب و باید یاد بگیرم؟

پاسخ دادن 0 0

پردیس نیکان

پردیس نیکان

با عرض سلام و احترام. نرم افزار متلب یک زبان برنامه نویسی است و تمام افرادی که در یکی از رشته های مهندسی مشغول به تحصیل هستند می بایست نهایتأ یک زبان برنامه نویسی یاد بگیرند. (البته اگر می خواهند ادامه تحصیل بدهند و به مدارج بالاتر تحصیلی دست یابند).

پاسخ دادن 0 0

حسین پاکزاد

حسین پاکزاد

با سلام و احترام. آیا امکان تولید ماتریس های چند بعدی در نرم افزار متلب وجود دارد؟؟ لطفا نحوه تولید ماتریس های مثلا 3 بعدی را نیز آموزش دهید. ممنون

پاسخ دادن 0 0

پردیس نیکان

پردیس نیکان

با عرض سلام و ادب. بله امکان وارد کردن و تولید ماتریس های چند بعدی در نرم افزار متلب وجود دارد. به این شکل که شما می توانید با وارد کردن مثلا دستور (Ones(3,2,4, یک ماتریس سه بعدی که تعداد 3 سطر و 2 ستون یک می باشد و در بعد سوم در 4 رده همان ماتریس 3 در 2 با درایه های یک تکرار شده است. با تعمیم همین موضوع به ماتریس های دیگر و اضافه کردن اعداد بیشتر می توان ماتریس های چند بعدی ساخت.

پاسخ دادن 0 0

زهره

زهره

با سلام ممنون بابت مطالب خوبتون. چطور می تونم یک ماتریسی داشته باشم که از حاصل ضرب درایه به درایه عناصر دو ماتریس دیگه بدست اومده باشد. از ضرب که استفاده می کنم ارور میدهد.

پاسخ دادن 0 0

پردیس نیکان

پردیس نیکان

سلام و درود. اگر می خواهید دو ماتریس را بصورت درایه به درایه در هم تقسیم، ضرب یا به توان برسونید می تونید از عمگر های به ترتیب نقطه تقسیم، نقطه ضرب و نقطه توان استفاده کنید ( /. ، *. و ^. ). در غیر اینصورت این عملیات بصورت ماتریسی انجام می شود که در صورت رعایت نکردن بُعد ماتریس ها نرم افزار به شما خطا می دهد.

پاسخ دادن 0 0

نظر شما

ایمیل شما نشر نخواهد شد.فیلد های ضروری با * نشانه گذاری شده است.

تصویر امنیتی

پیام شما بعد از بررسی نمایش داده خواهد شد

نظر خود را بنویسید

توسعه و طراحی بوسیله پافکو PAFCO