matlab 中data(A(1:5),:)'的详细用法

如题所述

第1个回答  2012-07-10
看下面示例
>> A=randperm(10)
A =
7 9 10 5 8 3 4 6 2 1
>> data=rand(10,4)
data =
0.8235 0.4898 0.4984 0.9593
0.6948 0.4456 0.9597 0.5472
0.3171 0.6463 0.3404 0.1386
0.9502 0.7094 0.5853 0.1493
0.0344 0.7547 0.2238 0.2575
0.4387 0.2760 0.7513 0.8407
0.3816 0.6797 0.2551 0.2543
0.7655 0.6551 0.5060 0.8143
0.7952 0.1626 0.6991 0.2435
0.1869 0.1190 0.8909 0.9293
>> data(A(1:5),:)
ans =
0.3816 0.6797 0.2551 0.2543
0.7952 0.1626 0.6991 0.2435
0.1869 0.1190 0.8909 0.9293
0.0344 0.7547 0.2238 0.2575
0.7655 0.6551 0.5060 0.8143
>> data(A(1:5),:)'
ans =
0.3816 0.7952 0.1869 0.0344 0.7655
0.6797 0.1626 0.1190 0.7547 0.6551
0.2551 0.6991 0.8909 0.2238 0.5060
0.2543 0.2435 0.9293 0.2575 0.8143追问

但还是没看出data(A(1:5),:)有什么规律啊,实现的是什么啊,望指教,谢谢!

追答

A(1:5)=[7 9 10 5 8],b=data(A(1:5),:)是指取二维矩阵data第7、9、10、5、8行(即A(1:5)),如果不存在该行则报错,
b=data(A(1:5),:)‘是对b进行转置

本回答被提问者采纳
相似回答