[討論] if 句和文字搭配問題

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

Links booklink

Contact Us: admin [ a t ] ucptt.com