BfX_Help(integer) - help on the use of BfX functions
(if you see this information on a web page, click here to go back to the BfX Home page: ) http://www.bfxyz.nl/
Create a column 0, 1, 2, 3, , enter in the adjacent row =Bfx_Help(reference to the cell)
0 Ballistics for Excel - use =BfX_Help(i) with i=1,2,3,...157 for more  
1 ===BfX Excel 2010 64bit==(C) Robert Meijer==Bld: Aug 22 2011 14:27:21 (Debug)===
2 All examples are in European locale, e.g. =bfx_vx(740,3;200,1;0,5)  
3 However, your computer might expect the USA locale e.g. =bfx_vx(740.3,200.1,0.5)
4 Function arguments with default values can be omitted    
5 Empty first arguments eg BfX_Xv( or BfX_Xv() or BfX_Xv(;400;300;0,5) return help
6 =============================Atmospheric condition==============================
7 BfX assumes 15 degrees Celsius, 101325 Pascal, 0% humidity (ICAO conditions)
8 ========Calculating projectile velocity, flight time and flight distance========
9 v0: muzzle velocity [m/s],          
10 v: velocity of slowed down projectile <v0 [m/s]      
11 x: distance >0 [m], c: ballistic coefficient [lb/in^2] >0, take c of the
12 highest supersonic velocity range          
13 df: drag function. BfX uses by default the Pejsa drag function in combination
14 with the G1 ballistic coefficient, BfX_Help2 lists available drag functions
15 v=BfX_Vx(v0; x; c; df=GP) [m/s]          
16 v=BfX_Vt(v0; t; c; df=GP) [m/s]          
17 t=BfX_Tv(v0; v; c; df=GP) [s]          
18 t=BfX_Tx(v0; x; c; df=GP) [s]          
19 x=BfX_Xv(v0; v; c; df=GP) [m]          
20 x=BfX_Xt(v0; t; c; df=GP) [m]          
21 Examples: =BfX_Vx(750;300;0,45) =BfX_Vx(750;300;0,23;"G7")    
22 =BfX_Vx("fps";750;30000;"cm";0,45), <dt> indicates a user defined  
23 drag table =BfX_Vx(750;300;1.0;<dt>)        
24 ======================================Drop======================================
25 drop=BfX_D(v0; x; c; df=GP) [m] or converted to angle    
26 to convert to angle specify an unit of angle as output unit    
27 ================================Wind deflection=================================
28 <xw> <vw> are ranges (possible multiple Excel cells) containing  
29 wind velocities vw [m/s] at xw [m]          
30 wind_deflection=BfX_Y(v0; <xw>; <vw>; x; c; df=GP) [m] or converted to angle
31 to convert to angle specify an unit of angle as output unit    
32 ===========================Bullet path and elevation============================
33 zx: distance [m] at which impact is h [m]        
34 s: distance line of sight to bore at muzzle >0 [m]      
35 e: elevation, -pi/2 < e <pi/2 [radians]        
36 height_at_x=BfX_Zx(v0; s; h; zx; x; c; df=GP) [m] or converted to angle
37 height_at_x=BfX_Ze(v0; s; e; x; c; df=GP) [m] or converted to angle  
38 to convert to angle specify an unit of angle as output unit    
39 elevation=BfX_E(v0; s; h; zx; c; df=GP) [radians]      
40 ============================Weather influences on bc============================
41 P: pressure [Pascal], T: temperature [C], H: humidity [fraction of 1].  
42 for other than default atmospheric conditions, multiply ballistic  
43 coefficient with              
44 BfX_C(T=15 [Celcius]; P=101324.6 [Pa], H=0.0 [fraction of 1]) []  
45 =================================Air properties=================================
46 P: pressure [Pascal], T: temperature [C], H: humidity [fraction of 1].  
47 air density = BfX_Ad(T=15 [C]; P=101324.6 [Pa]; H=0.0 [fraction of 1]) [kg/m^3]
48 ======================Input output unit conversion in BfX=======================
49 Functions can produce output in other units: specify as first    
50 argument the desired unit, e.g. =BFX_D("cm"; v0; x; c). The    
51 functions accept also input in other units, just input the    
52 desired unit after the value as an separate argument, e.g.    
53 =BFX_D("cm"; v0; "fps"; x; "yd"; c; "G7"), here input in Imperial  
54 units and output in centimeters and c according to the G7 drag tables.  
55 ==============================Conversion of units===============================
56 Unit conversion, v is a value, specify either or both input and output unit
57 units might be of different(!), eg. "ft" and "kg"      
58 value_in_other_unit = BfX_U(value) e.g. v=BfX_U("km";120;"ft")  
59 Calculation of an angle from distance and height:      
60 angle = bfx_ax(x; h) [radians]          
61 ===================List of supported units and drag functions===================
62 use =BfX_Help2(i) with i=0,1,2, ...        
63 ================================Error reporting=================================
64 <r> is an optional range            
65 use =BfX_IQ(<r>) for information on your recent (un)succesful calculation
66 use =BfX_Info(i,<r>) with i=0,1,2,... for a history on calculations  
67 ==============================Display Cell Formula==============================
68 use =BfX_Cell(<r>) to display the formula of the cell left top cell of a range
69 use if necessary, ANY change, wherever in the WHOLE workbook updates BFX_Cell
70 BfX_Cell is a volatile function, incompatible with some other Excel functions
71 Volatile Excel functions are currently crashing the Excel SOLVER addin  
72 Remove BfX_Cell when ready          
73 =================================Interpolation==================================
74 <xi> a (possible unordered) range with at least two elements,    
75 <gxi> a range containing g(xi) where g(x) is a function of x    
76 x is a value for which g(x) is to be estimated with an accuracy a (if possible)
77 m is the output mode, m= I, A, N, T,        
78 I: returns the inter/extra polated value, (default if m is omitted)  
79 A: returns the estimated accuracy of interpolated value,    
80 N: returns the the number of points used in the interpolation,  
81 T: returns the type of the result,        
82 -1 interpolation with better then the requested accuracy  
83 -2 interpolation not neccessary, x was present in <xi> and <gi> returned
84 -3 extrapolation with better then the requested accuracy  
85 0 interpolation with less then the requested accuracy    
86 1 extrapolation with less then the requested accuracy    
87 interpolation g(x)= BfX_I(<xi>; <gxi>; x; accuracy=1E-5; m=I)    
88 ===============================Drag coefficients================================
89 Cd=BfX_Cd(v0; df=GP) []            
90 ==========================Non volatile random numbers===========================
91 i is a positive integer number, b is the bottom value, t (>b) is the top value
92 <r> is an optional range            
93 random_number = BfX_Ran(i; <r>) 0 <= random_number <= 1]    
94 b <= random_number <= t = BfX_Ranb(i; b; t; <r>)      
95 c and s are center and width of normal distribution      
96 normal distribution b <= random_number <= t= BfX_Rang(i; c; s; b; t; <r>)
97 use <r> to link cells to guide Excels calculation order    
98 ==========================check if a range has changed==========================
99 Compute a short text that uniquely identifies all values in a range <r>,
100 m specifies what is included in the check, m=FC, OV, ON, OT, OB, OE, OD
101 FC: full check - range dimensions, all contents and their place (default)
102 OV: only values - skip empty cells        
103 ON: only numbers - skip empty cells, booleans and text, ignore position
104 OT: only text - skip empty cells, booleans and numbers, ignore position
105 OB: only booleans - skip empty cells, text and numbers, ignore position
106 OE: only empty cells - skip booleans, text and numbers, ignore position
107 OD: only drag table - required for drag tables      
108 32 bit Cyclic Redundancy Check = BfX_CRC(<r>; m=FC) (AUTODIN II polynomial)
109 ====================================Contact=====================================
110 use =BfX_Help(i) with i=-2,-3 for email and website address    
111 use =BfX_Info(i) with i=-2,-3 for email and website address    
112 =================Visual Basic for Applications (VBA) interface==================
113 The argments are passed in the same order as with the BfX worksheet functions
114 All arguments are VARIANTS - the default type of VBA.    
115 However, arrays should be declared as e.g. Dim x(10), vw(10)    
116 then declare Dim xv, vwv to create VARIANTS that will contain x and vw  
117 and just before calling vb_y (the only procedure that need arrays) set:
118 xv=x and yv=y and make the call e.g. returnval=vb_y(v0,x,vw,r,c)  
119 Declare the VBA interfaces as:          
120 Private Declare Function vb_y Lib "FullPath\BfX.XLL" Alias "BfX_VB_Y" _
121 (Optional, v1 As Variant, Optional v2 As Variant, ...) As Variant  
122 The naming convention is VBA Alias name = Worksheet name with _VB_in the
123 middle: BfX_VB_Zx, BfX_VB_C, etc. Use BfX_IQ() on the worksheet to obtain
124 error/succes information            
125 ===================================About BfX====================================
126 Created: Robert Meijer (c) 2008, 2009, 2010, 2011      
127 inspired on Arthur Pejsa's book: Modern Practical Ballistics.    
128 BfX has however less approximations and more drag functions. Calculated results
129 DO include sub and super sonic regions. Implementation is checked  
130 against numerical simulations of projectile behavior. Significant  
131 errors in BfX results start to occur for elevations above    
132 15 degrees.              
133 ==========================Right to use and distribute===========================
134 Use and re-distribution of this addin is only granted to private persons
135 having non-commercial purposes. Dit werk is auteursrechtelijk beschermd
136 Formula's, source code etc of the BfX add-in cannot be distributed or claimed
137 =============================Disclaimer of Warranty=============================
138 THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
139 LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
140 OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
141 EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
142 OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO
143 THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM
144 PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR
145 CORRECTION              
146 ============================Limitation of Liability=============================
147 IN NO EVENT WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO CONVEYS THE
148 PROGRAM, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,  
149 INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO
150 USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
151 RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE
152 OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR
153 OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES