作者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/cn.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