سلام.
فرض می کنیم که تعداد سطر و ستون ماتریس، مشخص می باشد (مثلا شما آنها را با
دستور input دریافت کردید) و بنابراین ابتدا همان طور که خودتان ذکر کردید از دستور zeros برای ساخت اولیه ماتریس استفاده می کنیم که در این مرحله، تمام عنصرهای ماتریس دارای مقدار 0 می باشند.
سپس بر اساس تعداد ردیف (Row) و ستون (Column) ماتریس، دو
حلقه for تو در تو می نویسیم که مقادیر عنصرهای ماتریس را از کاربر دریافت کنند :
کد پیاچپی:
clear all
close all
clc
Kelidestan_Matrix = zeros(2,3)
K_M_Size = size(Kelidestan_Matrix)
for nn=1:K_M_Size(1)
for mm=1:K_M_Size(2)
Kelidestan_Matrix(nn,mm) = input(strcat('(',num2str(nn),',',num2str(mm),') :'))
end
end
در کد متلب (MATLAB) بالا، از
دستور size برای به دست آوردن تعداد ردیف (Row) و ستون (Column) ماتریس استفاده شده است (برای مواقعی که تعداد آنها را نمی دانیم).
همچنین درون دستور input ، از
دستور strcat استفاده شده که برای اتصال چند رشته (String) به یکدیگر می باشد.
دستور num2str برای تبدیل یک عدد به یک رشته (String) به کار می رود. در واقع با ساخت یک رشته (String) در پرانتز دستور input ، سعی کرده ایم که شماره ردیف (Row) و ستون (Column) عنصری که کاربر در حال وارد کردن مقدار آن است را به وی نمایش بدهیم (در صورت تمایل می توانید یک متن (رشته) ساده را در پرانتز دستور input بنویسید).
یک مثال از نتیجه اجرای کد متلب (MATLAB) بالا :
کد پیاچپی:
Kelidestan_Matrix =
0 0 0
0 0 0
K_M_Size =
2 3
(1,1) :1
Kelidestan_Matrix =
1 0 0
0 0 0
(1,2) :2
Kelidestan_Matrix =
1 2 0
0 0 0
(1,3) :3
Kelidestan_Matrix =
1 2 3
0 0 0
(2,1) :4
Kelidestan_Matrix =
1 2 3
4 0 0
(2,2) :5
Kelidestan_Matrix =
1 2 3
4 5 0
(2,3) :6
Kelidestan_Matrix =
1 2 3
4 5 6