extract every two rows from the data

3 views (last 30 days)
Hi all,
i would like to inquire for possible solutions for my problem.
for example if i have a set of data (10x1 matrix):
1
2
3
4
5
6
7
8
9
10
i want to extract every two rows to do multiplication with a 5x1 matrix:
1
2
3
4
5
how can i do that ? my final results should be:
1
2
6
8
15
18
28
32
45
50
i made attempt to acquire a solution but i don't think i did it correctly.
r=[1;2;3;4;5];
m=size(data,1); i=1:2:m; j=2:2:m; n=[data(i) data(j)];
results=r.*n;
many thanks :)
  1 Comment
Sean de Wolski
Sean de Wolski on 25 Nov 2013
I'm not clear how you got the final results. From the explanation I would've expected:
1*1
2*3
3*5
4*7
5*9
or
((1:5).').*x(1:2:end);

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 25 Nov 2013
Here's one possible solution:
data = [1;2;3;4;5;6;7;8;9;10]
m=[1;2;3;4;5]
% Use imresize() in the Image Processing Toolbox.
out = data .* imresize(m,[length(data),1],'nearest')

More Answers (0)

Categories

Find more on Image Processing and Computer Vision in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!