Matlab中“logical”的用法问题A代表一个N*M的矩阵,b代表一个1*N的矩阵,表示的是A中列的打乱的次序,如b可以表示为【3 1 5 6 2 4】,那么请问,A(logical(b),:)输出来的是什么?不好意思,b表示的是

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 11:48:23

Matlab中“logical”的用法问题A代表一个N*M的矩阵,b代表一个1*N的矩阵,表示的是A中列的打乱的次序,如b可以表示为【3 1 5 6 2 4】,那么请问,A(logical(b),:)输出来的是什么?不好意思,b表示的是
Matlab中“logical”的用法问题
A代表一个N*M的矩阵,b代表一个1*N的矩阵,表示的是A中列的打乱的次序,如b可以表示为【3 1 5 6 2 4】,那么请问,A(logical(b),:)输出来的是什么?
不好意思,b表示的是A中的某一行,或者某几行的行数,如b=[1 4 5];

Matlab中“logical”的用法问题A代表一个N*M的矩阵,b代表一个1*N的矩阵,表示的是A中列的打乱的次序,如b可以表示为【3 1 5 6 2 4】,那么请问,A(logical(b),:)输出来的是什么?不好意思,b表示的是
如果b的行数不等于A的行数的话,用logical是错的,应该直接用A(b, :);
如果b的行数等于A的行数的话,可以用logical.对于[3 1 5 6 2 4]这组数据,logical完了全是true,A(logical(b), :)就相当于A的每一行都取出;如果要取出某几行的话,应该只让b中对应行数的只为true,其余false.
如果你觉得文字说不明白,就举个例子,我来告诉你结果是什么.