در ابتدا می توان بردار ساده ای با 9 عنصر ساخت.
a = [1 2 3 4 6 4 3 4 5]
a =
1 2 3 4 6 4 3 4
حالا می شود 2 را به هر یک از عناصر بردار اضافه و نتيجه را در یک بردار جدید ذخیره کنیم
b = a + 2
b =
3 4 5 6 8 6 5 6 7
یکی از زمینه های برتری مطلب محاسبه ماتريسی آن است ساختن یک ماتریس به سادگی ساختن یک بردار است با استفاده از سمیکالن می توان سطرهای یک ما تریس را جدا کرد .
A = [1 2 0;2 5 -1;4 10 -1]
A =
1 2 0
2 5 -1
4 10 -1
ما به سادگی می توانیم وارون(ترانهاده) ماتریس را بیابیم .
B = A'
B =
1 2 4
2 5 10
0 -1 -1
حال می توان این دو ماتریس را در هم ضرب کنيم. باز هم توجه کنید که نرم افزارمطلب حق ندارد ماتربس را به عنوان جمعی از اعداد در نظر بگیرد مطلب می داند شما چه وقت با ماتریس سروکار دارید واز این رو محاسبات شما را تطبیق می دهد .
C = A * B
C =
5 12 24 12 30 59 24 59 117
در هنگام ضرب ماتریس با استفاده از عملگر(*) می توان دو ماتریس یا دو بردار را در هم ضرب نمود .
C = A .* B
C =
1 4 0 4 25 -10 0 -10 1
بیایید معکوس ماتریس را پیدا کنیم .
X = inv(A)
X =
5 2 -2
-2 -1 1
0 -2 1
این واقعیت را که ضرب یک ماتریس در خودش ,ماتریس واحد است را نشان میدهیم .
I = inv(A) * A
I =
1 0 0 0 1 0 0
مطلب برای اکثر محاسبات عمومی ماتریس ,تابع دارد در اینجا توابعی برای بدست آوردن مقادیر ویژه وجود دارد .
eig(A)
ans =
3.7321 0.2679 1.0000
svd(A)
ans = 12.3171 0.5149 0.1577
ما به راحتی میتوانیم ریشه های یک کثیرالجمله ای را با استفاده از تابع"roots" پیدا کنیم .این در حقیقت مقادیر ویژه ماتریس اصلی هستند .
roots(p)
ans =
3.7321 1.0000 0.2679
نرم افزار "Matlab" کاربرد های زیادی ماورای محاسبات ماتریسی دارد .
برای محاسبه "کانولوشن"دو بردار:
q = conv(p,p)
q =
1 -10 35 -52 35 -10 1
یا به منظور بدست آوردن کانولوشن دوباره و رسم نتیجه محاسبه
r = conv(p,q)
r =
1 -15 90 -278 480 -480 278 -90 15 -1
در هر زمان ما می توانیم فهرستی از متغیرهای ذخیره شده در حافظه را با استفاده از دستور "whos"یا"who" بدست آوریم.
whos
Name Size Bytes Class
A 3x3 72 double array
B 3x3 72 double array
C 3x3 72 double array
Grand total is 488 elements using 3904 bytes
شما می توانید مقدار یک متغیر خاص را با تایپ نمودن نام آن دریافت کنید.
A
A =
1 2 0
2 5 -1
4 10 -1
می توانید بیش از یک دستور را در یک خط با تفکیک نمودن هر دستور توسط کاما یا سمیکالن داشته باشیم .اگر شما یک متغیر را برای ذخیره شدن نتیجه یک عملیات انتخاب نکنید نتیجه در یک متغیر بنام "ans" ذخیره می شود .
sqrt(-1), log(0)
ans =
0 + 1.0000i
Warning: Log of zero.
ans =
-Inf
در اين مورد چون ما دستورات را با کاما تفکیک نمودیم نتیجه هر عملیات روی صفحه نمایش منعکس شده است همان طور که می بینیم نرم افزار مطلب براحتی با اعداد مختلط و بینهایت در محاسبات کار ميكند.
sqrt(-1), log(0)
ans =
0 + 1.0000i
Warning: Log of zero.
ans = -Inf
اميدوارم اين برنامه به شما برای شروع کار برنامه نويسی با matlab کمک کافی کرده باشه .
هیچ نظری موجود نیست:
ارسال یک نظر