承德汽车网

      对于数组某一行的提取

      发布时间:2019-09-21

      总体思路:设定筛选条件,将数组中符合条件的元素筛选出来(可以筛选出元素值也可以筛选出元素对应的下标),然后将元素值赋值给另外一个数组的元素
      参考代码:

      clcclear allclose all x = randi(10, 1, 5); % 原始数据disp('x=');disp(x); y1 = -1 * ones(1, length(x)); % 存储筛选出的结果,并初始化成不可能出现的结果%-- 筛选符合条件的元素下标,并将对应元素存到y1 --%ix = find(x>=3); % 例如,筛选出原始数据中大于3的元素的下标if(isempty(ix)) disp('x的元素均不符合条件'); else y1(1:length(ix)) = x(ix); % 将符合条件的元素存到y1中 y1( find(y1==-1) ) = []; % 剩余元素删除 disp('y1='); disp(y1);end%----------------------------------------------% y2 = -1 * ones(1, length(x)); % 存储筛选出的结果,并初始化成不可能出现的结果%-- 筛选符合条件的元素值,并存入y2 --%for i=1:length(x) if(x(i)>=3) % 逐个检测x的元素是否符合条件,把符合条件的元素值赋值给y2 y2(i) = x(i); endendy2( find(y2==-1) ) = []; % 剩余元素删除disp('y2=');disp(y2);%----------------------------------%

      输出结果
      x=
      7 1 9 10 7
      y1=
      7 9 10 7
      y2=
      7 9 10 7

      回复:

      使用a(M,N)可以提取矩阵a中符合M,N要求的部分

      最简单是M,N都是标量,就是一个数例如
      a(1,1) a(2,3)分别返回a矩阵1行1列的单元 和 2行3列的单元

      M,N还可以是矢量,例如
      a([1 2 3 4],[2 3]) 返回 1 2 3 4行 2 3 列的数据
      这里还有通配的技巧,例如
      a(1,:)就是返回a矩阵第一行的所有数据等效于a(1,1:end)或a(1,1:size(a,2))
      M,N矢量还可以是不连续的,不是单调的,或者有重复的,例如
      a(1:2:end,:) a(2:2:end,:)分别提取矩阵a的奇数行和偶数行数据重新组成矩阵
      a(end:-1:1,:) a(:,end:-1:1)分别返回a矩阵行倒序和列倒序的矩阵

      总之matlab通过的下标提取矩阵部分是很灵活的

      假设你要提取矩阵a第n列的数据,使用a(:,n)就可以了
      如果是要提取第n列前10个数据使用a(1:10,n)就可以了

      回复:

      比如矩阵A是10行10列的,提取A的第3行为A(3,:),提取A的第3列为A(:,3) >> a=[1 2 3;4 5 6;7 8 9] a = 1 2 3 4 5 6 7 8 9 >> a(1:2,3) ans = 3 6 >> a(1:1,2) ans = 2

      回复:

      1、用fgets函数可以读取文件中某行的数据,某列数据就必须一个一个读入每行的第几个字符,再存入到一个字符串当中。2、例程: #include#includevoid main(){ char a[100],b[100],c[100]; int i=3,j=4,k=0; //第三行,第四列 FILE *fp = fopen("d...

      回复:

      关键词“一”在A列,返回对应的B列数据:看我的抓图: C1输入=INDEX(B:B,SMALL(IF(ISNUMBER(FIND("一",A$1:A$100)),ROW($1:$100),4^8),ROW(1:1)))&""数组公式,输入后先不要回车,按Ctrl+Shift+Enter结束计算,再向下填充。 Microsoft Excel是微软...

      回复:

      概述直接提取会报错,把array数组转换成list,即可提取,使用numpy转换 步骤详解1、直接提取尝试: group=[[1,2],[2,3],[3,4]] #提取第一列元素 print(group[:,1]) #Out:TypeError: list indices must be integers or slices, not tuple 2、使用...

      回复:

      加入数组是a 那么 b=a(45:30:end,:); b就是提取的数组

      回复:

      使用a(M,N)可以提取矩阵a中符合M,N要求的部分 最简单是M,N都是标量,就是一个数例如 a(1,1) a(2,3)分别返回a矩阵1行1列的单元 和 2行3列的单元 M,N还可以是矢量,例如 a([1 2 3 4],[2 3]) 返回 1 2 3 4行 2 3 列的数据 这里还有通配的技巧,...

      回复:

      这个很简单啊,下标索引就可以了,把数组分成不同列,然后(1)

      回复:

      遍历就是了. int[][] arr = new int[3][3];//三行三列的二维数组 int[] data = new int[arr[0].length];//new一个一维数组,长度是二维数组列的个数 for(int i=0;i

      回复:

      总体思路:设定筛选条件,将数组中符合条件的元素筛选出来(可以筛选出元素值也可以筛选出元素对应的下标),然后将元素值赋值给另外一个数组的元素 参考代码: clcclear allclose all x = randi(10, 1, 5); % 原始数据disp('x=');disp(x); y1 = -...

      回复:

      在matlab中,取出矩阵中某一个值的方法如下: 1、对于二维数组: a(i, j) % 表示取出二维数组a的第 i 行,第 j 列的数据 a(:, j) % 表示取出二维数组a的第 j 列的所有数据 a(i, :) % 表示取出二维数组a的第 i 行的所有数据 2、多维数组的方法与...

      上一篇:特岗教师和在编教师有啥不一样 下一篇:2018榆林事业单位单位面试时间会在8月1日出吗?

      返回主页:承德汽车网

      本文网址:http://0314car.cn/view-208492-1.html
        信息删除