New version of DAVEfunc DTD: version 2.0 (release candidate 1)

2007-10-18 Thread Bruce Jackson
I have uploaded a new version of the DAVEfunc DTD to the DAVE-ML  
website, version 2.0 Release Candidate 1, which was cleaned up  
somewhat for submission to the AIAA Committee on Standards. It  
includes new 'ceiling' and 'floor' interpolation attributes and  
several uncertainty examples.


   

Comments welcomed, but at this point the changes probably will go  
through a committee instead of just me.


-- Bruce


Bruce Jackson <[EMAIL PROTECTED]> Dynamic Systems & Control Branch
8 Langley Boulevard, MS 308   Research & Technology Directorate
NASA Langley Research CenterHampton, Virginia 23681
More info about DAVE-ML:   
Simulation standards discussion listserv 





RE: Re: Discrete interpolation attribute (was New version of DAVEfunc DTD 1.9b3)

2007-06-19 Thread Curtin, Robert (Contractor)

The discrete option, as we originally intended it, was a nearest grid-point 
option. The relevant code snippet from the Janus interpreter:

 * allow for order 0 linear interpolation, i.e. take nearest discrete
 * value on the grid.
 */
if ( 0 == functionIndependentVariableOrder_[ index ][ i ] ) {
  if ( 0.5 >= frac[ i ] ) {
frac[ i ] = 0.0;
  } else {
frac[ i ] = 1.0;
  }
}

We only use discrete where the inputs are meant to be one of the breakpoints. 
The "nearest" interpretation ensures we get the right answer if there is some 
issue with a data precision-related error (though we would normally use integer 
inputs anyway). However, I can also see the utility of a "threshhold" approach 
as you have described (eg, ISA properties as a function of pressure altitude). 
You could always shift the breakpoints to achieve the same thing, or use 
MathML. I agree it needs to be clearly documented.

Regards, Rob
 

Rob Curtin
Ball Solutions Group
on contract to Air Vehicles Division,
Defence Science & Technology Organisation
Tel: +61 (0)3 9626 7730
Fax: +61 (0)3 9626 7705
[EMAIL PROTECTED]



-Original Message-
From: Giovanni A. Cignoni [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, 19 June 2007 10:17 PM
To: simstds@larc.nasa.gov
Subject: Re: Re: Discrete interpolation attribute (was New version of DAVEfunc 
DTD 1.9b3)

> so the independent values state where the function changes value.
> 
> Nearest-neighbor would put the transitions exactly between the 
> independent break points.

So at the end is just truncation vs approximation, but being in sync with names 
is anyway important :)

Ciao,
Giovanni.



IMPORTANT: This email remains the property of the Australian Defence 
Organisation and is subject to the jurisdiction of section 70 of the CRIMES ACT 
1914.  If you have received this email in error, you are requested to contact 
the sender and delete the email.




RE: Discrete interpolation attribute (was New version of DAVEfunc DTD 1.9b3)

2007-06-19 Thread Brian, Geoff
I also agree that this is a good question. There are times when
interrogating data where it is necessary to return either a truncated
value, as you describe Bruce, or the nearest neighbour. Thus a single
'discrete' attribute may not have been the best suggestion. This is
something we had overlooked in suggesting such an attribute. At the risk
of fattening the dtd with unnecessary options, having attributes for
both these cases would be useful.

At present, the data tables I am currently using the 'discrete'
attribute for are more akin to nearest-neighbour.

Regards
Geoff

-Original Message-
From: Bruce Jackson [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, 19 June 2007 3:40 AM
To: Giovanni A. Cignoni
Cc: simstds@larc.nasa.gov
Subject: Re: Discrete interpolation attribute (was New version of
DAVEfunc DTD 1.9b3)


On Jun 18, 2007, at 1:28 PM, Giovanni A. Cignoni wrote:

>> The main change to the DTD is addition of 'discrete' as a supported  
>> interpolation method for tabular data, yielding a stair- step 
>> response  from such a function. This came from a suggestion from 
>> Geoff Brian of  Australia's DSTO.
>
> "Discrete" interpolation is the method also known as "nearest 
> neighbor"?
> Being x in [a, b], f(x) is f(a) or f(b) depending on x being nearer to

> a or b. Correct?
>
> Thanks in advance, ciao,
> Giovanni Cignoni.
>

This is a good question, Giovanni. I see that we need to be much more
rigorous in our definition of 'discrete' as it applies to these tables.

I had assumed the interpretation would be as follows (I don't think this
is 'nearest-neighbor')...

In the case of a one-dimensional function, if the independentVarPts are
defined as

  [a, b, c, d]

and an arbitrary griddedTable points are defined as

  [8.5, 9.0, 9.5, 10.0]

the function f(x) would be evaluated as shown below:

f(x)   ^
|
10.0 - |o
||
||
  9.5 - | o--o
| |
| |
  9.0 - |  o--o
|  |
|  |
  8.5 - |   o--o
|
|--> X
|  |  |  |
a  b  c  d

so the independent values state where the function changes value.

Nearest-neighbor would put the transitions exactly between the
independent break points.

I'd appreciate any feedback on this topic, especially from Geoff Brian
who is apparently making use of this 'extension' to DAVE-ML.

-- Bruce



IMPORTANT: This email remains the property of the Australian Defence 
Organisation and is subject to the jurisdiction of section 70 of the CRIMES ACT 
1914.  If you have received this email in error, you are requested to contact 
the sender and delete the email.




Re: Re: Discrete interpolation attribute (was New version of DAVEfunc DTD 1.9b3)

2007-06-19 Thread Giovanni A. Cignoni

so the independent values state where the function changes value.

Nearest-neighbor would put the transitions exactly between the  
independent break points.


So at the end is just truncation vs approximation, but being in sync
with names is anyway important :)

Ciao,
Giovanni.



Re: Discrete interpolation attribute (was New version of DAVEfunc DTD 1.9b3)

2007-06-18 Thread Bruce Jackson


On Jun 18, 2007, at 1:28 PM, Giovanni A. Cignoni wrote:

The main change to the DTD is addition of 'discrete' as a  
supported  interpolation method for tabular data, yielding a stair- 
step response  from such a function. This came from a suggestion  
from Geoff Brian of  Australia's DSTO.


"Discrete" interpolation is the method also known as "nearest  
neighbor"?
Being x in [a, b], f(x) is f(a) or f(b) depending on x being nearer  
to a or b. Correct?


Thanks in advance, ciao,
Giovanni Cignoni.



This is a good question, Giovanni. I see that we need to be much more  
rigorous in our definition of 'discrete' as it applies to these tables.


I had assumed the interpretation would be as follows (I don't think  
this is 'nearest-neighbor')...


In the case of a one-dimensional function, if the independentVarPts  
are defined as


 [a, b, c, d]

and an arbitrary griddedTable points are defined as

 [8.5, 9.0, 9.5, 10.0]

the function f(x) would be evaluated as shown below:

f(x)   ^
   |
10.0 - |o
   ||
   ||
 9.5 - | o--o
   | |
   | |
 9.0 - |  o--o
   |  |
   |  |
 8.5 - |   o--o
   |
   |--> X
   |  |  |  |
   a  b  c  d

so the independent values state where the function changes value.

Nearest-neighbor would put the transitions exactly between the  
independent break points.


I'd appreciate any feedback on this topic, especially from Geoff  
Brian who is apparently making use of this 'extension' to DAVE-ML.


-- Bruce




Re: [fs] New version of DAVEfunc DTD 1.9b3

2007-06-18 Thread Giovanni A. Cignoni
The main change to the DTD is addition of 'discrete' as a supported  
interpolation method for tabular data, yielding a stair-step response  
from such a function. This came from a suggestion from Geoff Brian of  
Australia's DSTO.


"Discrete" interpolation is the method also known as "nearest neighbor"?
Being x in [a, b], f(x) is f(a) or f(b) depending on x being nearer 
to a or b. Correct?


Thanks in advance, ciao,
Giovanni Cignoni.



New version of DAVEfunc DTD 1.9b3

2007-06-18 Thread Bruce Jackson
I have just uploaded a new version of the DAVEfunc DTD to the DAVE-ML  
website, version 1.9b3, which adds a DSTO-suggested improvement. In  
addition to the DTD, the reference manual has an example of how to  
invoke the 'atan2' function and fixes documentation links.


   

The main change to the DTD is addition of 'discrete' as a supported  
interpolation method for tabular data, yielding a stair-step response  
from such a function. This came from a suggestion from Geoff Brian of  
Australia's DSTO.


The manual also contains an example of how to encode the 'atan2' four- 
quadrant arctangent function, which is not directly supported in  
MathML2 grammar.


-- Bruce


Bruce Jackson <[EMAIL PROTECTED]> Dynamic Systems & Control Branch
8 Langley Boulevard, MS 308   Research & Technology Directorate
NASA Langley Research CenterHampton, Virginia 23681
More info about DAVE-ML:   
Simulation standards discussion listserv 





New version of DAVEfunc DTD

2006-11-18 Thread Bruce Jackson
I have just uploaded a new version of the DAVEfunc DTD to the DAVE-ML 
website, version 1.9b2, which addresses several suggested 
improvements and fixes a bug or two.




The complete list of changes is found in the updated reference 
manual, either in PDF or HTML format, but the major items are:


Added an enumeration attribute to the independentVar elements to 
indicate that the function should be interpolated with a quartic 
spline
Added a reference to a most useful Wikipedia page that describes 
spline interpolation in detail

Corrected a missing ENTITY element that now properly includes the MathML2 DTD
Added two ungridded table examples to the reference manual

Most of these changes came from suggestions from Geoff Brian of 
Australia's DSTO; that agency has embraced DAVE-ML and is now 
providing a C++ API library, Janus, available under Open Source 
license




The manual also contains two new examples; these are a result of the 
AIAA's review of DAVE-ML as a proposed standard for simulation model 
exchange.


I was actually working on the final checkout of the new DTD when the 
message from Dr. Cignoni was posted; that was a pleasing serendipity 
because this revised DTD will address most if not all of the bugs he 
and his GeneSim project team found.


 

Thanks for the helpful suggestions!

-- Bruce Jackson
--
Bruce Jackson <[EMAIL PROTECTED]> Dynamic Systems & Control Branch
8 Langley Boulevard, MS 308 Research & Technology Directorate
NASA Langley Research Center  Hampton, Virginia 23681
More info about DAVE-ML: 
Simulation standards discussion listserv mailto:simstds@larc.nasa.gov