這是我的問題。 我做了一個算法,使某些單詞的排列。我用一個數值替換每個單詞,這樣我就可以對它們進行算術運算(例如1 ='香蕉'2 ='孩子'3 ='汽車'4 ='樹'等)。 假設運行一個算法後,matlab給了我這個矩陣作爲結果: ans = [2,2,1; 4,3,3] 我永遠無法知道的是如何告訴他 - 用符號替代數字並且寫下:如何將數字結果轉換爲符號或字符串?
ans = [child,child,banana;樹,車,車] - 所以我不必查看圖表中的每個數字,並用相應的單詞替換它!?
這是我的問題。 我做了一個算法,使某些單詞的排列。我用一個數值替換每個單詞,這樣我就可以對它們進行算術運算(例如1 ='香蕉'2 ='孩子'3 ='汽車'4 ='樹'等)。 假設運行一個算法後,matlab給了我這個矩陣作爲結果: ans = [2,2,1; 4,3,3] 我永遠無法知道的是如何告訴他 - 用符號替代數字並且寫下:如何將數字結果轉換爲符號或字符串?
ans = [child,child,banana;樹,車,車] - 所以我不必查看圖表中的每個數字,並用相應的單詞替換它!?
如果你有你這句話的數組,並與指數另一個數組,可以產生與對應的字,像這樣替換各項指標的數組:
words = {'banana','child','car','tree'};
numbers = [2 2 1;4 3 3];
>> words(numbers)
ans =
'child' 'child' 'banana'
'tree' 'car' 'car'
您還可以使用ordinal數據類型如果你有統計工具箱。
>> B = ordinal([2 2 0; 4 3 3], {'banana','child','car','tree'})
B =
child child banana
tree car car
請注意,它會自動處理零。然後你可以做這樣的事情:
>> B=='child'
ans =
1 1 0
0 0 0
狗屎 - 我用了零!現在怎麼辦?!它說下標指數必須是真正的正整數或邏輯。我真的想避免重寫算法中的所有命令......如果可能的話 – Davor 2011-04-14 17:58:19
@Davor:如果代碼只是從0開始而不是1開始計數,那麼使用'numbers + 1'來索引。如果零表示空格或虛擬單詞,請在虛擬單詞前面加上「單詞」,並使用「數字+ 1」進行索引。 – Jonas 2011-04-14 18:12:06
非常感謝 - 我寫了A = ones(m,n),並將它添加到我使用的矩陣中 - 它功能非常好。我終於可以從我的作品開始。 – Davor 2011-04-14 19:21:49