اینم از کد متلب :
سه خط اول برنامه که برای عدم تداخل اطلاعات قبلی موجود در نرم افزار متلب است . شما این سه خط یادت نره خیلی مهمه .
ماتریس A یک ماتریس کوچیکه که نتایج رو روی اون تست کردیم . delete تعداد ستون هایی (یا حالا هر اسمی که روش میگذارید) است که باید تبدیل به صفر بشه .
ماتریس deleted_before برای اینه که زوج اعداد تصادفی random_1 و random_2 که تولید شدن رو ذخیره کنیم که بعدا چک کنیم که تکرار نشده باشن .
حلقه while رو بر اساس deleted_number می نویسیم که deleted_number تعداد ستون هایی است که تاکنون (در حلقه) صفر کرده ایم و وقتی برابر delete شود ، حلقه پایان می یابد .
این هم نتیجه اجرای کد متلب بالا :
حالا 100 بار هم که اجرا کنید میبینید که تنها 4 ستون صفر میشه (منظورم 100 بار اجرای برنامه بالا است نه اینکه برنامه را به طور 100 بار پیاپی روی یک ماتریس اجرا کنید) . عمدا تعداد ستون ها رو کم و برابر 6 گرفتم که مطمئن بشید .
کد:
clear all
close all
clc
delete=4;
A=ones(3,2,3);
A_size=size(A)
deleted_before=zeros(1,2);
deleted_number=0;
while (deleted_number~=delete)
random_1=randi([1,A_size(2)],1,1);
random_2=randi([1,A_size(3)],1,1);
p=0;
for nn=1:deleted_number
if ([random_1,random_2]==deleted_before(nn,:))
p=1;
end
end
if (p==0)
A(:,random_1,random_2)=0;
deleted_number=deleted_number+1;
deleted_before(deleted_number,:)=[random_1,random_2];
end
end
A
سه خط اول برنامه که برای عدم تداخل اطلاعات قبلی موجود در نرم افزار متلب است . شما این سه خط یادت نره خیلی مهمه .
ماتریس A یک ماتریس کوچیکه که نتایج رو روی اون تست کردیم . delete تعداد ستون هایی (یا حالا هر اسمی که روش میگذارید) است که باید تبدیل به صفر بشه .
ماتریس deleted_before برای اینه که زوج اعداد تصادفی random_1 و random_2 که تولید شدن رو ذخیره کنیم که بعدا چک کنیم که تکرار نشده باشن .
حلقه while رو بر اساس deleted_number می نویسیم که deleted_number تعداد ستون هایی است که تاکنون (در حلقه) صفر کرده ایم و وقتی برابر delete شود ، حلقه پایان می یابد .
این هم نتیجه اجرای کد متلب بالا :
کد:
A_size =
3 2 3
A(:,:,1) =
0 1
0 1
0 1
A(:,:,2) =
0 0
0 0
0 0
A(:,:,3) =
0 1
0 1
0 1
حالا 100 بار هم که اجرا کنید میبینید که تنها 4 ستون صفر میشه (منظورم 100 بار اجرای برنامه بالا است نه اینکه برنامه را به طور 100 بار پیاپی روی یک ماتریس اجرا کنید) . عمدا تعداد ستون ها رو کم و برابر 6 گرفتم که مطمئن بشید .
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.