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