MATLAB Answers


How can i eliminate a few column?

Asked by maysarah sulaiman on 25 May 2013

i have 10 pcs of 200 by 200 dim of images. then i formed a matrix with the 10 by 40000. some of the column consist the same value from top to bottom, therefore i want to eliminate or replace it with 0. i have try repmat and std or even mean. i want to have only the significant features of my image so that i can perform PCA using princomp function.tq 4 ur help.


What is O ?

oh actually i typed it wrongly just now, i have amend my question.tq


No products are associated with this question.

2 Answers

Answer by Image Analyst
on 25 May 2013
 Accepted answer

Try this:

% Generate sample data:
columns = 18; % Could be 40000 or size(m, 2)
rows = 4;
m = randi(4, rows, columns)
% ----- HERE'S THE MAIN CODE ---------------------------
% Find out where the entire column is the same number
% by taking the mean of the column and seeing
% if the mean of the column is the same as the first row.
columnAllTheSame = mean(m) == m(1,:)
% Set those that are all the same to 0:
m(:, columnAllTheSame) = 0


i have try the code, but it returns me all column 0.can u elaborate more on the codes?

I don't understand what this means "returns me all column 0." There is no column 0 - there are columns 1 through size(m, 2). Or, are you saying that all columns are zero for every row in the column? In essence, the entire matrix is zero? I don't see how that can be. Can you give an example of the matrix you are having trouble with? My code, as always, is very well commented so I don't know how much more I can elaborate. What is confusing to you?

urm i just realize that i define it wrongly. i got it already.thanks a lot.

Answer by Azzi Abdelmalek
on 25 May 2013

Use unique function

help unique

  1 Comment

i have try but this don't give me the ans that i want. My data is actually images, therefore i still need to retain the character of each row.

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!