MATLAB中的一个问题!

来源:百度知道 编辑:UC知道 时间:2024/05/31 11:05:46
我现在有一个一列的矩阵(UCS)
我要对这一列数字做比较,
假如,当0<UCS<1时,S=1
当1<UCS<2时,S=2
一直到当UCS>9的时候,S=10
我用SWITCH的时候 后面不能直接用UCS这个,用IF的时候,好像编错了,总是只等于最后ELSE所赋的值。
求高手解答!!!
不行,而且你写的UCS的范围好像不对样。
U

不要看范围写得不一样,但是结果是一样的。你运行一下就知道了。
如果数值都和你描述的一样,我有一个更简单的方法

floor(UCS)+1;

如果非要写出你那个结构,还要用if 写,那按顺序些就行了

if UCS>9 s=10; end
if UCS<9 s=9; end
if UCS<8 s=8; end
........
if UCS<3 s=3; end
if UCS<2 s=2; end
if UCS<1 s=1;end

可以实现你所需要的效果,不需要去考虑复杂的if else 等语句了,而且这种方法的执行效率还很高。