1樓:du瓶邪
辦法如下:
a=[1,3,4,5,6,2,6,8,9]b=unique(a)
c=zeros(size(b));
for e=1:length(b);
c(e)=length(find(b==b(e)));
end由於用到了for和unique,使用時效率可能很低!
2樓:匿名使用者
程式如下,重複5次
a = [1 2 3 4 5];
repeat = 5;
tmp = repmat(a, repeat, 1);
b=reshape(tmp, 1, length(a)*repeat);b
3樓:酆寄柔脫量
unique函式用來去除矩陣a中重複的元素,比如說a=[1,2,3,3,4],那麼unique(a)=[1,2,3,4];
如果a=[1,2,3;3,4,5],那麼unique(a)=[1,2,3,4,5];
unique(a,'rows')用來去除矩陣a中重複的行,比如說a=[1,2,3;4,5,6;1,2,3],那麼unique(a,'rows')=[1,2,3;4,5,6];
綜上,如果x=[111
2223
3333],
那麼unique(x)=[1,2,3]。
如何去掉一個陣列的重複元素:陣列去重
4樓:表哥傻叼
可以使用雙重迴圈,逐一對比元素,如有重複,則刪除的方法去重。
其思路為
1、依次遍歷迴圈中的每一個元素。
2、對於任意一個元素,依次與之前的元素進行對比,如果有重複則刪除。
3、刪除操作可以採用將後續元素逐個前移,達到覆蓋當前元素的效果。
在此基礎上可以進行一點優化,即,不需要每次刪除元素均前移所有元素,而是把需要保留的元素放到"應該"放的位置即可,這樣可以提高效率。
以整型陣列為例,參考**如下:
1234567891011121314
int remove_repeat(int *a, int l)//對起始地址為a,長度為l的陣列進行去重,新的長度以返回值形式返回。 return r; //返回新的長度。}
5樓:匿名使用者
function removedop(arr)
matlab怎麼對陣列的每個元素進行處理
6樓:灩麗
1、首先需要雙擊baimatlab軟體
du圖示,開啟zhimatlab軟體,可以看到matlab軟體的介面。
dao2、使用函式rand()建立一內個一維陣列容a。
3、對陣列a進行關係運算,分別獲得陣列b、c。
4、使用符號"&"對陣列b和陣列c進行邏輯與運算。
5、使用符號"|"對陣列b和陣列c進行邏輯或運算。
6、使用符號「~",對陣列a和陣列b進行邏輯非運算。
7樓:匿名使用者
a=[1,2,3,4,5]
for i=1:length(a) %matlab下標從1開始if(a(i)<3 && a(i)>0) %matlab不是來用源中括號引用,而是用()進行引用
a(i)=0;
elseif(a(i)>=3) %matlab中,else if 可以
寫成elseif
a(i)=1;
end %end與if對應
end %end與for 對應
a當然上面這個可以直接用:
a=[1,2,3,4,5]
a=(a>=3)
MATLAB求如何實現陣列輸入,裡面的元素,變成字串標量輸出
s c i max size s for i 1 i c c,s endc matlab裡怎麼讓字串陣列的元素變成變數名 matlab建立字bai符串陣列可以du採取你所說的方式,但必須保zhi證每行的長度dao必須相等專,為此必須給某些屬 行補充空格符來實現長度一致。函式str2mat能夠自動把字...
matlab刪除陣列中滿足一定條件的元素
1 開啟matlab,在命令列視窗中輸入a 1 5 6 7 8 12 14 16 6 3 5 7 建立一個3行4列的a矩陣。2 輸入x find a 10 找到a陣列中大於10的元素的下標。3 按回車鍵之後,可以看到找到大於10的元素下標,下標位置是按一列開始數,一列一列數的。4 輸入a x 將a陣...
matlab中矩陣如何求所有元素的和
可先求列和,然來後將列源和組成的向量轉置,最後再對轉置後的向量求列和。例對矩陣a求所有元素的和,可 sum sum a 例 a 1632 135101189 67124 1514 1 sum sum a ans 136 可先求列和,bai然後將列和組成的向du量轉置,最後再zhi對轉置後dao的向量...