تبلیغات
برنامه نویسی متلب MATLAB - ایجاد بردار و ماتریس در متلب
برنامه نویسی متلب MATLAB
با MATLAB (متلب) هر کاری رو که بخواهید میتونید انجام بدید, هرکاری!

لینکدونی

آرشیو موضوعی

آرشیو

← آمار وبلاگ

  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :

ایجاد بردار و ماتریس در متلب

به نام خدا

یکی از پایه ای ترین مباحث برای کسی که می خواهد با متلب کار کند دونستن کار با ماتریس ها و بردار ها هستش.

در این پست می خوام نحوه ایجاد بردارها و ماتریس ها و توابع مخصوص به ماتریس ها رو بهتون آموزش بدم. امیدوارم که بپسندین!

 

نحوه ایجاد بردار:

راه اول: یک زمانی اعضای بردار رو خودتون دستی می خواهید وارد کنید. مثلا یه بردار سرعت دارید که اعضای اون 20 و 25 و 30 می باشد. برای این کار این اعداد را با یک فاصله و بین دو علامت [ ] قرار می دهید:

>>velocity=[20  25  30]

با این کار بردار سرعت با سایز 1x3 برای شما ایجاد می گردد.

همانطور که مشاهده کردید با این کار شما یک بردار سطری ایجاد کرده اید. می توانید به جای فاصله بین اعداد از “,”  هم استفاده کنید:

>>velocity=[20,25,30]

پس طریقه ایجاد یک بردار سطری زمانیکه درایه های اون بردار رو خودتون وارد می کنید را فرا گرفتیم.

حالا می خواهیم همین بردار را به صورت ستونی ایجاد کنیم. دو راه وجود داره:

1- از ترانهاده استفاده کنیم. علامت ترانهاده در متلب یک تک کوتیشن هستش:

>>v = [20  25  30]’

2- به جای گذاشتن فاصله یا “,” در بین اعداد از “;” استفاده کنیم:

>>v = [25;25;30]

با این کار بردار ستونی ایجاد می گردد.

 

راه دوم:

راه دوم، ایجاد یک بردار با فاصله مساوی بین درایه های اون می باشد. برای مثال می خواهیم برداری با درایه های 1و3و5و7و9و11 ایجاد کنیم. میبینیم که در این بردار عدد اول 1 و بقیه اعداد دو تا دوتا اضافه شده اند تا به عدد آخر یعنی 11 رسیده اند. متلب یک فرم مشخصی برای این گونه بردارها دارد:

m:q:n

این فرم نوشتن یعنی از عدد m تا عدد n ، q تا q‌ تا برو جلو. در واقع گام بردار q می باشد:

>>A=1:2:11

با دستور بالا بردار A با درایه ای 1و3و5و7و9و11 ایجاد می گردد. که یک بردار سطری می باشد.

در ایجاد بردار سطری گذاشتن [ ] نیازی نمی باشد.

اما اگر بخواهید به همین فرم یک بردار ستونی ایجاد کنید و باید ‌[ ] را گذاشته و علامت ترانهاده را نیز به کار ببرید:

>>B=[1:2:11]’

نکات:

1- اگر عدد گام را ننویسید مثل A=1:4 خود متلب گام را برابر با یک می گیرد.

2- اگر بخواهید از گام منفی استفاده کنید حتما باید m از n بزرگتر باشد: B=5:-2:0

3- در این حالت باید حواستان باشد که ممکن است عدد n جزو درایه های یک بردار نباشد چراکه همه چیز بسته به گام دارد. برای مثال در مثال زیر عدد 10 جزو درایه های بردار نخواهد بود:

>>C=1:2:10

 

راه سوم: استفاده از دستور linspace(m,n,q)

به کمک این دستور می توان برداری را بدین صورت ایجاد کرد که عدد اول آن بردار m و عدد آخر n خواهد بود و  بین این دو عدد تعداد q-2 عدد دیگر قرار دارد که متلب خود فاصله بین اعداد را مشخص خواهد کرد:

>>linspace(3,5,4)

ans =

       3.0000    3.6667    4.3333    5.0000

با این کار یک بردار سطری ایجاد می گردد. برای بردار ستونی نیز می توان از ترانهاد استفاده نمود:

>>linspace(3,5,4)’

نکته: متلب دستور دیگری به نام logspace هم دارد که کارش شبیه linspace است با این تفاوت که تقسیم بندی ها لگاریتمی می باشد.

 

اعمال بر روی بردارها:

1- برای انتخاب یک عضو از یک بردار باید جایگاه آن را به کار برد:

>>A=[-1  2  0  5]

>>A(3)

ans =

         0

اگر بخواهیم عضو اول تا سوم بردار A را نشان دهیم:

>>A(1:3)

اگر بخواهیم عضو دوم تا آخر بردار A را نشان دهیم:

>>A(2:end)

اگر بخواهیم عضوهای اول و دوم وچهارم از A را نشان دهیم:

>>A([1 2 4])

اگر بخواهیم عضو های اول و سوم از A را نشان دهیم:

>>A([1 3])

یا

>>A(1:2:3)

2- برای عوض کردن یک عضو یا چند عضو کافیست در برابر جایگاه آن مقدار جدید را وارد کنیم. مثلا می خواهیم عضو سوم از بردار A که صفر می باشد را برابر با 10 قرار دهیم:

>>A(3)=10

A=

    -1   2   10   5

حالا می خواهیم اعضای 1 تا 3 را عوض کنیم:

>>A(1:3)=[12  13  6]

A=

12  13  6  5

3- برای حذف یک یا چند عضو جایگاه آن را برابر با   [‌]  قرار می دهیم. مثلا می خواهیم عضد چهارم بردار A را حذف کنیم:

>>A(4)=[]

A=

     12  13  6

توجه کنید که با این کار سایز A هم 1x3 خواهد شد. برای حذف چندین عضو هم به همین ترتیب عمل می کنیم:

>>A(1:2)=[]

A=

     6

4- برای اضافه کردن هم می توانیم در برابر جایگاههای جدید مقادیر جدید را قرار دهیم. فرض کنید بردار B به صورت زیر باشد:

>>B=[1  2  5  -4]

حال می خواهیم به این بردار عضو پنجمی را با مقدار 9 اضافه کنیم:

>>B(5)=9

B=

    1  2  5  -4  9

توجه کنید که مثلا حالا می خواهید عضو نهمی با مقدار 3- به B اضافه کنید:

>>B(9)=-3

B=

     1  2  5  -4  9  0  0   0  -3

چون برای جایگاههای ششم و هفتم و هشتم مقداری داده نشد خود متلب آنها را برابر صفر در نظر میگیرد.

5- چسباندن دو بردار به یکدیگر. فرض کنید دو بردار  A و B را داریم و می خواهیم با کنار هم قرار دادن آنها بردار C را ایجاد کنیم:

اگر A و B سطری باشند:

>>C=[A B]

اگر A و B‌ ستونی باشند:

>>C=[A;B]

 

نحوه ایجاد ماتریس:

فرض کنید که می خواهیم ماتریس زیر را ایجاد کنیم:

           1200  5.0  0.25   1.1

data = 1400  4.1  0.23   0.8

           1500  3.2  0.22   0.3

کافی است سطر به سطر اعداد را بنویسیم و برای رفتن به سطر بعد از یک سمیکالون استفاده کنیم. می توانید برای ایجاد سطرها در بین اعداد از فاصله یا کاما استفاده کنید:

>>data = [1200  5.0  0.25  1.1;1400  4.1  0.23  0.8;1500  3.2  0.22 0.3]

اعمال بر ماتریس ها:

1- برای انتخاب یک عضو از ماتریس باید جایگاه سطر و ستون آنرا به ترتیب اول سطر و دوم ستون مشخص کنید. برای مقال برای انتخاب عدد 1400 باید بنویسیم:

>>data(2,1)

برای انتخاب مثلا دو عدد 4.1 و 0.23 باید بنویسیم:

>>data(2,2:3)

برای انتخاب همه اعضای ستون دوم باید یکی از حالتهای زیر را بنویسیم:

>>data(1:3,2) = data(1:end,2) = data(:,2)

2- برای عوض کردن اعضا باید سطر و ستون را مشخص کرده و برابر اعداد جایگزین نمائیم.

برای عوض کردن عدد سطر سوم و ستون چهارم با عدد 10:

>>data(3,4)=10

برای عوض کردن اعداد سطر سوم:

>>data(3,:)=[1 2 3 4]

برای عوض کردن اعضای ستون اول:

>>data(:,1)=[4;5;6]

3- برای حذف اعضا: دقت کنید که در حذف فقط می توانید یک سطر و یا سا ستون را کلا حذف کنید چراکه در غیر اینصورت حالت ماتریسی به هم خواهد خورد. برای حذف ستون سوم:

>>data(1:3,3)=[]

4- برای اضافه کردن اعضا: اضافه کردن هم می تواند به صورت سری یا ستونی باشد:

>>data(:,5)=[6;7;8]

>>data(4,:)=[1 0 -1 2]

>>data(6,6)=9

در عبارت آخر عوض سطر 6  و ستون 6 برابر با 9 قرار میگیرد و دیگر اعضا جدید برابر صفر خواهند شد.

امیدوارم که مطالب این پست هم به کارتون اومده باشه و براتون مفید بوده باشه. منتظر نظراتتون هستم.

ال مو یا

 

 

مهشاد
یکشنبه 3 دی 1391
kheyyyyyyyyyyyyyyli mamnun
fateme
جمعه 26 آبان 1391
salam age mitonid mano rahnemaee konin mikham beine har 2sotone matris ye sotone jadid ezafe konam ke jame sotono ghablo baedesh bashe va matrisam bozorge
الهه
شنبه 6 خرداد 1391
ممنون . مطالب مفیدی بود.
محمود
شنبه 12 آذر 1390
ممنونم از مطالب مفیدت
پاسخ Elmoya : سپاسگذار
آتربا
جمعه 29 مهر 1390
واقها ممنون
عالی بود.
کاش درمورد تبدبل فوربه هم مطلب مبزاشتید.
پاسخ Elmoya : سلام. ممنون. ان شاء الله در آینده.
چهارشنبه 22 تیر 1390
با سلام
ببخشید من تو برنامه ام یه سری عدد دادم حالا میخوام به صورت یه ماتریس بهم بده از حلقه forچطوری استفاده کنم
که اگه من بعد مساله ام زیاد کردم باز ماتریس رو بهم بده؟؟
خواهش میکنم کمکم کنید نیاز فوری دارم
با تشکر
پاسخ Elmoya : سلام. سوالتون نامفهومه. اگرکه خواستید ایمیل بزنید تا در صورت امکان راهنماییتون کنم. موفق باشید.
پنجشنبه 5 خرداد 1390
salam mitonid ba barname matlab ye barname baram benevisid ke varone matris ra chap konad khaily foriye khaheshan komakam konid
email:www.sahar44_20@yahoo.com
پاسخ Elmoya : سلام. ایمیل بزنید.
بابک
پنجشنبه 15 اردیبهشت 1390
آقا دستت درد نکند. استفاده کردیم
پاسخ Elmoya : خواهش می کنم.
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر

درباره وبلاگ

مدیر وبلاگ : Elmoya

آخرین پست ها

جستجو

نظرسنجی

  • مطالب این وبلاگ را چگونه یافتید؟



نویسندگان