作者ggyy338 (屌哥大蛋捲)
看板MATLAB
標題[討論]
時間Sun Sep 9 15:30:24 2018
各位強者好
小弟不才在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://webptt.com/m.aspx?n=bbs/MATLAB/M.1536478226.A.020.html
※ 編輯: ggyy338 (223.137.48.127), 09/09/2018 15:30:43
1F:推 profyang: 不能這樣寫 首先A是數字 不能放文字進去 還有A和a是不同 09/09 15:33
2F:→ profyang: 的 最後if a(:,1)==2 那你到底是想要比A的哪個元素?外面 09/09 15:33
3F:→ profyang: 應該要加個for迴圈然後改成A(i,1)==2 之類的 09/09 15:34
4F:→ ggyy338: 大大您好A和a是筆誤,請問這個問題有需要用到迴圈嗎? 09/09 15:36
5F:推 rauljoker: 這個時候用{ }吧,可以同時儲存不同類型的資料。 然後 09/09 16:03
6F:→ rauljoker: 用個for 去存資料 09/09 16:03
7F:推 profyang: 要是我的話會這樣寫: A=[1;2;3;4;5;6]; 09/09 17:09
8F:→ profyang: Astr=cell(size(A)); Astr(A==2)={'是'}; 09/09 17:10
9F:→ profyang: Astr(A~=2)={'不是'} 總之文字和數字不要存同一個 09/09 17:10
10F:→ profyang: 或者 反正你只要判定是不是2 文字只有'是'或'不是' 那乾 09/09 17:11
11F:→ profyang: 脆用1和0代表就好 1就是'是' 0就是'不是' 這樣連文字都 09/09 17:11
12F:→ profyang: 不需要 而1或0這種邏輯數字有時運算上也很方便 09/09 17:11
13F:推 sppmg: 同樓上p大,0/1可用 true / false 。除 cell 外也可用 str 09/09 19:27
14F:→ sppmg: uct 增加可讀性。然後大寫問題,除了特定指令及變數,請一 09/09 19:27
15F:→ sppmg: 律小寫。 09/09 19:27
16F:→ ggyy338: 了解了,感謝樓上各位大大!但有辦法左行都是數值,下一 09/09 20:33
17F:→ ggyy338: 行都是判定的文字或是值嗎,有點像1 是 09/09 20:33
18F:→ ggyy338: 2 不是 09/09 20:33
19F:推 profyang: 你硬要這樣玩?那就這樣吧:A0=[1;2;3;4;5;6]; 09/09 21:17
20F:→ profyang: A=num2cell(A0); A(A0==2,2)={'是'}; A(A0~=2,2)={'否'} 09/09 21:17
21F:→ ggyy338: 大大,請收下我的膝蓋和容我叫你一聲大神 09/09 21:34
22F:推 profyang: 還是比較建議你用1和0 09/09 21:35
23F:→ ggyy338: 沒問題的,我會在試著用數字看看,若後續的計算還有問題 09/09 21:41
24F:→ ggyy338: ,還麻煩您指點了!! 09/09 21:41
25F:推 sherees: a = [a, a==2] 09/10 05:28
26F:推 profyang: 對的 用1/0的話就像樓上這樣一句就搞定 09/10 14:54