matlab问题 如何删除数组中相邻两个相同的数只保留一个
来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/08/18 08:50:14
matlab问题 如何删除数组中相邻两个相同的数只保留一个
举例 A=【1 2 2 2 4 5 6 6 7】 变成A=【1 2 4 5 6 7】 并且只用loop
举例 A=【1 2 2 2 4 5 6 6 7】 变成A=【1 2 4 5 6 7】 并且只用loop
个人不赞成凭着感觉写代码又不作测试的回答方式 .
1、即使不考虑使用循环的要求,unique函数只保留独有的元素,即使不是相邻的相同元素也会被删掉.例如
>> unique([1 2 1])
ans =
1 2
但这个结果似乎并非楼主想要的.
2、MATLAB的for循环是基于索引的,这意味着,在for循环体中不能通过修改循环控制变量来影响循环的次数.其它方面,至于i++这样的表达式就没必要多说了.
如果使用循环,可以考虑while循环:
A=[1 2 2 2 4 5 6 6 7];
i=1;
while i<length(A)
if A(i)==A(i+1)
A(i+1) = [];
else
i = i + 1;
end
end
如果不使用循环,可以用下面的语句:
>> A(diff(A)==0)=[]
A =
1 2 4 5 6 7
1、即使不考虑使用循环的要求,unique函数只保留独有的元素,即使不是相邻的相同元素也会被删掉.例如
>> unique([1 2 1])
ans =
1 2
但这个结果似乎并非楼主想要的.
2、MATLAB的for循环是基于索引的,这意味着,在for循环体中不能通过修改循环控制变量来影响循环的次数.其它方面,至于i++这样的表达式就没必要多说了.
如果使用循环,可以考虑while循环:
A=[1 2 2 2 4 5 6 6 7];
i=1;
while i<length(A)
if A(i)==A(i+1)
A(i+1) = [];
else
i = i + 1;
end
end
如果不使用循环,可以用下面的语句:
>> A(diff(A)==0)=[]
A =
1 2 4 5 6 7
matlab问题 如何删除数组中相邻两个相同的数只保留一个
matlab 删除数组中相同数
c语言中如何去除一组数组中相同的数字……只保留一个然后输出新数组
labview 如何比较一个数组中的相邻的两个数
用matlab如何求出一个数组中最接近某个数的两个数的下标?
matlab中如何只保留一个或两个变量的数据,其他变量数据全部清楚?
//请编写函数fun,该函数的功能是:删去一维数组中所有相同的数,使之只剩下一个.函数返回删除后数组中元素的个数.
MATLAB中,如何去掉二维数组中相同的列.
在matlab语言中,如何将两个数组内的数据重新组成一个数组,且在新的数组中,两原数组的元素间隔出现.
matlab中如何找出不同维度矩阵的相同数组
在matlab中,如何将一个一维数组分成两个一维数组
matlab中怎么判断矩阵中相等的几行,并只保留一行,删除其他行