簡體   English   中英

如何在Matlab中查找值在數組中的位置

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM