تعریف چندین متغیر با نام های مختلف در حلقه for در برنامه MatLab
فرض کنید یک ماتریس داریم که هر ستون آن بیانگر اطلاعات مربوط به یک کلاس است. ما یک سطر به ابتدای این ماتریس اضافه می کنیم که مشخص می کند هر ستون متعلق به کدام کلاس است (لیبل گذاری). حال می خواهیم با استفاده از یک حلقه for، اطلاعات مربوط به هر کلاس را در ماتریس های جداگانه و با نام های مختلف مانند class1، class2، و ... نام گذاری کنیم.
.
مشکلی که وجود دارد این است که چگونه نام متغیرها را در هر بار اجرای حلقه تغییر دهیم؟
.
با استفاده از کد زیر می توان این مشکل را حل کرد. در این مثال ماتریس a را یک ماتریس با 16 سطر و 10 ستون در نظر گرفته ایم که این ماتریس تعداد 10 دسته اطلاعات را که متعلق به 6 کلاس هستند، مشخص می کند.
clear
clc
a=rand(16,10);
b = [1 2 3 2 1 4 5 2 6 3;a];
for i=1:6
label = b(1,:)==i;
temp = a(:,label);
eval(['class', num2str(i) , ' =temp;']);
end