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