آموزش MATLAB برای مهندسان صنایع | (قسمت دوم)
آموزش MATLAB برای صنایع
به دومین قسمت آموزش MATLAB برای صنایع خوش آمدید. در این آموزش قصد داریم به بررسی موارد زیر بپردازیم :
- ماتریس در MATLAB
- ماتریسهای خاص
- تعریف ماتریس با استفاده ازماتریسهای تعریف شده و معلوم
- فراخوانی و مقدار دهی ماتریسها
- فراخوانی زیر ماتریس
- تبدیل اندیس ها
- دستور ()reshape
برای خواندن قسمت قبلی این آموزش کلیک کنید : آموزش متلب برای صنایع
ماتریس در MATLAB
در ادامه آموزش MATLAB برای صنایع اهمیت ماتریس در متلب از نامگذاری متلب که از MAtrix LABoratory گرفته شده است روشن است. اغلب متغیرها ماتریس هستند برای مثال یک عدد معمولی یک ماتریس ۱×۱ است آرایه های سطری و ستونی وضعیت مشابهی دارند یک سیگنال صحبت و یا یک عکس همه یک ماتریس هستند. یک رشته ی متنی یک ماتریس با عناصر کاراکتر است
تعریف ماتریس:
در تعریف ماتریس نکات زیر حائز اهمیت اند
- آغاز ماتریس با علامت براکت باز ]
- فاصله ی عناصر یک سطر با کاما و یا فاصله
- تفکیک ستون ها با سمی کالن
- پایان آرایه با علامت براکت بسته [
>> A=[1 2 3; 4 5 6] A = ۱ ۲ ۳ ۴ ۵ ۶ >> A=[1 2 6 -8; 1 -3 5 4;4 5 5 6] A = ۱ ۲ ۶ -۸ ۱ -۳ ۵ ۴
بنابراین آرایه ی سطری را نیز می توان بصورت زیر تعریف کرد:
>> A=[1;2;3;4] A = ۱ ۲ ۳ ۴
ماتریس ها را می توانیم بصورت عنصر به عنصر نیز تعریف کنیم این موضوع را با یک مثال توضیح می دهیم.
>>A(1,1)=1;A(1,2)=2;A(2,1)=3;A(2,2)=4; >>A A نمایش A = ۱ ۲ ۳ ۴
هرگاه تعدادی از عناصر ماتریس را تعریف نشده رها کنیم این عناصر خودبخود صفر تعریف می شوند.
>>B(1,1)=2;B(2,1)=5;B(2,4)=8; >>B B = ۲ ۰ ۰ ۰ ۵ ۰ ۰ ۸
ماتریسهای خاص
در ادامه آموزش MATLAB برای صنایع این مبحث کاملا مشابه مبحث آرایه های سطری است با این تفاوت که بجای عدد ۱ نشانگر تعداد سطر در توابع یاد شده است (…,()ones(),zeros(),rand) عدد دلخواه m را می گذاریم لذا یک ماتریس m×n خواهیم داشت.
>> ones(3,6) ans = ۱ ۱ ۱ ۱ ۱ ۱ ۱ ۱ ۱ ۱ ۱ ۱ ۱ ۱ ۱ ۱ ۱ ۱ >> rand(2,4) ans = ۰.۶۲۲۱ ۰.۵۱۳۲ ۰.۰۷۶۰ ۰.۱۲۳۳ ۰.۳۵۱۰ ۰.۴۰۱۸ ۰.۲۳۹۹ ۰.۱۸۳۹
(eye(n: (ماتریس یکه ی واحد) ز این تابع برای ساختن ماتریس n×n با عناصر قطر اصلی ۱ استفاده می شود.
>> eye(3) ans = ۱ ۰ ۰ ۰ ۱ ۰ ۰ ۰ ۱
(magic(n: دسته ماتریس های تعریف شده ی دیگری که در کتاب ها و مثال های help متلب دیده می شوند ماتریس های جادویی می باشند که یک ماتریس n×n بوده و عناصر آن اعداد ۱ تا n2 می باشند که به ترتیبی در ماتریس چیده می شوند که جمع همه ی سطرها و همچنین همه ی ستون ها یکسان باشد، این ماتریس ها بصورت (magic(n در متلب قابل فراخوانی هستند و اغلب در مثالها برای این منظور که زحمت تعریف یک ماتریس را به خود ندهیم از آنها استفاده می کنیم.
>> magic(3) جمع همه عناصر هر یک از سطرها و همچنین ستونها در اینجا ۱۵ است ans = ۸ ۱ ۶ ۳ ۵ ۷ ۴ ۹ ۲
>> magic(4) جمع همه عناصر هر یک از سطرها و همچنین ستونها در اینجا ۳۴ است ans = ۱۶ ۲ ۳ ۱۳ ۵ ۱۱ ۱۰ ۸ ۹ ۷ ۶ ۱۲ ۴ ۱۴ ۱۵ ۱
تعریف ماتریس با استفاده ازماتریسهای تعریف شده و معلوم
در تعریف آرایه ها و یا ماتریس ها می توانیم از آرایه ها و یا ماتریس های تعریف شده استفاده کنیم مثالهای زیر موضوع را روشن تر می کند.
>> a=1:4 ; >> b=[2 6]; >> c=[1 2 a b]; >> A=[a ; a ; 1 6 8 9] A = ۱ ۲ ۳ ۴ a ۱ ۲ ۳ ۴ a ۱ ۶ ۸ ۹ >> D=[A,A,A] D = ۱ ۲ ۳ ۴ ۱ ۲ ۳ ۴ ۱ ۲ ۳ ۴ ۱ ۲ ۳ ۴ ۱ ۲ ۳ ۴ ۱ ۲ ۳ ۴ ۱ ۶ ۸ ۹ ۱ ۶ ۸ ۹ ۱ ۶ ۸ ۹ ------- A ----- ----- A ----- ------ A --- >>G=[A ; A] G = ۱ ۲ ۳ ۴ | ۱ ۲ ۳ ۴ A ۱ ۶ ۸ ۹ | ۱ ۲ ۳ ۴ | ۱ ۲ ۳ ۴ A ۱ ۶ ۸ ۹ | >>H=[A A A ; A A A] H = ۱ ۲ ۳ ۴ ۱ ۲ ۳ ۴ ۱ ۲ ۳ ۴ ۱ ۲ ۳ ۴ ۱ ۲ ۳ ۴ ۱ ۲ ۳ ۴ ۱ ۶ ۸ ۹ ۱ ۶ ۸ ۹ ۱ ۶ ۸ ۹ ۱ ۲ ۳ ۴ ۱ ۲ ۳ ۴ ۱ ۲ ۳ ۴ ۱ ۲ ۳ ۴ ۱ ۲ ۳ ۴ ۱ ۲ ۳ ۴ ۱ ۶ ۸ ۹ ۱ ۶ ۸ ۹ ۱ ۶ ۸ ۹
(cat(dim,A,B: این دستور کاری مشابه در عبارت های بالا نوشتیم انجام می دهد بدین صورت که (cat(1,A,B ماتریسهای A و B را بصورت ستونی کنار هم قرار می دهد و (cat(2,A,B ماتریسهای A و B را بصورت سطری در کنار هم قرار می دهد [cat(1,A,B)≡[A;B و [cat(2,A,B)≡[A,B
(repmat(A,n,m: نتیجه معادل ماتریس (ones(n , m با عناصر A بجای عناصر یک است از این دستور بمنظور تکرار یک آرایه و یا ماتریس به تعداد دلخواه استفاده می کنیم که برای مثال در ایجاد قطار پالس کاربرد دارد (تکرار یک پالس به تعداد nبار (repmat(c,1,n)
برای مثال (repmat(A,2,3 بصورت زیر است:
- (repmat(A,2,3)= (A A A
(A A A)
- (repmat(A,1,4)≡(A A A A
>> c=[1 4 2]; >> repmat(c,2,3) ans = ۱ ۴ ۲ ۱ ۴ ۲ ۱ ۴ ۲ ۱ ۴ ۲ ۱ ۴ ۲ ۱ ۴ ۲
فراخوانی و مقدار دهی ماتریسها
>>B=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16] B = ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ >>B(1,1) ans = ۱ >>B(2,3) ans = ۷ >>B(3,end) سطر ۳ ستون آخر ans = ۱۲ >>B(end,end) سطر آخر ستون آخر ans = ۱۶ >>B(end,end-2) ans = ۱۴ >>B(1:3,end) سطر ۱ تا ۳ ستون آخر ans = ۴۸ ۱۲ >>B(3,2:4) سطر ۳ ستون ۲تا ۴ ans = ۱۰ ۱۱ ۱۲ >>B(2,[2 3]) سطر ۲ ستون ۲و ۳ ans = ۶ ۷ >>B(2,1:end) سطر ۲ ستون ۱ تا آخر ans = ۵ ۶ ۷ ۸ >>B(2,:) سطر ۲ ستون همه سطر ۲ ans = ۵ ۶ ۷ ۸ >>B(1,:) سطر ۱ ans = ۱ ۲ ۳ ۴ >>B(:,3) ستون ۳ ans = ۳۷ ۱۱ ۱۵ >>B(:,2) ستون ۲ ans = ۲۶ ۱۰ ۱۴ >>B(1:2,:) سطر ۱تا ۲ ans = ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ >>B([3 2],:) سطر ۲و ۳ ans = ۹ ۱۰ ۱۱ ۱۲ ۵ ۶ ۷ ۸ >>B(:,[2 3]) ستون ۲و ۳ ans = ۲ ۳ ۶ ۷ ۱۰ ۱۱ ۱۴ ۱۵ >> B(2,4)=300 B = ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۳۰۰ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ >> B(2,:)=[100 100 100 100] مقداردهی یک سطر B = ۱ ۲ ۳ ۴ ۱۰۰ ۱۰۰ ۱۰۰ ۱۰۰ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ >> c=[50 50 80 80]; >> B(2,:)=c B = ۱ ۲ ۳ ۴ ۵۰ ۵۰ ۸۰ ۸۰ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ >> B(:,2)=[4;4;4;4] B = ۱ ۴ ۳ ۴ ۵۰ ۴ ۸۰ ۸۰ ۹ ۴ ۱۱ ۱۲ ۱۳ ۴ ۱۵ ۱۶ >> B(:,2)=250 همهی عناصر ستون ۲ برابر ۲۵۰ B = ۱ ۲۵۰ ۳ ۴ ۵۰ ۲۵۰ ۸۰ ۸۰ ۹ ۲۵۰ ۱۱ ۱۲ ۱۳ ۲۵۰ ۱۵ ۱۶
در ادامه آموزش MATLAB برای صنایع برای توضیحی در مورد فراخوانی سطرها و یا ستون های یک ماتریس توجه کنید که عبارتی مثل (:,A(1 شماره ی سطر را قید می کند و ستون را آزاد می گذارد یعنی شماره سطر یک و شماره ستون همه یا بعبارت دیگر همان سطر ۱ و یا عبارتی مثل (A(:,3 ستون را قید کرده است و سطر آزاد است که بمعنای ستون ۳ است، عبارتی مثل (:,[A([2 3 سطرهای دو و سه را مشخص می کند.
فراخوانی زیر ماتریس
>> B=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16] B = ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ >> B([1 2],[3 4]) سطر ۱ ستون ۳و ۴ و سطر ۲ ستون ۳و ۴ ans = ۳ ۴ ۷ ۸ >> B([2 1],[2 4]) ans = ۶ ۸ ۲ ۴ >> B(:) نمایش ستونی ماتریس ستونها زیر هم چیده میشوند ans = ۱۵۹ ۱۳ ۲۶ ۱۰ ۱۴ ۳۷ ۱۱ ۱۵ ۴۸ ۱۲ ۱۶ >> B(1) فراخوانی تک اندیسی برای ماتریس ans = ۱ >> B(2) ans = ۵ >> B(7) ans = ۱۰
تبدیل اندیس ها
(i , j] = ind2sub( [m , n] , index]: تبدیل نمایش اندیسی به نمایش معمولی، سطر و ستونی برای یک ماتریس با ابعاد m×n
>> B=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16;17 18 19 20] B = ۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ ۱۸ ۱۹ ۲۰ >> B(3) ans = ۹ >> [i,j]=ind2sub(size(B),3) i = ۳ j = ۱ >> B(i,j) ans = ۹ >> B(10) ans = ۱۸ >> [i,j]=ind2sub(size(B),10) i = ۵ j = ۲ >> B(i,j) ans = ۱۸ >> B(8) ans = ۱۰ >> [i,j]=ind2sub(size(B),8) i = ۳ j = ۲ >> B(i,j) ans = ۱۰
دستور ()reshape
(reshape(A,n,m: ماتریس A را تبدیل به یک ماتریس n×m می کند برای این منظور تعداد عناصر A باید به تعداد n×m باشد در غیر این صورت با خطای متلب مواجه خواهیم شد.
>> C=[1 2;3 4] C = ۱ ۲ ۳ ۴ >> reshape(C,1,4) ans = ۱ ۳ ۲ ۴ >> D=[1 2 3;4 5 6] D = ۱ ۲ ۳ ۴ ۵ ۶ >> reshape(D,1,6) ans = ۱ ۴ ۲ ۵ ۳ ۶ ترتیب عناصر ستونهای ماتریس اصلی است :عنصر اول ستون اول عنصر دوم ستون اول ... عنصر اول ستون دوم >> B=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16]; >> reshape(B,1,16) ans = ۱ ۵ ۹ ۱۳ ۲ ۶ ۱۰ ۱۴ ۳ ۷ ۱۱ ۱۵ ۴ ۸ ۱۲ ۱۶ >> reshape(B,2,8) ans = ۱ ۹ ۲ ۱۰ ۳ ۱۱ ۴ ۱۲ ۵ ۱۳ ۶ ۱۴ ۷ ۱۵ ۸ ۱۶ عناصر بترتیب در ستونها چیده میشوند >> reshape(B,3,4) ??? Error using ==> reshape To RESHAPE the number of elements must not change. ۳ نمیخواند ×۴= ۴)با ۱۲ ×۴=۱۶)B تعداد عناصر ماتریس >> reshape(B,8,2) ans = ۱ ۳ ۵ ۷ ۹ ۱۱ ۱۳ ۱۵ ۲ ۴ ۶ ۸ ۱۰ ۱۲ ۱۴ ۱۶
[av_hr class=’custom’ height=’50’ shadow=’no-shadow’ position=’center’ custom_border=’av-border-fat’ custom_width=’50px’ custom_border_color=” custom_margin_top=’30px’ custom_margin_bottom=’30px’ icon_select=’yes’ custom_icon_color=’#f6b93b’ icon=’ue80c’ font=’entypo-fontello’ av_uid=’av-384ph5′ custom_class=” admin_preview_bg=”]
کاربرد متلب در مهندسی صنایع(آموزش ویدیویی)
[av_image_hotspot src=’https://sanayesoft.com/blog/wp-content/uploads/2019/08/matlab_software_sanayesoft-495×400.jpg’ attachment=’5528′ attachment_size=’portfolio’ animation=’fade-in’ hotspot_layout=’numbered’ hotspot_tooltip_display=’av-permanent-tooltip’ av_uid=’av-3okwzj’ custom_class=”] [av_image_spot tooltip_pos=’av-tt-pos-above av-tt-align-left’ tooltip_width=’av-tt-default-width’ tooltip_style=’main_color’ link=’product,4337′ link_target=’_blank’ hotspot_color=” custom_bg=’#ffffff’ custom_font=’#888888′ custom_pulse=’#ffffff’ hotspot_pos=” av_uid=’av-2lgqjj’] کلیک کنید.
[/av_image_spot] [/av_image_hotspot]
امیدواریم از این مطلب در سایت صنایع سافت که درباره آموزش MATLAB برای صنایع بود، لذت برده باشید.نظرات خودتون رو واسه ما کامنت بزارین تا ما بتونیم هر چه بیشتر از اونها واسه بهتر شدنه تیممون استفاده کنیم.
[av_hr class=’custom’ height=’50’ shadow=’no-shadow’ position=’center’ custom_border=’av-border-fat’ custom_width=’50px’ custom_border_color=” custom_margin_top=’30px’ custom_margin_bottom=’30px’ icon_select=’yes’ custom_icon_color=’#f6b93b’ icon=’ue80c’ font=’entypo-fontello’ av_uid=’av-384ph5′ custom_class=” admin_preview_bg=”][av_notification title=” icon_select=’no’ icon=’ue800′ font=’entypo-fontello’ color=’custom’ border=” custom_bg=’#34495e’ custom_font=’#ffffff’ size=’large’ close_btn=” cookie_lifetime=’نامکاربری نمیتواند بیشتر از ۶۰ حرف باشد.’ av_uid=’av-2prgta’ admin_preview_bg=”]
حتما شما هم علاقه مندید مثله بقیه مهندسان صنایع از مقاله های جدید ما باخبر بشین، خب فقط کافیه ایمیلتونو داخل فرم زیر وارد کنید و دکمه ارسال رو بزنید. به همین راحتی 🙂
[/av_notification]
[av_testimonials style=’grid’ columns=’1′ grid_style=” interval=’5′ font_color=” custom_title=” custom_content=” av_uid=’av-4ly8tv’ admin_preview_bg=”] [av_testimonial_single src=’4200′ name=’احمد جعفری’ subtitle=” link=’http://’ linktext=” av_uid=’av-1vkktv’] کارشناسی رشته مهندسی صنایع، فعال در حوزه دیجیتال مارکتینگ و علاقه مند به استارت اپ ها
هدفم اینه که بازار کار رشته صنایع رو برای فعالین این حوزه شفاف تر کنم.
[/av_testimonial_single] [/av_testimonials] [av_hr class=’custom’ height=’50’ shadow=’no-shadow’ position=’center’ custom_border=’av-border-fat’ custom_width=’50px’ custom_border_color=” custom_margin_top=’30px’ custom_margin_bottom=’30px’ icon_select=’yes’ custom_icon_color=’#f6b93b’ icon=’ue80c’ font=’entypo-fontello’ av_uid=’av-384ph5′ custom_class=” admin_preview_bg=”]
اگر این مقاله برای شما مفید بود برای دوستان خود هم به اشتراک بگذارید تا بقیه هم از این مطلب استفاده لازم را ببرند.