簡體   English   中英

使用MATLAB查找輸入數組的交集

[英]Use MATLAB to find intersection of input arrays

我有一系列用不同字母(A,B等)表示的數組。 我需要提示用戶輸入一個字母以選擇一個數組。 然后,我想找到數組“ A”與它們指定的數組的交集。

我可以使用if語句執行此操作,但是必須有一種更簡單的方法。 我試過了:

prompt='Select a Letter: ';
str=input(prompt,'s');
[common]=intersect(A,str);

但它不會返回如果我將'str'換成特定數組時的響應。

您需要刪除input行中,'s' :使用input(prompt) ,以便由Matlab 評估輸入。 這樣, input線將生成實際的數組。

就目前而言, input行僅會產生一個字符串,其字符串具有用戶選擇的名稱

因此,代碼應為:

prompt = 'Select a Letter: ';
secondArray = input(prompt);
common = intersect(A, secondArray);

您應該考慮使用map

您可以使用字符串設置數組:

arrayMapKeys = {"A", "B"}
arrayMapArray = {[1, 2], [3, 4]}
map = containers.map(arrayMapKeys, arrayMapArray)

然后,您可以執行以下操作:

[common]=intersect(A,map(str));

注意:代碼未經測試

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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