آموزش نرم افزار متلب برای رشته برق – ایجاد بردارها( بخش دوم)
دراین پست رفتار بردارهای متلب سایت سیم پاور را بیشتر مورد بررسی قرار می دهیم . بخش اول این مبحث را می توانید از ایجاد بردارها ( بخش اول) مطالعه نمایید.
ایجاد بردارها
حال رفتار بردارهای متلب سایت سیم پاور را بیشتر مورد بررسی قرار می دهیم. عبارت زیر را در نظر بگیرید:
این به این معنی است که برداری به نام b که دارای یک سطر و n ستون است، ایجاد شده است. برای تعیین مقدار b3 می توان در پنجره فرمان عبارت b(3) را نوشت و Enter کرد. به هر صورت مترجم متلب سایت سیم پاور تشخیص می دهد که b یک ماتریس (1⨯n) است و بنابراین نیازی به دو زیرنویس برای بیان یک عضو نیست. نوشتن b(3) در این مورد که b یک بردار مانند بالا باشد، با نوشتن b(1,3) یکسان است.
اگر در جایی به طور مستقیم b(1,3) قید شود، آنگاه پیام خطایی مشاهده می شود، زیرا این سطر ( سطر سوم) مشخص نشده است( ایجاد نشده است).
از طرف دیگر اگر عبارت زیر نوشته شود:
…. بردار ستونی یا ماتریس (n⨯1) ایجاد می شود. برای تعیین عضو سوم این بردار می توان دوباره b(3) را نوشت و متلب سایت سیم پاور مقدار عددی برابر b3 را برمیگرداند و این با نوشتن b(3,1) یکسان است. اگر بطور مستقیم b(3,1) نوشته شود، پیغام خطایی مشاهده می شود. زیرا این ستون (ستون سوم) تعیین نشده است (ایجاد نشده است).
مقدار x با هفت مقدار [-2, 1, 3, 5, 7, 9, 10] را می توان به طریق مختلف ایجاد کرد:
x=[-2 1:2: 10]<<
x=[-2, 1, 3, 5, 7, 9, 10] <<
به این معنی که اعضای این بردار عبارتند از: x1=-2 ، x2=1،x3=3،x4=5،x5=7،x6=9،x7=10 و length(x)=7 است. در واقع به اعضای بردار x با عبارت x(j) که j=1, 2,…,7 می باشد دسترسی خواهید داشت. به طور مثال، عبارت x(5) مقدار 7 را برمی گرداند.
جمع و تفریق یک عدد با بردار
هنگامی که یک عدد از بردار کم یا به بردار اضافه شود، مقدار عدد از هریک از اعضای بردار کم یا با آنها جمع میشود.
بنابراین:
z=x-1 <<
نتیجه می دهد: z=[-3 0 2 4 6 8 9] .
ضرب، تقسیم و توان
به هر حال، قواعد ضرب، تقسیم و توان محدودیت هایی دارد.می توان تنها برخی از اعضای بردار را تغییر داد. برای مثال بردار زیر را در نظر بگیرید:
z=[-2 1 3 5 7 9 10] <<
برای تقسیم دومین عضو بر 2 می توان نوشت:
z(2)=z(2)/2 <<
پس نتیجه میدهد: z=[-2 0.5 3 5 7 9 10] ، برای ضرب سومین و چهارمین عضو در 3 و تفریق از 1 می توان نوشت:
; z=[-2 0.5 3 5 7 9 10]<<
; z(2)=z(2)/2 <<
z(3:4)=z(3:4)*3-1 <<
که z=[-2 0.5 3 5 7 9 10] را نتیجه میدهد. توجه کنید که بقیه اعضا بدون تغییر باقی می مانند.
در اینجا راه های گوناگونی برای دسترسی به یک عضو بردار وجود دارد. در زیر یک بردار 8 عضوی را ملاحظه می کنید.
; y=[-1 6 15 -7 31 2 -4 -5] <<
برای ایجاد بردار x متشکل از سومین تا پنجمین عضو بردار y می توان نوشت:
;x=y(3:5) <<
که بردار سه عضوی x=[15 -7 31]را ایجاد می کند.
برای ایجاد بردار x متشکل از دوعضو اول و دو عضو آخر بردار y می توان نوشت :
;x=[y(1) y(2) y(7) y(8)]<<
;x=y([1 2 7 8])<<
همچنین همانگونه که در سایت سیم پاور توضیح دادم می توان اول بردار را تعیین کرد و بعد اعضا را به شکل زیر وارد نمود:
; Index= [1 2 7 8]<<
;x=y(index)<<
…. عبارت آخر کاربردهای مفید فراوانی دارند. اگر بردارهای z و y مطابق زیر دارای ۸ عضو باشند:
; y= [-1 6 15 -7 31 2 -4 -5]<<
; z= [10 20 30 40 50 60 70 80]<<
برای مرتب کردن بردار y به صورت صعودی (از منفی به مثبت) و مرتب کردن مجدد بردار z بر اساس مرتبه جدید بردار y میتوان از تابع sort استفاده کرد.
شکل تابع sort به صورت زیر می باشد:
[ynew,indx]=sort(y) <<
در اینجا ynew برداری با اعضای مرتب شده y و indx یک بردار شامل موقعیتهای اولیه اعضای y است.
; y=[-1 6 15 -7 31 2 -4 -5] <<
;z= [10 20 30 40 50 60 70 80] <<
[ynew,indx]=sort(y) <<
znew=z(index) <<
…. از اجرا نتایج زیر حاصل می شود:
ynew→[-7 -5 -4 -1 2 6 15 31]
indx→[4 8 7 1 6 2 3]
znew→[40 80 70 10 60 20 30 50]
استفاده از تابع fine
بنابراین indx(1)=4 یعنی این که ynew(1) با y(4) تعویض شده است. همچنین همانگونه که در سایت سیم پاور توضیح دادم برای به دست آوردن z به سادگی znew را مانند بردار z تعیین می کنیم که شناسه های آن نیز با indx داده میشود.
این قابلیت به وسیله معرفی تابع fine گسترش پیدا می کند که موقعیت ( نه مقدار) همه اعضای یک بردار (یا ماتریس) را تعیین می کند. کاربرد این مورد با ایجاد یک بردار جدید s که شامل تنها اعضای y که منفی یا صفر هستند، نشان داده میشود. عملگر نسبتی => در متلب سایت سیم پاور نشان دهنده علامت ≤ میباشد. پس
; y= [-1 6 15 -7 31 2 -4 -5] <<
indx=find(y<=0) <<
indxx = 1 4 7 8
بنابراین
; y= [-1 6 15 -7 31 2 -4 -5] <<
indx=find(y<=0) <<
s=y(indxx) -1 -7 -4 -5
این عبارت می تواند به صورت زیر نوشته شود:
; y= [-1 6 15 -7 31 2 -4 -5] <<
s=y(find(y<=0))<<
فواید ماتریس و بردارها
یکی از فواید ماتریس و بردارها در متلب سایت سیم پاور این است که راه کوتاهی را برای اجرای مجموعه ای از عملیات روی مقادیر آرایه ای برای کاربر فراهم می کند. به طور مثال فرض کنید که بخواهیم مقدار sin(x) را وقتی که x شامل مقادیری از بازه -π≤x≤π که با فواصل π/5 از یکدیگر قرار دارند باشد، تعیین کنیم. آنگاه خواهیم داشت:
این بردار دارای n=length(y)=11 عضو می باشد.
برای دانلود این آموزش به صورت پی دی اف بر روی لینک زیر کلیک کنید.