用matlab检测某个数值是否在某个区间内,可能大家都会想到
%输入区间(a,b)的值,再输入需要判定的数x
if x>a&&x<b
disp("在区间内")
else
disp("不在区间内")
end
这种格式的判定函数。
如果区间有很多个,那可能会想到的解决方式就是区间都列出来。
%输入区间(a1,b1)(a2,b2)(a3,b3)的值,再输入需要判定的数x
judge=0;
if x>a1&&x<b1
judge=1;
end
if x>a2&&x<b2
judge=2;
end
if x>a3&&x<b3
judge=3;
end
if judge>0
disp("在区间内")
else
disp("不在区间内")
end
如果区间的个数是未知的话,比如可能3个区间也可能5个区间(比如根据情况批量生成,没有确定数值)。那就需要加上”统计计算区间个数“+”对每个区间遍历访问“的功能,代码如下:
%输入数值x
x=8;
%输入区间矩阵a(第一列小,第二列大)
a=[1,2;5,7.7;10,16;24,28;30.6,35];
[m,~]=size(a);
judge="不在区间内";
for i=1:m
if x>a(i,1)&& x<a(i,2)
judge="在区间内";
end
end
disp(judge)
写这个代码主要是服务于txt的改写功能。
比如一个txt内,需要把5-6行,7-10行,22-25行,30-35行………这样很多个行跳着修改成新内容,就需要有这样一个函数,来判断各行是应该重写还是写新内容。