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