3
$\begingroup$

I'm not very good at mathematics, so please bear with me.

How can you determine / define a function based on sets of values of its input and output parameters.

You have: $f(x_{1_1}, x_{1_2}, \ldots , x_{1_n}) = y_1$

$f(x_{2_1}, x_{2_2}, \ldots , x_{2_n}) = y_2$

...

$f(x_{n_1}, x_{n_2}, \ldots , x_{n_n}) = y_n$

You want: $f(x_1, x_2, \ldots , x_n) = a_1(x_1)^{b_1} + a_2(x_2)^{b_2} + \cdots + a_n(x_n)^{b_n}$

Let's assume that you have enough (how much is enough?) sets of input and output parameters.

What software could do this and how (excel, mathematica, r, ... ?). I'm looking for the simplest solution.

p.s. I need it only to define $f(x_1,x_2)=y$ function, but at the same time I'd like to learn more about all of this. Thank you for your time and answers.

  • 0
    I am $f$ree to choose the sample points. Well there de$f$initely is an upper bound $f$or exponents, I guess it should be 3 or 4.2011-12-28

2 Answers 2

4

You are solving a set of nonlinear simultaneous equations. As you have $2n$ values to evaluate (all the $a_n$'s and all the $b_n$'s) you need $2n$ pieces of data. In general there will be many solutions because of the $b_n$ exponents-do you really mean that? If all the $b_n$ are $1$ the problem is linear and much easier. For the linear problem the solutions are not hard and Excel's matrix tools will find the solution. For the nonlinear problem you will probably find too much of a mess without using a multidimensional function minimizer, found in many numerical analysis texts (and Excel's Goal Seek) but that gives a numeric answer, not an algebraic one.

  • 0
    I have no idea what kind of a function f(x,y) could be. What I mean was that I would want to get something like this: f(x,y) = 5*x^3 *y^2 + 7*x^2*y^$4$ + 3xy + 5y^22011-12-28
1

Each data point $f(x_{i,1},\ldots,x_{i,n}) = y_i$ corresponds to one equation in the $2n$ variables $a_1, b_1, \ldots, a_n, b_n$. "Typically" you'd want the same number of equations as variables. Unfortunately these are nasty transcendental equations. It's hard to predict whether real solutions will exist or be unique, and finding them will almost certainly require numerical methods. Maple, Mathematica, Matlab, maybe even Excel will probably be able to solve the equations. For example, here's Maple on a randomly-chosen case with $n=3$.

eqs:= {a1*5^b1+a2*2^b2+a3*5^b3 = 6, a1*2^b1+a2*3^b2+a3*4^b3 = 4, a1*6^b1+a2*5^b2+a3*3^b3 = 1, a1*5^b1+a2*2^b2+a3*3^b3 = 2, a1*2^b1+a2*4^b2+a3*3^b3 = 3, a1*1^b1+a2*2^b2+a3*5^b3 = 4};

fsolve(eqs);

${a1 = -3.575581132, a2 = 6.279366686, a3 = -30.92905576, b1 = 66.19615719, b2 = -2.879205097, b3 = 11.74564989}$