is.decreasing.on.y {FuzzyNumbers.Ext.2}R Documentation

Diagnosis a decreasing two-variable function toward y

Description

is.decreasing.on.y tests for any fixed x from x.bound, if the introduced two-variable function f(x,y) is decreasing toward y on the considered y.bound or not. In other words, is.decreasing.on.y returns TRUE if the introduced function f(x,y) is decreasing function of y on the considered y.bound (for any fixed x in x.bound); and it returns FALSE otherwise. The goal of introducing function is.decreasing.on.y in package FuzzyNumbers.Ext.2 is using in function f2apply.

Usage

is.decreasing.on.y(fun, x.bound = c(-1, 1), y.bound = c(-1, 1), step = 0.01)

Arguments

fun

a two-variable R function

x.bound

a vector with two real ordered elements which determine a bound on x-axis for checking the monotonic

y.bound

a vector with two real ordered elements which determine a bound on y-axis for checking the monotonic

step

a positive real-valued number which determine the increment of the considered sequence for checking the monotonic of the considered function. The default of step is 0.01. Increasing step value can cause the decreasing the time of computation and also cause the decreasing the precision of the calculations.

Value

TRUE for two-variable function f(x,y) which is decreasing toward y on y.bound (for any fixed x from x.bound); and otherwise FALSE

See Also

is.decreasing, is.decreasing.on.x

Examples

is.decreasing.on.y(fun=function(x,y) 2*x-y, x.bound=c(0,2), y.bound=c(1,2), step=.2)

H = function(x,y) pnorm(x)-pnorm(y)
is.decreasing.on.x(H)
is.decreasing.on.y(H)

## The function is currently defined as
function (fun, x.bound = c(-1, 1), y.bound = c(-1, 1), step = 0.01) 
{
    x = seq(x.bound[1], x.bound[2], by = step)
    for (i in 1:length(x)) {
        g = function(y) fun(x[i], y)
        if (is.decreasing(g, y.bound, step) == FALSE) {
            return(FALSE)
        }
    }
    return(TRUE)
  }

[Package FuzzyNumbers.Ext.2 version 3.2 Index]