提取y坐标矩阵格式的三角形的顶点

时间:2013-02-14 12:03:51

标签: matlab vector fuzzy

我正在使用“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]);

  

triangular fuzzy number

现在如果我使用除法运算符,让我说我做[3 6 8] / [1 2 3], 结果r在数学上是[1 3 8],但matlab给出了< 101x1> r v / s x的图的纵坐标的列向量。

问题是如何从列向量中提取3个顶点。

1 个答案:

答案 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]);