簡體   English   中英

找到'名稱'而不是持有最大值的變量的值MATLAB

[英]find 'name' not the value of variable that holds maximum value matlab

假設我們有30個變量,我正在尋找一種方法來找出哪個值具有最大的價值。 我需要它的“名稱”,而不是它的價值。 例如:

I1=10
I2=12
I3=14
I4=90
I5=5
I6=90

我如何編碼返回“ I4”和“ I5”的函數。 不能只返回90。

一種方法是先找到最大值,然后通過比較每個變量我們可以找出變量的名稱。 但是,如果我們有很多變量,則效率不高。 有人有主意嗎? 提前致謝。

最好將cell數組用於此類操作,但是無論如何您都可以執行以下操作:

names = who('-regexp', 'I[0-9]+');
values = cellfun(@eval, names);
maxValue = max(values);
maxNames = names(values == maxValue)

暫無
暫無

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

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