حالت یک عنصری و حالت دو عنصری را برایتان نوشتم تا از حالت دو عنصری الهام گرفته و خودتان حالت سه عنصری را بنویسید.
کدهای متلب :
نتیجه اجرای کد متلب بالا :
دقت کنید که چگونه با ذخیره کردن index مربوط به حالت های ساخته شده، چک می کنیم که ماتریسی برای حالت های تکراری ساخته نشود (برای حالت سه تایی، باید دو شرط چک شود، زیرا به جای دو تا index این بار سه تا index داریم). تعداد هم برابر 15 تا شده است (البته خودتان هم نتیجه را تست کنید).
کدهای متلب :
کد پیاچپی:
clear all
close all
clc
A = [1; 2; 3; 4 ; 5; 6]
% one element
A_lenghth=length(A)
for nn=1:A_lenghth
eval(['A_one_element_', num2str(nn) , ' = ' , num2str(A(nn))]);
end
% two element
A_lenghth=length(A)
number=0;
used_indexes=[];
for nn=1:A_lenghth
for mm=1:A_lenghth
if(nn~=mm) % not equal
used_indexes_size=size(used_indexes);
is_repeated_or_not=0;
for gg=1:used_indexes_size(1)
if(nn==used_indexes(gg,2) && mm==used_indexes(gg,1)) % check is repeated or not
is_repeated_or_not=1;
end
end
if(is_repeated_or_not==0)
number=number+1;
used_indexes(number,1)=nn;
used_indexes(number,2)=mm;
eval(['A_two_element_', num2str(number) , ' = [' , num2str(A(nn)), ',', num2str(A(mm)), ']']);
end
end
end
end
number
نتیجه اجرای کد متلب بالا :
کد پیاچپی:
A =
1
2
3
4
5
6
A_lenghth =
6
A_one_element_1 =
1
A_one_element_2 =
2
A_one_element_3 =
3
A_one_element_4 =
4
A_one_element_5 =
5
A_one_element_6 =
6
A_lenghth =
6
A_two_element_1 =
1 2
A_two_element_2 =
1 3
A_two_element_3 =
1 4
A_two_element_4 =
1 5
A_two_element_5 =
1 6
A_two_element_6 =
2 3
A_two_element_7 =
2 4
A_two_element_8 =
2 5
A_two_element_9 =
2 6
A_two_element_10 =
3 4
A_two_element_11 =
3 5
A_two_element_12 =
3 6
A_two_element_13 =
4 5
A_two_element_14 =
4 6
A_two_element_15 =
5 6
number =
15
دقت کنید که چگونه با ذخیره کردن index مربوط به حالت های ساخته شده، چک می کنیم که ماتریسی برای حالت های تکراری ساخته نشود (برای حالت سه تایی، باید دو شرط چک شود، زیرا به جای دو تا index این بار سه تا index داریم). تعداد هم برابر 15 تا شده است (البته خودتان هم نتیجه را تست کنید).
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.