看板 MATLAB 關於我們 聯絡資訊
各位強者好 小弟不才在if句判斷上遇到了一些問題,希望有好心人士可以指導QAQ CLC CLEAR A=[1;2;3;4;5;6]; If a(:,1)==2 a(:,2)==(‘是’); end 我想做些資料上的判斷,如果A裡頭的值有2,則在他旁邊的位置放入’是’ 之後可能會在不是2的值旁放入’不是’ 但試了好久就是不知道哪邊有問題 求好心人士指點QAQ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.48.127 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1536478226.A.020.html ※ 編輯: ggyy338 (223.137.48.127), 09/09/2018 15:30:43
profyang: 不能這樣寫 首先A是數字 不能放文字進去 還有A和a是不同 09/09 15:33
profyang: 的 最後if a(:,1)==2 那你到底是想要比A的哪個元素?外面 09/09 15:33
profyang: 應該要加個for迴圈然後改成A(i,1)==2 之類的 09/09 15:34
ggyy338: 大大您好A和a是筆誤,請問這個問題有需要用到迴圈嗎? 09/09 15:36
rauljoker: 這個時候用{ }吧,可以同時儲存不同類型的資料。 然後 09/09 16:03
rauljoker: 用個for 去存資料 09/09 16:03
profyang: 要是我的話會這樣寫: A=[1;2;3;4;5;6]; 09/09 17:09
profyang: Astr=cell(size(A)); Astr(A==2)={'是'}; 09/09 17:10
profyang: Astr(A~=2)={'不是'} 總之文字和數字不要存同一個 09/09 17:10
profyang: 或者 反正你只要判定是不是2 文字只有'是'或'不是' 那乾 09/09 17:11
profyang: 脆用1和0代表就好 1就是'是' 0就是'不是' 這樣連文字都 09/09 17:11
profyang: 不需要 而1或0這種邏輯數字有時運算上也很方便 09/09 17:11
sppmg: 同樓上p大,0/1可用 true / false 。除 cell 外也可用 str 09/09 19:27
sppmg: uct 增加可讀性。然後大寫問題,除了特定指令及變數,請一 09/09 19:27
sppmg: 律小寫。 09/09 19:27
ggyy338: 了解了,感謝樓上各位大大!但有辦法左行都是數值,下一 09/09 20:33
ggyy338: 行都是判定的文字或是值嗎,有點像1 是 09/09 20:33
ggyy338: 2 不是 09/09 20:33
profyang: 你硬要這樣玩?那就這樣吧:A0=[1;2;3;4;5;6]; 09/09 21:17
profyang: A=num2cell(A0); A(A0==2,2)={'是'}; A(A0~=2,2)={'否'} 09/09 21:17
ggyy338: 大大,請收下我的膝蓋和容我叫你一聲大神 09/09 21:34
profyang: 還是比較建議你用1和0 09/09 21:35
ggyy338: 沒問題的,我會在試著用數字看看,若後續的計算還有問題 09/09 21:41
ggyy338: ,還麻煩您指點了!! 09/09 21:41
sherees: a = [a, a==2] 09/10 05:28
profyang: 對的 用1/0的話就像樓上這樣一句就搞定 09/10 14:54