hukuhara {SAFD} | R Documentation |
Given two polygonal fuzzy numbers the functions calculates the Hukuhara difference Y-X
if it exists. First the input data is tested for having the correct format using the function checking
. If the Hukuhara difference exists and pic
=1 then the input and the Hukuhara difference is plotted, otherwise no plot is produced.
hukuhara(X, Y, pic = 1)
X |
...polygonal fuzzy number (tested by checking )
|
Y |
...polygonal fuzzy number (tested by checking )
|
pic |
...numeric, if pic =1 then X , Y and Y-X (if existing) is plotted
|
See examples
In case the input data is in the correct form and the Hukuhara difference exists, the Hukuhara difference is returned, in case not, NA is returned.
In case you find (almost surely existing) bugs or have recommendations for improving the functions comments are welcome to the above mentioned mail addresses.
Wolfgang Trutschnig <wolfgang.trutschnig@softcomputing.es>, Asun Lubiano <lubiano@uniovi.es>
#Example 1: Y<-data.frame(x=c(0,0,0,1,2,2),alpha=c(0,0.5,1,1,0.5,0)) X<-data.frame(x=c(0,0,0,0,1.5,2),alpha=c(0,0.5,1,1,0.5,0)) Z<-data.frame(x=c(0,0,0,0.75,1.5,1.5),alpha=c(0,0.5,1,1,0.5,0)) hukuhara(X,Y,1) hukuhara(Z,Y,1) #Example 2: Y<-data.frame(cbind(x=c(-2,-0.75,-0.25,0.5,1),alpha=c(0.3,0,1,0,0.3))) X<-data.frame(cbind(x=c(-2,-0.75,-0.25,0.5,1),alpha=c(0,0.6,1,1,0))) hukuhara(X,Y) #Example 3: in this case the hukuhara diff has to exist by construction data(XX) X<-translator(XX[[1]],50) shift<-seq(-1,1,length=100) Y<-X Y$x<-X$x+shift hukuhara(X,Y,1) #Example 4: in this case the hukuhara diff has to exist by construction data(XX) X<-translator(XX[[1]],5000) shift<-seq(-1,1,length=10000) Y<-X Y$x<-X$x+shift H<-hukuhara(X,Y,1)