کد:
clc;close all;
m=input('please input matrix :');
[m1 m2]=size(m);
s=input('If you want add columns , choose A and if you want remove columns , choose R : ');
if s=='A'
A=input('please input your number of columns that you want to add them :');
m=horzcat(m,ones(m1,A));
else
R=input('please input your column numbers that you want to remove them :');
o=ones(m1,1);
w=m;
for i=1:length(R)
if m(:,R(i))==o
w(:,R(i))=[];
else if (nnz(m(:,R(i))-o))*100/m1<=5/100
w(:,R(i))=[];
end
end
end
m=w;
end
m
مثال : ماتریس زیر را به عنوان ورودی میدهیم :
کد:
q =
1 2 1 1 1
2 3 1 1 1
3 4 1 1 1
4 5 1 1 1
5 6 1 1 2
6 4 1 1 2
7 3 1 5 2
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
1 1 1 1 1
خروجی کد نوشته شده برای حالت اضافه شده 5 ستون به این شکل است:
کد:
m =
1 2 1 1 1 1 1 1 1 1
2 3 1 1 1 1 1 1 1 1
3 4 1 1 1 1 1 1 1 1
4 5 1 1 1 1 1 1 1 1
5 6 1 1 2 1 1 1 1 1
6 4 1 1 2 1 1 1 1 1
7 3 1 5 2 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
برای حالت حذف ستون ، برای برنامه تعیین میکنیم که ستونهای [1,2,3,4,5] را حذف کند که خروجی به صورت زیر است:
کد:
m =
1 2 1 1
2 3 1 1
3 4 1 1
4 5 1 1
5 6 1 2
6 4 1 2
7 3 5 2
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
دوست دارم زندگی رو . . .