[英]How to find the position of a value in an array in matlab
想想我有一個像A = {1,2,3,4,5,6}的數組,我需要得到這個數組中4的位置。 我試過了,p = find(A == 4)
請幫忙。
如果您確實需要一個單元格數組(例如,因為單元格可以包含不同大小的向量):
A = {1, [1 2 3], 4, [1 2], [3 4]}; %// example cell array
sought = [1 2]; %// sought contents
index = find(cellfun(@(x) isequal(x, sought), A));
您創建了一個細胞陣列而不是法線向量。
嘗試:
A = [1,2,3,4,5,6]
find(A==4)
單元格數組非常適合存儲不同類型的變量。例如,您可以創建一個包含字符串和數字的單元格數組。
如果數組中只有數字,則應絕對使用普通數組。 這些由[]而不是{}定義
定義了單元格數組后,需要將其轉換為數字數組才能進行查找,所幸的是,使用幾個放置良好的括號即可輕松實現。
A = { 1,2,4,3,5,6};
find([A{:}]==4)
ans =
3
因此,A {:}從您的數組中寫出數值,[]包含find起作用的輸出。
ps我重新排列了A中的數字,以表明它正在工作,因為“ 4”現在處於第3位以提供更好的測試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.