matlab删除元素

x=(
10.887 24.887 37.984 78.902 88.887 92.887 100.89 103.89 108.93 114.89 120.89 121.93 127.89 132.93 137.89 180.89 182.98 183.89 184.98 260.93 262.98 265.05 265.8 269.98

)
pos_11=[5,7,20,25]
for i=1:length(pos_11)
x(pos_11(i))=[];
end
,我想把x矩阵中第5,7,20,25列上的x值删除,当然,这里pos_11中的数以及数的个数也会变,求教专家,非常感谢!!!
这里的pos_11中的数是通过某一个条件从x中判断的到的,所以他不是确定的,不知道我表达清楚没有,非常谢谢!

直接使用x(pos_11)=[]就行了,不必使用循环。你不用管它是怎么变化的,都可以使用。来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-18
首先x=()用的不对,向量要用x=[]

你可以这样写

x=[. .. .];
for i=1:length(x)
if x(i)??? %你的判断条件
x(i)=[];
end
end
第2个回答  2019-09-27
%a是存储数据的数组名,find是找到大于122的数的位置
a(locate)=[];
%删除数组a中大于122的元素

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网