我正在使用“fuzarith”函数来分割两个模糊数;
C = fuzarith(X,A,B,运算符) x是行向量,其定义执行操作(在这种情况下为除法)的点的x坐标。我认为数学术语是abcissa。
A和B是由它们的3个顶点使用函数trimf(x,[a b c])定义的三角模糊数,其中a,b和c是顶点的x坐标,如下所示: 为了
X = 0:0.1:10;和 P = trimf(x,[3 6 8]);
现在如果我使用除法运算符,让我说我做[3 6 8] / [1 2 3], 结果r在数学上是[1 3 8],但matlab给出了< 101x1> r v / s x的图的纵坐标的列向量。
问题是如何从列向量中提取3个顶点。
答案 0 :(得分:1)
对于这个或类似的问题,您可以这样做:
y = fuzarith(x, A, B, 'div');
result = x([find(y ~= 0, 1, 'first') - 1, find(y == 1), find(y ~= 0, 1, 'last') + 1]);