دستور diag در متلب
دستور diag یکی از توابع مهم و کاربردی در متلب است که در تحلیل و پردازش دادهها و ماتریسها استفاده میشود. این دستور برای ایجاد و استخراج قطر ماتریسها استفاده میشود. این دستور میتواند برای ایجاد ماتریسهای قطری، استخراج قطرهای ماتریسها و برای تغییر مقادیر قطری ماتریسها استفاده شود.
کاربردهای پیشرفته دستور diag شامل ماتریسهای تبدیل است که برای محاسبات تبدیل در تحلیلهای جبر خطی و تغییر پایه استفاده میشود. در هنگام استفاده از دستورdiag باید به اندازههای ماتریسها توجه کرد، چرا که ممکن است با ماتریسهای بسیار بزرگ با مشکلات حافظه مواجه شود. در برخی مسائل عددی، استفاده از diag ممکن است به دقت پایینتری منجر شود، مخصوصاً در ماتریسهای بسیار بزرگ.
تشخیص عناصر و پردازش داده ها با دستور diag در متلب انجام میشود و این دستور برای انجام پروژه متلب در انواع حوزه های کد نویسی با این نرم افزار کاربردی استفاده میشود.
کاربرد | دستور |
ایجاد یک ماتریس قطری که در قطر اصلی آن بردار v قرار دارد | D = diag(v) |
ایجاد یک ماتریس قطری با بردار v در موقعیت قطر k در واقعیت یک ماتریس صفر تا موقعیت قطر k ایجاد میشود. | D = diag(v, k) |
استخراج قطر اصلی ماتریس D | v = diag(D) |
استخراج قطرk از ماتریس D | v = diag(D, k) |
مثال1- ایجاد یک ماتریس قطری
ماتریس قطری، ماتریسهایی هستند که غیر از قطر اصلی، تمامی عناصر آنها صفر هستند. با استفاده از دستور diag میتوان ماتریسهای قطری مختلف ایجاد کرد.
clc; clear; close all
v = [10, 20, 30];
D = diag(v);
disp(D);
خروجی برنامه:
10 0 0
0 20 0
0 0 30
توضیح: یک ماتریس قطری بنام D ایجاد شده است که در قطر اصلی آن بردار v شامل اعداد 10، 20 و 30 است.
مثال 2:
clc; clear; close all
v = [3,2];
D = diag(v, 2);
disp(D);
خروجی برنامه:
0 0 3 0
0 0 0 2
0 0 0 0
0 0 0 0
توضیح: در اینجا یک ماتریس D با ابعاد 4×4 اجاد شده که بردار v در موقعیت قطر 2 قرار دارد و قبل از موقعیت قطر 2 عناصر صفر قرار دارند.
مثال 3: استخراج قطر از ماتریس: با استفاده از diag میتوان قطرهای مختلف یک ماتریس را استخراج کرد.
clc; clear; close all
D = [1 8 0; 0 3 4; 0 0 12];
v = diag(D);
disp(v);
خروجی برنامه:
1
3
12
مثال 4:
clc; clear; close all
D = [11 2 0; 0 3 4; 0 0 12];
v = diag(D, 1);
disp(v);
خروجی برنامه:
2
4
مثال 5: محاسبه توان ماتریس قطری
clc; clear; close all
n = 3;
A = diag(1:3);
B = A^2;
B
خروجی برنامه:
B = 1 0 0
0 4 0
0 0 9
مثال 6: محاسبه مقادیر ویژه ماتریس قطری برای محاسبات کنترلی
clc; clear; close all
D = diag([1, 2, 3]);
eigvalues = eig(D); %
disp(eigvalues);
خروجی برنامه:
1
2
3
مثال7: استفاده از diag برای تولید ماتریسهای باندی
دستور diag میتواند برای تولید ماتریسهای باندی که در برخی مسائل عددی و علمی مفید هستند، مورد استفاده قرار گیرد.
clc; clear; close all
n = 5;
A = diag(ones(n-1,1), -1) + diag(ones(n,1)) + diag(ones(n-1,1), 1);
خروجی برنامه:
1 1 0 0 0
1 1 1 0 0
0 1 1 1 0
0 0 1 1 1
0 0 0 1 1
توضیح: ماتریسA یک ماتریس باندی با قطر اصلی و دو قطر کناری است.
مثال 8: دستور diag میتواند در حل معادلات خطی و سیستمهای معادلات مورد استفاده قرار گیرد.
clc; clear; close all
n = 4;
A = diag(1:n);
b = [5 3 4 6]’;
x = A \ b;
disp(x)
خروجی برنامه:
5.0000
1.5000
1.3333
1.5000
توضیح:A یک ماتریس قطری است و x حاصل حل معادله A*x = b است.


