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