جستجو برای:
سبد خرید 0
  • دوره های آموزشی
    • آموزش سالیدورک
    • آموزش کتیا
  • بلاگ
  • آموزش متلب
  • آموزش نرم افزار کتیا
 

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت
  • support@faracad.ir
perm_identity
سبد خرید 0
  • تماس با ما
0
فراکد|مرجع تخصصی آموزش نرم افزارهای مهندسی مکانیک
  • دوره های آموزشی
    • آموزش سالیدورک
    • آموزش کتیا
  • بلاگ
  • آموزش متلب
  • آموزش نرم افزار کتیا
ورود و ثبت نام

وبلاگ

فراکد|مرجع تخصصی آموزش نرم افزارهای مهندسی مکانیک بلاگ آموزش متلب به صورت رایگان | آموزش متلب از صفر تا صد آموزش آرایه و ماتریس در متلب به همراه مثال (قسمت چهارم)

آموزش آرایه و ماتریس در متلب به همراه مثال (قسمت چهارم)

access_time1398/01/10
perm_identity ارسال شده توسط فرهاد حمیدی
folder_open آموزش متلب به صورت رایگان | آموزش متلب از صفر تا صد ، دسته‌بندی نشده
visibility 1.27k بازدید
آموزش ماتریس در متلب

آرایه و ماتریس در متلب

امروز در سری جلسات آموزش متلب با آموزش آرایه و ماتریس در متلب با شما هستیم.

آرایه ها در متلب

آرایه، لیستی از اعداد مرتب شده در سطرها (و/یا) ستونها است. آرایه ی یک بعدی، یک سطر یا ستون از اعداد است و آرایه ی دو بعدی مجموعه ای از اعداد در سطر و ستون (ماتریس) است. عملیات آرایه ای به صورت عنصر به عنصر است.

بردار سطری

یک بردار، شامل یک سطر یا ستون از عناصر است. در بردار سطری عناصر با کاما و یا فضای خالی (space) بين عناصر در داخل کروشه از یکدیگر تفکیک می شوند. به عنوان مثال:

[x = [7 -12 -5 8

[x = [7, -1,2,-5,8

هر دو، یک بردار سطری ایجاد می کنند.

ایجاد بردار به کمک توابع موجود در MATLAB

سه تابع معروف در MATLAB برای ایجاد بردار وجود دارد که به شرح زیر است:

تابعتوضیحات
x = a : b : cمقادیر بین a و b را با گام c ایجاد می کند.(دنباله حسابی)
(x=linspace(a,b,cمقادیر بین a و b را به c قسمت تقسیم می کند.(دنباله هندسی)
(x = logspace ( a , b ,c ایجاد آرایه ی لگاریتمی باساختاری همچون linspace

به عبارت زیر دقت کنید:

MATLAB
1
x=pi* (0:0.1:1)

MATLAB
1
2
3
4
5
6
7
8
9
x =
 
  Columns 1 through 8
 
         0    0.3142    0.6283    0.9425    1.2566    1.5708    1.8850    2.1991
 
  Columns 9 through 11
 
    2.5133    2.8274    3.1416

مقادیر بین 0 و 1 را با گام 0.1 را در عدد Π ضرب کرده و نمایش می دهد.

MATLAB
1
x=linspace (0,pi ,11)

MATLAB
1
x=linspace (0,pi ,11)

MATLAB
1
2
3
4
5
6
7
8
9
x =
 
  Columns 1 through 8
 
         0    0.3142    0.6283    0.9425    1.2566    1.5708    1.8850    2.1991
 
  Columns 9 through 11
 
    2.5133    2.8274    3.1416

این دستور فاصله ی بین 0 تا Π را به ۱۱ قسمت مساوی تقسیم می کند.

• در حالت اول که از دو نقطه استفاده کرده ایم، تعداد داده هارا نمی توان مشخص کرد.

• در حالت دوم که از دستور linspace استفاده شده است، مقدار گام(نمو) مشخص نیست ولی تعداد تقسیماتمشخص است.

برای ایجاد آرایه های لگاریتمی از دستور logspace استفاده می شود:

MATLAB
1
x = logspace(0,2,3)

MATLAB
1
2
3
x =
 
     1    10   100

عملکرد دستور logspace را می توان به دو دسته تقسیم کرد:

  • بخش اول linspace
  • خروجی حالت قبل را به عنوان توان برای ۱۰ استفاده می کنیم

بردار ستونی

در بردار ستونی عناصر با سميكالن، بين عناصر در داخل کروشه از یکدیگر تفکیک می شوند. به عنوان مثال:

MATLAB
1
x=[7; -1;2 ;5 ;8]

MATLAB
1
2
3
4
5
6
7
x =
 
     7
    -1
     2
     5
     8

توابع بیان شده در بخش بردارهای سطری نیز با ترانهاده کردن آنها (‘) در بردارهای ستونی قابل استفاده هستند.

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

ماتریس آرایه ای دوبعدی از اعداد در سطر و ستون است. ماتریس از یک سری سطر متوالی که عناصر سطرها با کاما و یا فضای خالی و سطر بعدی با سميكالن از سطر قبلی جداشده است، تشکیل یافته است. ماتریس محصور در داخل یک جفت کروشه است. عناصر ماتریس ممکن است اعداد حقیقی یا اعداد مختلط باشند. به عنوان مثال جهت تشکیل ماتریس زیر با استفاده ازMATLAB :

آرایه و ماتریس در متلبدستور ورودی MATLAB:

MATLAB
1
A = [1 3 -4 ;0 -2 8]

MATLAB
1
2
3
4
A =
 
     1     3    -4
     0    -2     8

به همین ترتیب برای عناصر مختلط ماتریس B داریم:

آدرس دهی آرایه ها

عموما دو نوع آدرس دهی در MATLAB مرسوم است. آدرس دهی به صورت سطر و ستون و دیگری آدرس دهی تک رقمی. به تصویر زیر دقت کنید:

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

شکل بالا همچون یک ماتریس ۳ در ۳ است که هر یک از جایگاه های موجود در این ماتریس به دو طریق آدرسی شده است. دو نوع شیوهی آدرس دهی بیان شده را در مثال های زیر می توانید مشاهده کنید:

MATLAB
1
a=[1 2 1;4 5 3;2 8 7]

MATLAB
1
2
3
4
5
a =
 
     1     2     1
     4     5     3
     2     8     7

MATLAB
1
a(3)

MATLAB
1
2
3
ans =
 
     2

MATLAB
1
a(3,1)

MATLAB
1
a(3,1)

MATLAB
1
2
3
ans =
 
     2

علامت دونقطه (:) می تواند در MATLAB به آدرس دهی طیف وسیعی از عناصر در یک بردار و یا ماتریس مورداستفاده قرار گیرد.

علامت دونقطه برای بردارها

(:)v به تمام عناصر بردارV (چه بردار سطری و چه ستونی) اشاره دارد.

( V( m : n  به المانهای m تا n ام بردار V اشاره دارد.

(V ( m : a : n به المانهای m تا n ام بردار V با گام a اشاره دارد.

MATLAB
1
v = [25 -1 11 8 4 7 -3 11]

MATLAB
1
2
3
v =
 
    25    -1    11     8     4     7    -3    11

MATLAB
1
u = v (2:8)

MATLAB
1
2
3
u =
 
    -1    11     8     4     7    -3    11

MATLAB
1
v(3:-1:1)

MATLAB
1
2
3
ans =
 
    11    -1    25

MATLAB
1
v(2:2:9)

MATLAB
1
2
3
ans =
 
    -1     8     7    11

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

MATLAB
1
v([7 2 6 1])

MATLAB
1
2
3
ans =
 
    -3    -1     7    25

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

جدول زیر استفاده از دو نقطه در آدرس دهی آرایه ها در یک ماتریس را نشان می دهد.

فرمانتوضیحات
(A(:,nبه تمام عناصر ستون n ام از ماتریس A اشارهدارد
(:,A(nبه تمام عناصر سطرn ام از ماتریس A اشارهدارد
(A(:,n:mبه تمام عناصر ستونmتاn ام از ماتریس A اشارهدارد
(:,A(m:nبه تمام عناصر سطرmتاn ام از ماتریس A اشارهدارد
(A(m:n,p:qبه تمام عناصر مشترک سطرهای mتاn ام وستون هایpتاq از ماتریس A اشارهدارد

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

هر متغير شامل یک بردار یا یک ماتریس با افزودن عناصر به سطر یا ستون های آن می تواند تغییر کند. با اضافه نمودن سطر و یا ستون به یک ماتریس و یا بردار می توان آرایهی جدیدی ایجاد نمود.

حذف المان ها

یک عنصر و یا مجموعه ای از عناصر ذخیره شده در یک متغیر را می توان حذف نمود. این کار خیلی ساده است، فقط کافی است جهت حذف یک عنصر در بردارها، آدرس عنصر موردنظر را معادل یک جفت کروشه خالی قرار داد و در مورد ماتریس ها، آدرس یک سطر و یا یک ستون را معادل یک جفت کروشه خالی قرار داد.

توجه: در ماتریس ها (آرایه دوبعدی)، یک عنصر خاص را نمی توان حذف کرد.
مثالتوضیحاتتابع

(ones(2

ایجاد یک ماتریس a در a که همه ی درایه های این ماتریس عدد یک هستند(ones(a
(ones(1,2ایجاد یک ماتریس a در b که همه ی درایه های این ماتریس عدد یک هستند(ones(a,b
(zeros(2ایجاد یک ماتریس a در a که همه ی درایه های این ماتریس عدد صفر هستند(zeros(a
(zeros(1,2ایجاد یک ماتریس a در b که همه ی درایه های این ماتریس عدد صفر هستند(zeros(a,b
(eye(2ایجاد یک ماتریس همانی a در a(eye(a
(eye(1,2ماتریس با وِیژگی همانی که مربعی نیست.(eye(a,2
randتولید یک عدد تصادفی بین صفر و یکrand
(rand(2ایجاد یک ماتریس a در a با اعداد تصادفی بین صفر و یک(rand(a
(rand(1,2ایجاد یک ماتریس a در b با اعداد تصادفی بین صفر و یک(rand(a,b
(randperm(5این دستور یک بردار سطری aعضوی با جایگشت 1 تا a ایجاد می کند(randperm(a
(randi([-5,5],10,1ایجاد یک ماتریس p در q با اعداد صحیح بین aوb(randi([a,b],p,q

تعدادی از توابع داخلی MATLAB برای مدیریت و تنظیم آرایه ها در جدول زیر آورده شده است

توضیحاتتابع
طول آرایه A را برمی گرداند(length(A
یک بردار شامل دو عنصور [m,n]را برمی گرداند که ابعاد ماتریس A هستند.(,size(A
این دستور برای چینش مجدد عناصر ماتریس A استفاده می شود،اگر A شامل rسطر و q ستون باشد ،این دستور A را به m سطر و n ستون تبدیل می کند.

توجه:عناصر r*s باید با m*nبرابر باشند.

(reshape(A,m,n
Vیک بردار است،این دستور یک ماتریس قطری ایجاد می کند که عناصر روی قطر اصلی آن عناصر بردار V باشند.(diag(V
اگر A ماتریس باشد ،این دستور یک بردار ستونی از عناصر روی قطر اصلی ماتریس A را می دهد.(diag(A

پیشنهاد مطالعه: عملیات روی ماتریس ها در متلب (قسمت پنجم)

برای رفتن به لیست آموزش های متلب روی دکمه زیر کلیک کنید

آموزش متلب
به این آموزش امتیاز دهید
در حال ارسال
نظرات کاربر
4 (10 رای)
اشتراک گذاری:
برچسب ها: آموزش ماتریس ها در متلبماتریس صفر در متلبماتریس همانی در متلب
درباره فرهاد حمیدی

مدیرسایت فراکد،دانشجوی رشته ی مهندسی مکانیک،علاقه مند به برنامه نویسی و طراحی صنعتی که دوست دارم تجربیاتم رو با دیگران به اشتراک بگذارم.

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

    454 بازدید

  • آموزش نصب pdms
    آموزش نصب pdms v12.1 به همراه فعالسازی به صورت قدم به قدم

    1.23k بازدید

  • آموزش نصب نرم افزار کی شات
    آموزش نصب کی شات (keyshot) به همراه فعالسازی نرم افزار کی شات

    1.22k بازدید

  • نرم افزارهای مهندسی مکانیک در لینوکس به همراه روش نصب

    1.18k بازدید

  • آموزش نصب کامسول
    آموزش نصب کامسول (Comsol) + ویدیو

    1.11k بازدید

جدید تر تابع های متلب به همراه معرفی تابع های پرکاربرد در متلب (قسمت سوم)
قدیمی تر آموزش نصب Solidcam 2019

16 دیدگاه

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

  • پیمان گفت:
    1399/09/19 در 9:47 ب.ظ

    چطور میتوان یک ماتریس ۳در۳ را با یک ماتریس۲در۲ با ضمیمه کردن ادغام کرد؟

    پاسخ
    • فرهاد حمیدی گفت:
      1399/09/26 در 11:15 ق.ظ

      سلام،باید ابعاد دو ماتریس یکسان باشن یا تعدا ستون ها برابر [A;B]

  • علی گفت:
    1399/03/17 در 11:10 ب.ظ

    چطور میتونم یک چهارم بالا سمت چپ یک عکسو با بک چهارم پایین سمت راست جا ب جا کنم ؟؟

    پاسخ
    • فرهاد حمیدی گفت:
      1399/07/15 در 5:52 ب.ظ

      سلام،خیلی ساده هست یکم فکر کنید میتونید انجام بدید.

  • رحمت رحیمی گفت:
    1399/03/11 در 9:35 ب.ظ

    سلام
    برای جمع کردن یک به یک عناصر ماتریس با ماتریس دیگر چگونه عمل کنیم؟
    مثلا میخوام عناصر (A=(4,5,8,۲ یک به یک با عناصر (B=(3,7 جمع بشن.
    ممنون

    پاسخ
    • فرهاد حمیدی گفت:
      1399/04/10 در 6:40 ب.ظ

      سلام
      A + B

  • محمداحمدی گفت:
    1399/02/23 در 11:31 ق.ظ

    سلام چطورمیشه یه ماتریس ده در ده از متلب درخواست کرد

    پاسخ
    • فرهاد حمیدی گفت:
      1399/07/15 در 5:54 ب.ظ

      سلام،
      (10)randi

  • علی گفت:
    1399/02/22 در 0:02 ق.ظ

    سلام چجور یک برنامه بنویسم ک کار دستور diagرا انجام دهد

    پاسخ
    • فرهاد حمیدی گفت:
      1399/07/15 در 5:54 ب.ظ

      علیک سلام،متن زیر رو سرچ کنید
      diag code in matlab

  • ملیکا گفت:
    1399/01/19 در 2:10 ق.ظ

    سلام چطور میتونم یک فایل ماتریس را در متلب لود کنم؟

    پاسخ
    • فرهاد حمیدی گفت:
      1399/01/22 در 1:31 ق.ظ

      علیک سلام
      load('handel.mat','y')
      بجای handel اسم فایل و به جای y اسم ماتریش رو بنویس

  • میلاد گفت:
    1398/06/28 در 12:56 ب.ظ

    سلام چطور میتونم به متلب دستوری بدم که این کار رو انجام بده:, مقادیر بزرگتر از یک عدد مثلاً ۴۰ رو از بردار جدا کرده و در یک بردار دیگه ذخیره کنه
    ممنون

    پاسخ
    • فرهاد حمیدی گفت:
      1399/01/12 در 1:39 ق.ظ

      سلام،اگر نام ماتریس A باشه اینطور میشه
      (B = find(A>40

    • حامد گفت:
      1399/07/27 در 5:01 ب.ظ

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

    • فرهاد حمیدی گفت:
      1399/09/26 در 11:25 ق.ظ

      علیک سلام،متوجه منظورتون نشدم

دیدگاهتان را بنویسید لغو پاسخ

*

code

جستجو برای:
  • محبوب
  • جدید
  • دیدگاه ها
قبلی بعدی
دسته‌ها
محصولات
  • دوره آموزش نرم افزار کتیا
    دوره آموزش کتیا | لطفا کتیا را حرفه ای یاد بگیرید
  • jet-engine-fan
    آموزش طراحی فن موتور جت در solidworks
  • Golf
    آموزش طراحی توپ Golf در Solidworks
درباره ما

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

  • phone_android
    09019803257
  • email
    support@faracad.ir
آخرین دیدگاه‌ها
  • فرهاد حمیدی در آموزش نصب Inventor 2019 به همراه فعالسازی
  • علی در آموزش نصب Inventor 2019 به همراه فعالسازی
  • فرهاد حمیدی در آموزش آرایه و ماتریس در متلب به همراه مثال (قسمت چهارم)
  • فرهاد حمیدی در آموزش نصب pdms v12.1 به همراه فعالسازی به صورت قدم به قدم
  • فرهاد حمیدی در آموزش نصب متلب 2018 به صورت قدم به قدم به همراه کرک متلب
تمامی حقوق برای سایت فراکد محفوظ می باشد.
keyboard_arrow_up