[讨论] 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