请问如何在matlab中,删除二维矩阵每行的一个0元素?
来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/04/29 18:18:55
请问如何在matlab中,删除二维矩阵每行的一个0元素?
比如a = [1 0 2 3; 0 0 2 1; 1 1 0 3];每一行中都只删除一个0元素(每一行都确定有1个以上的0元素),矩阵很大,不想用for循环,
比如a = [1 0 2 3; 0 0 2 1; 1 1 0 3];每一行中都只删除一个0元素(每一行都确定有1个以上的0元素),矩阵很大,不想用for循环,
这个问题确实很有意思,我好歹弄出来了,不过还是用了for循环,请参阅,看看能不能修改
clear;clc;close all
a = [1 0 2 3; 0 0 2 1; 1 1 0 3];
[m,n]=size(a);
[b,c]=find(a==0)
[bb,m,nn] = unique(b(length(b):-1:1))
b1=length(b)+1-m;
a=[a,zeros(m,1)]
for i=1:length(b1)
a(b(b1(i)),c(b1(i)):n)=a(b(b1(i)),c(b1(i))+1:n+1);
end
% a(b(b1),c(b1):n)=a(b(b1),c(b1)+1:n+1);%用这个代替for循环为什么结果不一样?这里不明白.
a=a(:,1:n-1)
clear;clc;close all
a = [1 0 2 3; 0 0 2 1; 1 1 0 3];
[m,n]=size(a);
[b,c]=find(a==0)
[bb,m,nn] = unique(b(length(b):-1:1))
b1=length(b)+1-m;
a=[a,zeros(m,1)]
for i=1:length(b1)
a(b(b1(i)),c(b1(i)):n)=a(b(b1(i)),c(b1(i))+1:n+1);
end
% a(b(b1),c(b1):n)=a(b(b1),c(b1)+1:n+1);%用这个代替for循环为什么结果不一样?这里不明白.
a=a(:,1:n-1)
请问如何在matlab中,删除二维矩阵每行的一个0元素?
请问用matlab,如何将一个二维矩阵中 所有列数据都小于600的行删除?
MATLAB中,在一个三维矩阵中如何提取出一个二维矩阵?
matlab如何删除矩阵中符合条件的多行全部元素
用VB编写一个程序,计算出给定的10*10矩阵(存放在二维数组A中)每行元素的最大值和每列元素的最小值
matlab中如何把一个矩阵的元素调用在另一矩阵中
matlab中的一个10x10的矩阵,矩阵中的元素从0-9中选择,随机分布,请问如何把矩阵中相同的元素放在一个区
matlab如何将已有矩阵的每行元素重新随机排列
matlab中如何计算一个矩阵中的元素在另一矩阵出现的个数?
如何在MATLAB中输入一个矩阵变量的行元素和列元素?
matlab矩阵中如何删除两列都等于0行
如何在matlab中定义如下矩阵,第一个元素是0,最后一个元素是 根号3,共100个元素的矩阵.谢谢大家