>> A = [700 650 300 650 650 956 123 654 784 650 645 865 142 686 698]
=
700 650 300
650 650 956 BR /> 123 654 784
650 645 865
142 686 698
>> [M,N] =(<600)%使用直接找到找到矩阵的小中型600元素的行中的列值?
=
5
1%的要删除行,所以他们需要到m BR /> N =
>> A([M(1)米(2)米(3)],:) = []%%你的矩阵?小于600元素线
=
650 650 956
650 645 865主要两种方法:
(1)利用冒号表达式获得子矩阵
>> A=[ 1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> B=A(1:2,2:3)
B =
2 3
5 6
(2)利用空矩阵
>> C=A;
>> C(:,[1])=[];
>> C([3],:)=[]
C =
2 3
5 6
建议找一本基础的书看一下!A = rand(26, 25); % 生成一个26行25列的随机矩阵A
[n, m] = size(A); % 获取A的行数n和列数m
r = cell(1, m); % 创建一个长度为m的cell数组,用于存储每一列的数据
for i = 1:m
r{i} = A(:, i); % 将第i列数据存储到r{i}中
end
% 将r1到r25存储到变量r1到r25中
for i = 1:m
eval(['r', num2str(i), ' = r{i};']);
end
其中,第一个循环将矩阵每一列提取出来,存储到一个长度为m的cell数组r中。第二个循环将r中的每个元素存储到对应的r1到r25变量中,使用了MATLAB的eval函数来动态生成变量名。
需要注意的是,使用eval函数动态生成变量名是不推荐的,因为容易引起代码的可读性和可维护性问题。建议使用cell数组或结构体等数据类型来存储和 *** 作多个变量。最简单的:
A=rand(3,3)
A =
07922 00357 06787
09595 08491 07577
06557 09340 07431
B = A(:);
B =
07922
09595
06557
00357
08491
09340
06787
07577
07431
其中B即为把每一列抽出来并依次叠加起来的一个一列的矩阵,不知道你是不是这个意思?
如果要取出固定的某一列, 可以将矩阵的第二维设为固定值,就得到了定义一个二维数组存放这个矩阵。然后用for做一个二重循环,依次比较数组元素值,在循环里面加一个判断语句,如果其中某一个元素a[i][j]是你要寻找的某个指定元素a,则打印输出此时的J值。(一般数组下标从0开始,如果是这样的话,你打印输出的时候,应该输出J+1即该元素所在列值。)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)