Mathematical relation identification apparatus and method6519545Abstract A mathematical relation between base variables (x1, x2, . . . , xp), when a set of input data d is composed of p base variables (x1, x2, . . . , xp), and a plurality of data sets d (i) of such data set d is inputted, the data sets d(i) are distinguished by an input data distinguishing parameter i. When victors in a q dimensional space, mapped from the input data through q base functions (f1, . . . , fq), form a plane, a mathematical relation can be a linear combination of the base functions. A set of base functions (f1, . . . , fq) are prepared. Sets of the values F(i)=(F1i, . . . , Fqi) of the base functions corresponding to the input data d (i) are acquired. The sets F(i) are considered points in a q dimensional space. Direction cosine of a mapping plane is acquired through cofactors of a determinant of these points, or by solving an eigenvalue problem for determining a plane, the square sum of the perpendicular lines from these points to the plane is minimum. When the direction cosine of the plane is (L1, . . . , Lq), the following mathematical relation is outputted: q.SIGMA.(Lk.times.fk)=0k=1. Claims What is claimed is: Description TECHNICAL FIELD
BF_ARRAY
mathematical basic variables to be
function inputted to temporal
output program input references
1 g0 --
x1 g1 IN(1) = x1
x1.sup.2 g2 IN(1) = x1
x1 .multidot. x2 g8 IN(1) = x1
In(2) = x2
x1 .multidot. x3 g8 IN(1) = x1
In(2) = x3
dx1/dx3 g14 IN(1) = x1(i + 1)
differential IN(2) = x1(i)
IN(3) = x3(i + 1)
IN(4) = x3(i)
The base function defining means 4 can be realized as a file F4 storing a program for defining base functions or a memory storing defined base functions E. Candidate Mathematical Function Specifying Means 5 and Candidate Mathematical Functions Specifying Procedure P5 A candidate mathematical function specifying means 5 specifies a set of base functions selected from the base functions defined by the base function defining means. The temporal candidate mathematical relation shall be specified according to a theoretical ground or an empirical law. The temporal candidate mathematical relations can not be determined uniquely, but shall be determined by a person skilled in the art so that the mathematical relation of the object can be appropriately expressed, using a small number of simple mathematical functions. For example, following mathematical relations can be supposed for representing a trajectory of the golf club head shown in FIG. 5: #1) p.multidot.x.sup.2 +q.multidot.y.sup.2 +r.multidot.z.sup.2 +a.multidot.x+b.multidot.y+c.multidot.z+d0+d1.multidot.t+d2.multidot.t. sup.2 =0 (6) #2) a.multidot.x+b.multidot.y+c.multidot.z+d.multidot.1=0 (7) The expression #1) represents a model of a movement on an ellipsoid, which has a fixed center and the size is changing according to a quadric function of time t. The expression #2) represents a model of a movement on a plane in an actual space, the distance from the origin to the plane is d, and the direction cosine of the plane is (a, b, c). When it is estimated that both of the mathematical relations stand, the trajectory of the golf club head can be identified as a cross sectional line of a size changing ellipsoid and a static plane. In the case #1), the candidate mathematical relation can be defined by selecting the following set of base functions (f1, . . . , f9):
CF (1)
Mathematical Reference Variable
Base function function program IN(1)
f1 = x.sup.2 g2 x
f2 = y.sup.2 g2 y
f3 = z.sup.2 g2 z
f4 = x g1 x
f5 = y g1 y
f6 = z g1 z
f7 = 1 g0 --
f8 = t g1 t
f9 = t.sup.2 g2 t
In the case #2), the candidate mathematical relation can be defined by selecting the following set of base functions (f1, . . . , f4):
CF (2)
Mathematical Reference Variable
Base function function program IN(1)
f1 = x g1 x
f2 = y g1 y
f3 = z g1 z
f4 = 1 g0 --
When input data d(i) of the form of a foot shown in FIG. 3 are expressed in terms of a polar coordinate (r, .theta.), in reference with an origin O, and when the form of the foot is approximated as forms (d), (e), and (f) shown in FIG. 3, namely, the forms d, e and f are represented in a form of r=r(.theta.), as shown in (g) of FIG. 3, an example of the candidate mathematical relation between r and .theta. is as follows: #1) r=a+b.multidot..theta.+c.multidot..theta..sup.2 +d.multidot.cos .theta.+e.multidot.cos 2.theta.+f.multidot.sin .theta.+g.multidot.sin 2.theta.+h.multidot..theta.cos .theta.+i.multidot..theta. sin .theta. (8) In this case, the candidate mathematical relation can be defined by selecting the following set of base functions (f1, . . . , f10):
CF (3)
Mathematical Reference Variable
Base function function program IN(1)
f1 = 1 g0 --
f2 = .theta. g1 .theta.
f3 = .theta..sup.2 g2 .theta.
f4 = cos.theta. g4 .theta.
f5 = cos2.theta. g5 .theta.
f6 = sin.theta. g6 .theta.
f7 = sin2.theta. g7 .theta.
f8 = .theta.cos.theta. g8 .theta.
f9 = .theta.sin.theta. g9 .theta.
f10 = r g11 r
This set of base functions are no more than an example. It is possible to select another set of base functions, for specifying another candidate mathematical relation. In connection with the form of the interior surface of a shoe shown in FIG. 4. It is possible to specify a candidate mathematical relation, by selecting a similar set of base functions. In connection with a trajectory of a ball thrown by a pitcher shown in FIG. 6, a candidate mathematical relation in an orthonormal coordinate system (x, y, z) can be assumed as follows: x+a0+a1.multidot.t+a2.multidot.t.sup.2 =0 (9-1) y+b0+b1.multidot.t+b2.multidot.t.sup.2 =0 (9-1) z+c0+c1.multidot.t+c2.multidot.t.sup.2 =0 (9-1) In this case, the candidate mathematical relation between x and t can be defined by selecting the following set of base functions (f1, . . . , f4):
CF (4)
Mathematical Reference Variable
Base function function program IN(1)
f1 = x g1 x
f2 = 1 g0 --
f3 = t g1 t
f4 = t g2 t
Also in connection with the y, z, similar temporal candidate mathematical relations can be specified. In connection with FIG. 7, assuming that there is a following empirical relation between the pressure P, temperature T, concentration of a composition A, concentration Y of a component B, and a concentration Z of a product: Z/XY=K0+K1.multidot.P+K2.multidot.T+K3.multidot.X (10-1) This expression can be rewritten as follows: K0.multidot.XY+K1.multidot.XYP+K2.multidot.XYT+K3.multidot.X.sup.2 Y-Z=0 (10-2) In this case, a candidate mathematical relation can be defined by selecting the following set of base functions (f1, . . . , f5). f1=XY, f2=X.multidot.T.multidot.P, f3=X.multidot.Y.multidot.T, f4=X.sup.2.multidot.T, f5=Z
CF (5)
Mathematical Reference Variable
Base function function program IN(1) IN(2) IN(3)
f1 = XY g10 X Y
f2 = XYP g14 X Y P
f3 = XYT g14 X Y T
f4 = X.sup.2 T g13 X T
f5 = Z g1 Z
A candidate mathematical relation specifying means can be realized as a file F5 storing a program for specifying a candidate mathematical relation and/or as a memory storing sets of base functions as candidate mathematical relations. This program can include a program for sequentially specifying different candidate mathematical relations according to a signal from a validity estimating means. F. Vector Component Acquisition Means 6, Vector Component Acquisition Procedure P6 and Memory 7 for Vector Component Array Value xji of basic variable xj is sent to the input reference variable IN(r) of each of the base functions, so as to be substituted into the mathematical program, then the acquired value Fki of the function is outputted as a vector component. It is preferable that the vector component acquisition means (6) comprises an array INA for temporary storing the values of basic variables transferred from a data array DATA_ARRAY in the memory (2) for input data, and that the sets of data d(i) are sent form the array DATA_ARRAY for every input data specifying parameter i to this array. It is further preferable that the values xmi (i=1, 2, 3, . . . ) of the m-th base function are sequentially transferred into the m-th element INA[m] of this array INA. For example, when d is a set of data X, Y, Z, P, T, namely d=(X, Y, Z, P, T), data of X, Y, Z, P, T are stored in the element INA[1], INA[2], INA[3], INA[4), and INA[5] of the array INA. It is preferable that the base function defining means defines the content of the input reference variable of a base function, by defining what variable shall be stored in each of the element INA[m] of this array INA. For example, the input reference variables of the base functions f1 (=XY), f2 (=XYP), f3 (=XYT), f4(=X.sup.2 T) and f5(=Z) in CF(5) are variables X, Y, Z, P and T. And the base functions can be defined as follows: CF(G)
CF(6)
Mathematical
function Input reference variables
program IN(1) IN(2) IN(3)
f1 g10 INA[1] INA[2]
f2 g14 INA[1] INA[2] INA[4]
f3 g14 INA[1] INA[2] INA[5]
f4 g13 INA[1] INA[5]
f5 g1 INA[3]
When data d(i) are transferred to the input variable array INA for every input data specifying parameter i, basic variables xr are transferred to the corresponding input reference variables IN(r) of each of the base functions through this array INA. The values xji of the basic variable N are transferred to the input reference variable of each of the base function, indirectly through the array INA or directly without passing through this array. Then the values are substituted into the mathematical function program and the values Fki are acquired. The values Fki are stored into a vector component array VC_ARRAY. By the way, it is not necessary to acquire the values Fki for all of the data set d(i). An embodiment to acquire the values Fki for only a part of the data sets d(i) is possible. When a set of data is comprised of basic variables X, Y, Z, P and T, namely d=(X, Y, Z, P, T), data d(i), for example, d(5) is transferred to the input reference variabls IN(r) of the base functions f1=XY, f2=XYP, f3=XYT, f4=X.sup.2 T, and f5=Z of temporal candidate mathematical relation #1) through the array INA[r]is follows: INA[1]=X5.fwdarw.IN(1)=X5 INA[2]=X5.fwdarw.IN(2)=X5 INA[3]=X5.fwdarw.IN(3)=X5 INA[4]=X5.fwdarw.IN(4)=X5 INA[5]=X5.fwdarw.IN(5)=X5 Then the values of each of the base functions are acquired: F15=XY=g10(X5, Y5)=X5.multidot.Y5 F25=XYP=g14(X5, Y5, P5)=X5.multidot.Y5 P5 F35=XYT=g14(X5, Y5, T5)=X5.multidot.Y5.multidot.Y5 F45=X.sup.2 Y=g13(X5, Y5)=(X5).sup.2.multidot.Y5 F55=Z=g1(Z)=Z5 Vector components (F1i, F2i, F3i, F4i, F5i) for each data specifying parameter i will be acquired similarly. The vector component acquiring means 6 can be realized as a file F6 storing a vector component acquisition program for carrying out the above mentioned functions. A set of the function values (F1i, F2i, . . . , Fqi) corresponding to a specific value of the parameter i forms a vector F(i) in a q dimensional space. The vectors F(i) (i=1, 2, . . . ) are stored in a vector component array VC_ARRAY in a memory for a vector component array. The array is a two dimensional array having q columns. An array VC_ARRAY is shown below, where s is the number of data sets:
VC_ARRAY
F11 F21 F32 . . . Fq1
F12 F22 F32 . . . Fq2
. . . . .
. . . . .
. . . . .
F1qs F2s F3s . . . Fqs
G. Direction Cosine Acquisition Means 8 and Direction Cosine Acquisition Procedure P8 When the vectors F(i) stored in the vector component array VC ARRAY form a plane in a q dimensional vector space F, or they distribute near to a plane in the space, the direction cosine acquisition means (8) acquire the direction cosine of the plane, using a calculation of cofactors of a determinant or by obtaining an eignevalue of a matrix, for example. G1. Direction Cosine Acquiring Means Using Cofactors of a Determinant The base of the mathematical ground this method is explained in Appendix C. This method is suitable in case that the number of the data sets is small. The direction cosine acquisition means using a cofactor of a determinant in a best mode comprises: a determinant array forming means 8A1, a cofactor calculating means 8A2, a plane degree index calculating means 8A3, plane degree judging means 8A4 and a direction cosine outputting means 8A5. A determinant array forming means 8A1 selects q vectors arbitrary from the array VC_ARRAY, and forms a determinant of (q.times.q). When q vectors F(1), . . . , F(q) are selected, the determinant is as follows: ##EQU2## The cofactor calculating means 8A2 calculates minors As1, As2, . . . , Asq for each row s of this determinant. The direction cosine outputting means output multiplies (-1) (k+s) to each of the minors Ask, to obtain cofactors Bsk, and output the cofactors as direction cosines Lk. In this specification, the symbol " " means a power. When the square sum of the L1, L2, . . . , Lq are normalized to be one, a direction cosine in an ordinal meaning can be obtained. (L1).sup.2 +(L2).sup.2 =1 (12) The plane degree index calculating means 8A3 means calculates a plane degree index PI form the minors. The plane degree index is explained in Appendix D. The plane degree judging means 8A4 judges whether the difference between the plane degree index obtained by the plane degree index calculating means and a predetermined standard value pi is within a allowable region dPI or not. The standard value pi of the plane degree index PI and the allowable region dPI are explained in Appendix D. When the difference is out of the allowable region, the sets of the data may include sets of data having a large error, thus this sets of data shall be abandoned, and sends a signal to the determinant array forming means to select other sets of data. When the difference is within the allowable region, the plane degree judging means sends a signal to the direction cosine outputting means (8A5) to output the cofactors or to output mean values of each of the cofactors <L1>, . . . , <Lq>. As explained in Appendix E, the plane degree judging means (8A4) can have a function to judge whether specific cofactors (or minors) are always equal to zero or not. Another candidate mathematical relation shall be set, when some specific cofactors are always equal to zero. In a best mode, the apparatus according to the present invention calculates a plane degree index and estimate it, as has been explained. However, when it is clear that the errors of data d(i) are small, the calculation is not necessary. The direction cosine can be acquired, by calculating a set of cofactors for an arbitrary row of the determinant, without passing through the procedure of calculating the plane degree index and judging the plane degree. The determinant correspond to vectors F(1), F(2), . . . , F(q). In this case, the normalization is not inevitable. The method for calculation of the determinant, minors, and cofactors using a computer are well known, thus the explanations about them are omitted. G2. Direction Cosine Acquiring Means Using Eignevalue of a Matrix This means and method are suitable, when a lot of data sets d(i) can be acquired. The ground of this method is explained in Appendix F. As explained there, an eigenvalue corresponds to the square sum the perpendicular lines from each of the vectors F(i) to a mapping plane. It is explained in Appendix G that all the eigenvalues are real number and non-negative. By obtaining a positive eigenvalue smaller than a value .lambda.0, which is a predetermined value of the square sum of the length of the perpendicular line, and obtaining the eigenvector corresponding to the eigenvalue, the mapping plane can be determined. In the best mode of the direction cosine acquisition means 8 using an eigenvalue comprises: a correlation sum calculating means 8B1, a eigenvalue calculating means 8B2 and a eigenvector calculating means 8B2. The correlation sum calculating means 8B1 calculates a sum of the product of a-th (a=1, . . . , q) element Fai and b-th (b=1, . . . , q) element Fbi in the vector component array VE_ARRAY (Appendix (F3), (F17)). The obtained correlation sums form a correlation matrix C and are stored in a correlation sum array CO_ARRAY. Namely, the element <a.vertline.b> of the correlation sum is stored at a-th row, b-th column in the array CO_ARRAY. An example of the correlation sun array is shown below. ##EQU3## A secular equation corresponding to the correlation sum C is formed. And the eigenvalue calculating means 8B2 solves the secular equation, to obtain positive eigenvalues .lambda.1, .lambda.2, . . . of the secular equation, which are close to zero, namely smaller than a predetermined value .lambda.0. It is possible to obtain all the eigenvalues, and to select eigenvalues smaller than a predetermined value .lambda.0 In this case, all the eigenvalues must be obtained by an all eigenvalue caluculation means ALL, and smaller eigenvalues are selected using a comparator COMP. However, when the secular equation is developed into a polynomial of (-.lambda.) using a polynomial forming means POLYNOM, the eigenvalues can be obtained easily in short time. In the development of the equation, t-th traces of the secular equation, which can be obtained using a trace calculation means, can be used. The zero points of the polynomial in a region [0, .lambda.0] are calculated. This method is explained in Appendix H. In the next step, the eigenvector calculating means 8B3 calculates an eigenvector corresponding to eigenvalues .mu.m. The method to obtain an eigenvector from an eigenvalue is known, thus the explanation is omitted. By the way, the number of eigenvalues close to zero (eigenvalues smaller than a predetermined value .lambda.0) is not always one. For example, assuming that points P(i) in a q dimensional space correspond to data d(i). When the points P(i) distribute along a line, which is a cross sectional line of two (q-1) dimensional planes in the q dimensional space, one can understand that the data d(i) are mapped to two mapping planes. For example, assuming that a trajectory of a golf club head is a cross sectional line of an ellipsoid and a plane, when base functions corresponding to the expression (6) is selected as a candidate mathematical relation, two sets of eigenvectors, one of them corresponds to an equation of an ellipsoid and the other corresponds to an equation of a plane, can be obtained. The direction cosine acquisition means can be realized as a file F8 storing a ( ) direction cosine acquisition program, which acquires a direction cosine according to G1 or G2. H Validity Estimating Means 9 and Validity Estimating Procedure P9 A validity estimating means 9 estimates the validity of the obtained mathematical relation on the basis of the eigenvalue, which corresponds to the obtained direction cosine acquired in the direction cosine acquisition means P9. For example, zero points in region [0, .lambda.0] can be obtained after developing the secular equation into a polynomial. However, the allowance of the measurement error shall be determined independently, on the basis of industrial or commercial grounds. When a smaller allowance of the measurement error is permissible, the allowance of eignevalue .lambda.ref shall be set smaller than the allowance value .lambda.0, so as to abandon the eigenvalues larger than the value .lambda.ref. When the candidate mathematical relation is not be appropriate, or the sets of data may include data set including large error data, the eigenvalue will become larger than the value .lambda.ref. In such a case, the process returns to the procedure P6 to select another sets of data d(i), or returns to the procedure P5 to select another candidate mathematical relation. Namely, when the eignevalue is not smaller than the predetermined value, the candidate mathematical relation will be abandoned, and the process returns to the candidate mathematical relation specifying procedure P5, as shown in FIGS. 1 and 2. The candidate mathematical relation specifying means 5 selects another mathematical relation, the vector component acquisition means 6 calculates the vector components, and the direction cosine acquisition means 8 acquires again a direction cosine. These procedures are repeated, until an appropriate eigenvalue is obtained. When no candidate mathematical relation can be predicted, different temporal candidate mathematical relations are set sequentially and/or different sets of data d(i) are set sequentially, and the mathematical relation identification procedure is repeated, so as to acquire an eigenvalue as small as possible. When a certain candidate mathematical relation can be predicted, for example, it is certain that the form is a paraboloid and only the identification of the values of the parameters is required, the base functions shall be fixed, so that the mathematical relation can be identified only by obtaining the direction cosine. It is no need to return to the candidate mathematical relation specifying procedure P5. By the way, the validity estimating means is not inevitable to carry out the present invention. For example, when allowed time for data processing is short, and it is known that the error in the input data is small, the validity estimating means can be omitted. The validity estimating means 9 can be realized as a file F9 storing a validity estimating program for estimating the validity. I. Mathematical Relation Outputting Means 10 and Mathematical Relation Outputting Procedure P10 When the direction cosine of the mapping plane for each of the base function is Lk (k=1, 2, . . . , q), and the validity estimating means 9 estimates that the eigenvalue is valid, mathematical relation outputting means 10 outputs an expression corresponding to the following mathematical relation as the acquired mathematical relation: ##EQU4## For example, when the obtained direction cosine of the temporal candidate mathematical relation of the example of CF(5) is (L1, L2, L3, L4, L5), the following mathematical expression or an expression or value deduced from the expression is outputted: L1.multidot.f1+L2.multidot.f2+L3.multidot.f3+L4.multidot.f4+L5.multidot.f5= 0 (15) Namely, the following expression will be outputted: L1.multidot.XY+L2.multidot.XYP+L3.multidot.XYT+L4.multidot.X.sup.2 Y+L5.multidot.Z=0 (16) Because f1=XY, f2=XYP, f3=XYT, f4=X.sup.2 Y, and f5=Z, according to CF(5). The mathematical relation can be sent to a controlling apparatus, display, or printer, etc, which are connected to the apparatus of the present invention. The controlling apparatus will carry out a necessary calculation on the basis of the mathematical relation and sends a controlling signal to another apparatus. The mathematical relation outputting means can be realized as a file F10 storing a mathematical relation outputting program for outputting a mathematical relation. As explained, an apparatus for identifying a mathematical relation in best mode can be realized using: a file F1 storing a data acquisition program, a file F2 storing a data array forming program when it is necessary, a file F3 storing prepared mathematical function programs and/or a mathematical program forming program, a memory storing base functions and/or a file F4 storing a base function defining program, a file F5 storing a program for specifying a candidate mathematical relation and/or specifying a memory storing sets of base functions as candidate mathematical relation, a file F6 storing a vector component acquisition program, a file F8 storing a direction cosine acquisition program, a file F9 storing a validity estimating program, a file F10 storing a mathematical relation outputting program, and a file F11 storing a control program for controlling these programs to function as described in this specification. INDUSTRIAL APPLICABILITY A. The present invention can be applied as an apparatus for measuring a form of an object: For example, a form of a foot or a form of an interior of a shoe can be identified using the apparatus according to claim 1, then the form of such an object can be specified using a set of direction cosine or a set of values deduced from the direction cosine. Namely, selecting an appropriate set of base functions, a form can be expressed as a linear combination of the base functions. The form can be represented by the combination coefficient. A data base of a form can be constructed, using this coefficient as a parameter. B. The present invention can be used as an apparatus for identifying a trajectory of a moving object. The mathematical relation of a trajectory of a golf club head, or a ball thrown by a pitcher, etc., can be identified, so that the trajectory can be analyzed or the trajectory in the future can be predicted An application to an identification of a trajectory of a golf club head and its analysis are explained, in Appendix I. C. The present invention can be applicable as an analyzer of measured data. A mathematical relation can be identified with relatively small number of experiments, even when a set of data is comprised of a lot of parameters, for example, a data of a chemical process. There is a case that a differential equation can be identified from data, when the data shall be described by a differential equation. An example is shown in Appendix J. APPENDIX A <Relation Between Combination Coefficients and Direction Cosine> In the present invention, a mathematical relation is expressed as a linear combination of base functions fk k=1, 2, . . . , q). The principle of the present invention is that a linear combination of base functions is supposed as a candidate mathematical relation, and input data are transformed to sets of data in a q dimensional space spanned by the base functions, each set of data forms a vector in the space, when the vectors are found in a plane in the q dimensional space, the supposed mathematical relation is understood to be correct.. The essential idea of the present invention is to propose an apparatus and method for finding the direction cosine of the plane and for outputting the mathematical relation. For example, when sets of input data with two variables d(i)=(x(i), y(i)) (i=1 . . . ) are given, and the following mathematical relation is supposed to stand: a.multidot.x.sup.2 +b.multidot.x+c.multidot.y+d.multidot.1=0 (A1) The sets of data (x, y) shall form a parabola curve. Although, when the data (x, y) are transformed by a set of functions, x1=x.sup.2, x2=x, x3=y, x4=w where (w=1), the following relation will be obtained: a.multidot.x1+b.multidot.x2+c.multidot.x3+d.multidot.x4=0 (A2) x4=1 (A3) We introduce a 4 dimensional vector P(x1, x2, x3, x4) having vector components (x1, x2, x3, x4). A point P(i) corresponding to a set of data d(i) can be found at a cross sectional line of two planes, a first plane 1 satisfies the relation (A1), and a second plane 2 satisfies the relation (A3) The proportion of the direction cosine of the plane 1 are (a:b:c:d) Therefore, if one can determine the direction cosine of the plane 1 from the sets of input data d(i), and when the relation (A3) is combined, one can identify the mathematical expression to be a parabola curve. The present invention generalizes this idea. Namely at first, a set of base functions, inputs variables of which are measured values, are defined. A candidate mathematical relation is predetermined by selecting a set of the base functions. The measured valued are inputted into each base function to obtain the value of the base function. The set of the values of the base functions forms a vector space, namely the measured data are mapped into a vector space. When the mapping is a plane in the vector space, the direction cosine of the plane is calculated. Finally, the mathematical relation is identified as a linear combination of the base function. The combination coefficients of the linear combination are proportional to the direction cosine. When the mapping form a plane or substantially a plane in the vector space, in this description of the invention, we call it "a mapping plane". The term "mapping plane" is used also as a plane which gives the value zero or the minimum value of the sum of squares of distances between the plane and the mapped points of the data. When the mapped points do not form a mapping plane or cannot be approximated as a mapping plane, the data or the candidate mathematical relation is judged to be improper. Another set of data or another candidate mathematical relation will be selected, until a mapping plane can be found so as to obtain a proper mathematical relation between the data. B. <A Pane in a Vector Space at Higher Dimension> In this specification, a "plane" is a set of points in a q dimensional vector space (x1, x2, . . . , xq), the points in the set satisfy the following relation: L1.multidot.x1+ . . . +Lq.multidot.xq=0 (B1) where the L1, L2, . . . Lq are constant coefficients. Also a set of points on a intersecting line of a plurality of planes in a q dimensional vector space is called a "space". For example, a set of points on the crossing of two planes in a three dimensional space is a line, however, in this specification, it is called a "space". For example, when coordinates of an object (x, y) is represented by the following expression, which are functions of time t: x(t)=c1.multidot.t.sup.2 +d1.multidot.t+e1 (B2) y(t)=c2.multidot.t.sup.2 +d2.multidot.t+e2 (B3) When base functions xi to x5 defined as x1=x, x2=y, x3=t.sup.2.multidot.x4=t, x5=w. (w=1), are introduced, these relations can be expressed by a set of three planes in a vector space (x1, x2, x3, x4, x5): a.multidot.x1+c1.multidot.x3+d1.multidot.x4+e1x5=0 a.multidot.x2+c2.multidot.x3+d2.multidot.x4+e2x532 0 x532 w=1 On the other hand, a form of a surface can be expressed using a single mathematical expression. A form of a surface is not limited to a form of an object, for example, an outer surface of a foot, or an inner surface of a shoe, but also includes a surface in an abstract space, which expresses a mathematical relation between a plurality of parameters, for example, a relation between temperature T, pressure P, volume V and concentration C. C. <Relation Between a Cofactor and a Direction Cosine> When q vectors F(s)=(F1s, F2s, . . . , Fqs) (s=1, 2, . . . , q) in a q dimensional space and the origin (0, . . . , 0) are included in a plane of a q dimensional space, the following determinant V is equal to zero: ##EQU5## For example, when base functions are f1, f2, f3, and the value of the base functions f1, f2, f3 corresponding to the detected values d(1), d(2), d(3) are (F11, F21, F31), (F12, F22, F32), (F13, F23, F33), the points P1, P2, P32,) corresponding to these vectors and the origin (0,0,0) form a parallelogram. However, when the parallelogram is contained in a plane, the following determinant V is equal to zero. ##EQU6## It is known that the equation corresponding to the plane of the mathematical expression Cl can be expressed by a determinant, in which one vector in the vectors F(1), F(2), . . . F(q) are replaced to coordinate variables (x1, . . . xq). For example, by replacing the q-th vector F(q) to (x1, x2, . . . , xq), an (equation of the plane can be obtained, as follows: ##EQU7## where (q-1) is replaced to z, namely (z=q-1), for facilitating the understanding of the determinant. When this determinant is expanded in respect to the q-th row, the following linear combination will be obtained (Aqk is a minor, and s(q, k) is a sign), 0=s(q.multidot.1).multidot.Aq1.multidot.x1+s(q, 2).multidot.Aq2.multidot.x2+ . . . +s(q, q).multidot.Aqq.multidot.xq (C3) s(q, k)=(-1) (q+k) (C4) This expansion can be rewritten as follows: 0=Bq1.multidot.x1+Bq2.multidot.x2+ . . . +Bqq.multidot.xq (C5) where Bqk is a cofactor (s(q, k).multidot.Aqk). On the other hand, direction cosine L1, . . . , Lq of a plane satisfies the following relation: 0=L1.multidot.x1+ . . . +Lq.multidot.xq (C6) Consequently the following proportional relation stands: L1: L2: . . . : Lq=Bq1: Bq2: . . . : Bqq (C7) Therefore, the direction cosines is proportional to cofactors. When the determinant V=0, the mapping is a plane, and the obtained proportion coefficients of the direction cosines is constant, irrespective to the row Fj) (j=1, . . . , q), which is replaced in calculation of minors. When V.apprxeq.0, it is judged whether the vectors are found nearly in a plane or not, on the basis of an index PI. The index PI indicates in what degree the vectors F(1), . . . , F(q) can be regarded as a plane. It is judged whether the index is within a predetermined region dPI or not. In case that V=0 and that the index PI is found in a predetermined region dPI, it can be judged that the mapping is nearly a plane, namely, a mapping plane. The index PI and the predetermined region will be explained in Appendix D D. <Plane degree index PI and allowance dPI> A vector F(k) in a q dimensional vector space can be expressed as (F1k, F2k, . . . , fqk). When the origin (0, 0, . . . , 0) of the vector space and q vectors F(1), . . . , F(q) are in a common plane, the determinant .vertline.F.vertline. corresponding to the vectors F(1), . . . , F(q) is zero: ##EQU8## When a vector F(m) in the vectors is exchanged by a set of variables (x1, . . . , xq), the plane can be expressed, as explained before, by the following expression: L1(m).multidot.x1+ . . . +Lq(m).multidot.xq=0 (D2) where L1(m), L(2), . . . , Lq(m) are cofactors of each variable (x1, . . . , xq). By multiplying a normalizing factor N=((L1).sup.2 + . . . +(Lq).sup.2).sup.-1/2 to this expression and further by multiplying a sign normalizing factor S so that the coefficient of one of the variable, for example, x1, to be positive, the following expression is obtained. This expression is invariant irrespective to the selection of m. N.multidot.S.multidot.L1(m).multidot.x1+ . . . +N.multidot.S.multidot.Lq(m).multidot.xq=0 (D3) Namely, when the vectors F(1), . . . , F(q) are in a common plane, the following relations stand: N.multidot.S.multidot.L1(1)= . . . =N.multidot.S.multidot.L1(q) N.multidot.S.multidot.L2(1)= . . . =N.multidot.S.multidot.L2(q) . . . . . . N.multidot.S.multidot.Lq(1)= . . . =N.multidot.S.multidot.Lq(q) However, when the vectors F(), . . . F(2) are not exactly in a common plane, but are positioned nearly in a common plane, the following relations stand N.multidot.S.multidot.L1(1).apprxeq.. . . N.multidot.S.multidot.L1(q) N.multidot.S.multidot.L2(1).apprxeq.N.multidot.S.multidot.L2(q) N.multidot.S.multidot.Lq(1).apprxeq.. . . .apprxeq.N.multidot.S.multidot.Lq(q) The plane degree index PI is an index indicating in what degree the vectors F(1), . . . , F(q) can be regard as a plane The plane degree PI shall be defined so that the plane degree index is a function of the direction cosine Lj(p), and the value of the index PI approaches to a specified standard value PI(0), (for example, PI(0) can be identical to zero), when the proportions of the direction cosine distribute closer to each other. Namely the fact that PI is equal to the standard PI(0) means that the vectors form a common plane, and the fact that PI is nearly equal to the standard PI(0) means that they form nearly a common plane. For example, assuming the mean value of the N.multidot.S.multidot.Lk(m) to be <Lk>, deviation of the N.multidot.S.multidot.Lk(m) from the mean value to be dLk(m), and the means square value of the deviation to be msv, it is preferable to define the plane degree index by the means square value msv. Further, assuming the maximum of the absolute value of N.multidot.S.multidot.Lk(m)-<Lk> to be M(m), and the maximum of the M(m) to be M, the plane degree index PI can be defined as PI=M. PI, PI(0) can be arbitrary defined on the basis of any industrial or commercial grounds. When the absolute value of the difference .vertline.PI-PI(0).vertline. between a plane degree index PI obtained from q vectors F(1), . . . , F(q) and the standard value PI(O) is smaller than a predetermined allowance dPI, it can be defined that the vectors are nearly in a common plane, and the plane is the sought mapping plane It is possible to output the mean value of the direction cosine <L1>, . . . , <Lq> as a direction cosine of the vectors F(1), . . . , F(q). Also the allowance dPI can be defined on the basis of any industrial or commercial grounds. When it is assured that the measuring error of the data d(i) are small, it is not always necessary to obtain the plane index PI. E. <Cases That Cofactors are Zero> Assuming that the measured data d(i)=(xi, yi, ti) are coordinates of a moving body, and (xi, yi) are values of the position coordinate (x, y), and ti are values of the time coordinate t. Further assuming that the following relations stands: x+2.multidot.t3.multidot.1=0 (E1) y+4.multidot.t.sup.2 +5.multidot.t+6.multidot.1=0 (E2) When a set of base functions are defined as x1=1, x2=t, x3=t.sup.2, x4=x, x5=y, for this data d(i), and forming a mapping of these data set d(1), d(2), d(3), d(4), d(5) into the five dimension vector space [x1, x2, x3, x4, x5], the following five vectors can be obtained: P(1)=(1, t1, (t1).sup.2, X1, y1) P(2)=(1, t2, (t2).sup.2, x2, y2) P(3)=(1, t3, (t3).sup.2, x3, y3) P(4)=(1, t4, (t4).sup.2, x4, y4) P(5)=(1, t5, (t5).sup.2, x5, y5) The cofactors A14, A24, A34, A44, A54, regarding the fourth column and the cofactors A15. A25, A35, A45, A55, regarding the fifth column of the determinant of the vectors P(1), P(2), P(3), P(4), P(5) are always equal to zero, because of the relations (E1) and (E2). The fact that cofactors regarding a specific column are always equal to zero indicates that the selected candidate mathematical relation is not appropriate, and some unnecessary base functions are included in the mathematical relation. As to this example, either of the base functions [y] or [x] is unnecessary For example, when a candidate mathematical relation is selected so that the data set d(i) can be mapped into a four dimension vector space [1,t,t.sup.2, x], a relation between the time t and the x co-ordinate can be obtained from the direction cosine And when a candidate mathematical relation is selected so that the data set d(i) can be mapped into a four dimension vector space [1,t,t.sup.2,y], a relation between the time t and the y co-ordinate can be obtained from the direction cosine. F. <Mathematical Basis of the Method for Obtaining the Direction Cosine, Using an Eigenvalue> Even if the mapping of a set of measured data d(i) through base functions (f1, f2, . . . , f3) could form a plane, when measured data contain errors, and the values of base functions also contain errors, thus the mapped points corresponding to the measured values distribute at a region near to a plane. In this method, the direction cosine of a plane, the sum of the squares of the distance between those points and the plane (i.e., the square of the length of the perpendicular lines) is the minimum, is calculated. The direction cosine (L1, . . . , Lq) of a plane in a q dimensional space is perpendicular to this plane, and its absolute value is one. Thus the length h(i) of the perpendicular line from each point Pi (F1i, F2i, . . . , Fqi) to this plane is given by the inner product <(L, . . . , L1) (F1i, F2i, . . . , Fqi)> of the direction cosine and the vector Pi. h(i)=L1.multidot.F1i+. . . +Lq.multidot.Fqi (F1) The sum H of the squares of the lengths h of the perpendicular lines is given by the following expression, using a correlation sum <a .vertline.b>: ##EQU9## (In this specification, X, is a sum regarding running variable i.) Here, a correlation sum is defined as follows: Correlation sum<a.vertline.b>=.SIGMA.(Fai.multidot.Fbi) (F3) Following expression can be obtained: ##EQU10## Because L1(1, 2, . . . , q) is a direction cosine, the following relation stands: (L1).sup.2 + . . . +(Lq).sup.2 (F5) Now, the problem is to find the values of L1, L2, . . . , Lq, which give the minimum of the square sum of h.sup.2, under the condition (F5). This problem can be solved using the Lagrange method of undetermined multipliers. In the Lagrange method, for example, the maximum or minimum of a two variable function f(x, y) under a condition (g(x, y)=0 ) can be found, by making a estimation function (F(x, y)=f(x, y)-.lambda..multidot.g(x, y) ), and calculating the value of .lambda., x, and y, from the conditions (.differential.F/.differential.x=0, .differential.F/.differential.y=0, g(x, y)=0). The Lagrange method is applied to the present problem, where the variables are L1, . . . , Lq. The estimation function F(L1, . . . , Lq) is defined as follows: F(L1, . . . Lq)=h.sup.2 -.lambda..multidot.(L1).sup.2 + . . . +(Lq).sup.2 -1) (F6) Because the derivative of the estimation function with respect to the variables L1, . . . , Lq are equal to zero, the following eigenvalue equation can be obtained: ##EQU11## The matrix comprised of correlation sum <i.vertline.j> at the left side is called correlation sum matrix C, in this Specification. The eigenvalue equation is equivalent to the following secular equation: ##EQU12## When this secular equation can be solved, and assuming that an eigenvalue is .lambda.m, and an eigenvector corresponding to the eigenvector is (L1m, L2m, . . . , Lqm), the following relation stands: ##EQU13## This means that when the square sum of the length of the perpendicular lines is minimum, the square sum H of the length of the perpendicular lines is .lambda.m, when it is zero, the vector points P(i) are on a plane, and when it is nearly equal to zero, the vector points are distributed in a region near to a plane. When the eigen value km is nearly equal to zero, the mathematical relation between the measured data (i) can be identified as follows: L1.multidot.f1+L2.multidot.f2+ . . . +Lq.multidot.fq=0 (F10) The validity can be estimated whether the eigen value .lambda.m is smaller than a predetermined value .lambda..sub.0. A plurality of the eigenvalues can be simultaneously valid. For example, mappings of the measured data distribute on a cross-sectional line of two planes, the equations of the two planes corresponding to two eigenvalue can be identified as the mathematical relations. For example, consider a case that the input data d(i) are co-ordinates of a trajectory (t, x, y), and the data d(i) of the trajectory (t, x, y) are mapped into a five dimensional vector space[x1, x2, x3, x4, x5], namely, [t.fwdarw.x], t.sup.2.fwdarw.x2, 1.fwdarw.x3, x.fwdarw.x4, y.fwdarw.x5]. Assuming that the following two mathematical relations are obtained from the eigenvalues and the eigenvectors: 2.multidot.x1+0.multidot.x2+5.multidot.x3+1.multidot.x4+0.multidot.x5=0 (F11) 0.multidot.x1+3.multidot.x2+4.multidot.x3+0.multidot.x4+1.multidot.x5=0 (F12) Direction cosines can be obtained by multiplying a normalizing factor N.sub.1, N.sub.2, respectively to each set of the coefficients (2,0,5,1,0), and (0,3,4,0,1). N.sub.1 =(2.multidot.2+5.multidot.5+1.multidot.1).sup.-1/2 N.sub.2 =(3.multidot.3+4.multidot.4+1.multidot.1).sup.-1/2 In this case, the following two mathematical relations can be identified and they are simultaneously valid. 2t+5+x=0 (F13) 3t.sup.2 +4+y=0 (F14) Sometimes, weighting of measured data is necessary. There is a case that a mathematical relation is identified from a time sequential data d(i), imposing a light weighting to old data and a heavy weighting to new data. For example, when a temperature shall be controlled to follow a predetermined curve by controlling the heat supply, there is a case that it is not preferable to treat old and recent data with an identical weighting. As explained before, the length h(i) of the perpendicular line from each point Pi(F1i, F2i, . . . , Fqi) to a plane can be expressed by an inner product of the direction cosine and the vector Pi: h(i)=L1.multidot.F1i+ . . . +Lq.multidot.Fqi (F1) Multiplying a weight Wi to the value h, following expression can be obtained: Wi.multidot.h(i)=Wi(L1.multidot.F1i+ . . . +Lq.multidot.Fqi) (F15) The square sum H of the lengths h(i) of the perpendicular lines with the weighting is given by the following expression: ##EQU14## Here, the definition of the correlation sum is expanded as follows: Correlation sum<a.vertline.b>=.SIGMA.Wi.sup.2.multidot.(Fai.multidot.Fbi) (F17) (The definition by (F3) corresponds to a case that all the Wi art equal to one.) The following relation stands: ##EQU15## The correlation sum defined by (F17) is a real symmetrical matrix. And the expression (F18) has same form as the expression (F4), therefore, all of the arguments explained on the ground of the definition of the correlation sum according to (F2) are valid for this definition. G. <The Eigenvalues of the Correlation Sum Matrix are Positive Real Numbers> 1) The correlation sum matrix C is a real symmetric matrix. Therefore the matrix is an Hermitian matrix, and all of its eigenvalue are real number. 2) It is known that the necessary and sufficient condition for that all of the eigenvalues of an Hermitian matrix T are positive is that for any non-zero vector x, the scalar product <xT.multidot.x.sup.T > is non-negative. According to the definition of a correlation sum matrix (F3): <a.vertline.b>=.SIGMA.(Fai.multidot.Fbi) (F3) The scalar product is obtained, when a vector (x1, x2, . . . , xq) and its transposed matrix (x1, x2, . . . , xq).sup.T are multiplied to a correlation sum matrix C, respectively from the left side and the right side. Using the expression (F9), the scalar product <xC.multidot.x.sup.T > can be transformed as follows: ##EQU16## As shown here, <xC.multidot.x.sup.T > is non-negative. Also when the correlation sum matrix is defined by (F17), it can be proved that the all the eigenvalues are non-negative real numbers, in the same manner. H. <A Method for Obtaining the Eigenvalues between a Predetermined Value .lambda..sub.0 and the zero> Because all the eigenvalues of a correlation sum matrix are non-negative, all the eigenvalue smaller than the predetermined value .lambda..sub.0 are between the zero and the value .lambda..sub.0. An eigenvalue in this region can be found as follows, for example. Assuming that a matrix K having q rows and q columns is given, as follows; ##EQU17## Selecting n diagonal elements Kii(i=n1, n2, . . . , nn) from this matrix, a determinant K(n1, n2, . . . , nu) can be formed, which is composed of the n1-th, n-th, . . . , nn-th columns and rows of the matrix K. As an example, matrix K(1,3) is shown below: ##EQU18## A trace(n) is defined as a sum of al the determinant K(n1, n2, . . . , nn), which include n diagonal elements of the matrix K. Here, trace(0) is defined to be 1. trace(0)=1 (H3a) trace(1)=K11+K22++Kqq(H3b) ##EQU19## ##EQU20## The secular equation corresponding to the matrix K can be expanded as a polynomial of the powers of (-.lambda.), as follows: ##EQU21## This is a polynomial of (-.lambda.). Therefore, it is easy to find a zero point in a region between zero and X using a conventional method, for example, by dividing the region into small sections. I. <An Application of the Identification of the Mathematical Relation to an Analysis of a Trajectory of a Golf Head> Quantitative diagnosis of golf swing is possible. For example, finding the direction cosines of planes, in which the golf club head moves in the initial period, middle period and the final period of the golf swing, one can diagnose whether the swing trajectory is in a plane or not, according to the change of the direction cosines in the swing, and diagnose how the club head is accelerated. For example, assuming that a trajectory of the golf club head is an intersectional curve of a fixed plane and an ellipsoid, which has a fixed center and its size changes with time t according to a second order function of time t, the trajectory can be expressed as follows: #1) p.multidot.x.sup.2 +q.multidot.y.sup.2 +r.multidot.z.sup.2 +a.multidot.x+b.multidot.y+c.multidot.z+d0+d1.multidot.t+d2t.sup.2 =0 (I1) #2) a.multidot.x+b.multidot.y+c.multidot.z+d1=0 (I2) It is possible to determine the values of the parameters p, q, r, a, b, c, d0, d1, d2, d0 of the expressions (I1) and (I2), by selecting an appropriate base functions, a candidate mathematical relation and by mapping into a vector space F, as explained in connection with the expressions (6) and (7) A method to find the change of the angular position, namely, the angular velocity and the angular acceleration of this movement in this plane (a.multidot.x +b.multidot.y+c.multidot.z+d=0) is explained below: Here, a vector P(xi, yi, zi) is a vector in a real vector space (x, y, z), which is not an imaginary vector space F. Assuming that the a second plane is a plane parallel to this plane (a.multidot.x+b.multidot.y+c.multidot.z+d=0) and the origin of this real vector space is included in the second plane. The distance D(i) between the measured position of the club head and the second plane can be calculated from the measured valued d(i). D(i) is a scalar quantity. The direction cosine N of the second plane in the real vector space is proportional to (a, b, c), namely N=k(a, b, c). Where k is a normalizing factor and is expressed as follows: k=(a.sup.2 +b.sup.2 +c.sup.2).sup.-1/2 (13) A vector Q of a point, which is an intersection of the second plane (a.multidot.x+b.multidot.y+c.multidot.z+d=0) and a normal line of the second plane passing through the vector P can be expressed as follows: Q(i)=P(i)-D(i)-N (14) Setting a reference vector Q, for example Q(1), and calculating an inner product (i.e., scalar product) <Q(1) Q(i)> of the vectors Q(1) and Q(i), the angle .theta.(i) between those vectors can be calculated from the proportion r of the product of the absolute value of these vectors .vertline.Q(1).vertline..multidot..vertline.Q(i).vertline. and the inner product: r=<Q(1).multidot.Q(i)>/ .vertline.Q(1).vertline..multidot.Q(i).theta.(i)=cos.sup.-1 r (I5) When the following mathematical model is supposed, .theta.=a+b.multidot.t+c.multidot.t.sup.2 (16) the coefficients a, b, c can be determined, selecting a candidate mathematical relation, which is composed of the following base functions g1, g2, g3, and g4, and applying the method according to the present invention: g1=.theta.(i), g2=1, g3=t, g4=t.sup.2 When the coefficients a, b, c of (I6) are determined, the angular velocity and the angular acceleration can be calculated Next, we consider a third model #3), in which the center of the ellipsoid moves. With time t according to a first order function of time t, and also the size changes with time t according to a first order function of time t, and a fourth model #4), in which the direction cosine (a, b, c) changes with time t according to a first order function, and also the distance g changes with time t according to a first order function of time t. #3) p.multidot.(x.multidot.a0+a0+a1.multidot.t)+q.multidot.(y.multidot.b0+b2t). sup.2 +r.multidot.(z.multidot.c0+c.multidot.t).sup.2 -(r0+r.multidot.t)=0 (I7) #4) (a+b.multidot.t).multidot.x+(c+d.multidot.t).multidot.y+(e+f.multidot.t).mu ltidot.z-(g+h.multidot.t)=0 (I8) The parameters of the model #43) can be determined by selecting a candidate mathematical relation, corresponding to the following base functions: f1=x.sup.2, f2=y.sup.2, f3=z.sup.2, f4=t.sup.2, f5=x, f6=y, f7=z, f8=t, f9=x.multidot.t, f10=y.multidot.t, f11=z.multidot.t, f12=1 The parameters of the model #4) can be determined by selecting a candidate mathematical relation, corresponding to the following base functions: f1=x, f2=y, f3=z, f4=t, f5=t.multidot.x, f6=t.multidot.t, t7=t.multidot.z, f8=1 J. <An Example of Identification of a Differential Equation From Measured Data> Assuming that it is known that the measure data d=(x, y) can expressed by the following expression: a.multidot.dy/dx+b.multidot.y+c.multidot.y.sup.2 +d.multidot.x+e.multidot.x.sup.2 +f.multidot.1=0 (J1) The parameters a, b, c, d, e, f can be determined by selecting following base functions f1, f2, . . . , f6: f1=dy/dx=(y(i)-y(i-1))/t(i)-t(i-1) f2=y=y(i) f3=y.sup.2 =y(i).sup.2 f4=x=x(i) f6=x=x(i).sup.2 f6=1 The candidate mathematical relation is: a.multidot.f1+b.multidot.f2+c.multidot.f3+d.multidot.f4+e.multidot.f5+f.mul tidot.f6=0 The parameters a, b, c, d, e, f can be determined from the direction cosine in a vector space spanned by these base functions. However this method is applicable only when the density of data is sufficiently thick for neglecting the errors caused by the approximation of the derivative by a division.
|
Same subclass Same class Consider this |
||||||||||
