Every 2 rows (2x2 matrix) to perform determinant calculation

13 次查看(过去 30 天)
Hi all, can i know how to extract every two rows of my data to perform determinant calculation?
For example i have data:
1 2
3 4
5 6
7 8
9 10
11 12
so i want to select every two rows in order to perform determinant calculation, how can i do that? my final results should be:
-2
-2
-2
Regards,

采纳的回答

Matt J
Matt J 2013-11-24
m=size(data,1);
i=1:2:m;
j=2:2:m;
determinants = data(i,1).*data(j,2)-data(j,1).*data(i,2),
  3 个评论
Matt J
Matt J 2013-11-25
编辑:Matt J 2013-11-25
results = bsxfun(@times,r,n);
or
results = kron(r,[1;1]).*data

请先登录,再进行评论。

更多回答(2 个)

Azzi Abdelmalek
Azzi Abdelmalek 2013-11-24
A=[1 2 ;3 4 ;5 6 ;7 8 ;9 10 ;11 12 ]
B=reshape(A',2,2,[])
out=arrayfun(@(x) det(B(:,:,x)),1:size(B,3))

cool dave
cool dave 2013-11-25
thank you so much of both of your responses, appreciate :)

Community Treasure Hunt

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

Start Hunting!

Translated by