extract every two rows from the data

6 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)

Community Treasure Hunt

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

Start Hunting!