سلام.
فرض کنید که ماتریسی با نام A داریم و می خواهیم شماره ردیف و ستون درایه های برابر 2 را بدانیم، کدهای متلب زیر را می نویسیم :
نتیجه اجرای کد متلب :
بردار r حاوی شماره ردیف و بردار c حاوی شماره ستون درایه ها می باشد. یعنی مثلا چون اولین درایه برابر 2 ، در ردیف شماره 2 و ستون شماره 1 است، بنابراین اولین عنصر بردار r برابر 2 و اولین عنصر بردار c برابر 1 قرار داده شده است. بنابراین از این اطلاعات استفاده کرده و با دستور disp ، موقعیت درایه ها را نمایش داده ایم.
دستور strcat برای اتصال رشته ها (strings) به هم، استفاده می شود. دستور num2str برای تبدیل اعداد به رشته، به کار می رود.
فرض کنید که ماتریسی با نام A داریم و می خواهیم شماره ردیف و ستون درایه های برابر 2 را بدانیم، کدهای متلب زیر را می نویسیم :
کد:
clear all
close all
clc
A=[1 2 3; 2 5 2; 4 6 2]
[r,c]=find(A==2)
r_size=size(r);
for nn=1:r_size
string=strcat('(',num2str(r(nn)),',',num2str(c(nn)),')');
disp(string)
end
نتیجه اجرای کد متلب :
کد:
A =
1 2 3
2 5 2
4 6 2
r =
2
1
2
3
c =
1
2
3
3
(2,1)
(1,2)
(2,3)
(3,3)
بردار r حاوی شماره ردیف و بردار c حاوی شماره ستون درایه ها می باشد. یعنی مثلا چون اولین درایه برابر 2 ، در ردیف شماره 2 و ستون شماره 1 است، بنابراین اولین عنصر بردار r برابر 2 و اولین عنصر بردار c برابر 1 قرار داده شده است. بنابراین از این اطلاعات استفاده کرده و با دستور disp ، موقعیت درایه ها را نمایش داده ایم.
دستور strcat برای اتصال رشته ها (strings) به هم، استفاده می شود. دستور num2str برای تبدیل اعداد به رشته، به کار می رود.
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.