0277bea96e7eac4d8c2087290832d3018d18fb3d
[scilab.git] / scilab / modules / optimization / tests / nonreg_tests / bug_244.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2008 - INRIA - Vincent COUVERT
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 // <-- Non-regression test for bug 244 -->
8 //
9 // <-- Bugzilla URL -->
10 // http://bugzilla.scilab.org/show_bug.cgi?id=244
11 //
12 // <-- Short Description -->
13 //   recursion problems with fsolve
14 // Titration of a dibase with HCl (at the beginning, a little amount of NaOH was added)
15 // parameters
16 //C0=2.39e-4
17 C0=2e-4;
18 C02=0.02;
19 na0=2e-7;
20 v0=0.01;
21 pK1=6.9;
22 pK2=6.9;
23 // function to get the calculated pH
24 deff('[x]=f0(pH)','x=(10^(-pH-pK1)+2*10^(-2*pH))/(10^(-pK1-pK2)+10^(-pH-pK1)+10^(-2*pH))+((v0+v)*(10^(-pH)-10^(pH-14))+na0-C02*v)/(C0*v0)');
25 deff('[pH]=fpH(p)','v=p;pH=fsolve(7,f0)');
26 // data
27 X=[];Y=[];
28 X=[
29 //0     
30 0.00001 
31 0.00002 
32 0.00003 
33 0.00004 
34 0.00005 
35 0.000055        
36 0.00006 
37 0.000065        
38 0.00007 
39 0.000075        
40 0.00008 
41 0.000085        
42 0.00009 
43 0.000095        
44 0.0001  
45 0.000105        
46 0.00011 
47 0.000115        
48 0.00012 
49 0.000125        
50 0.00013 
51 0.000135        
52 0.00014 
53 0.000145        
54 0.00015 
55 0.000155        
56 0.00016 
57 0.000165        
58 0.00017 
59 0.000175        
60 0.00018 
61 0.000185        
62 0.00019 
63 0.000195        
64 0.0002  
65 0.000205        
66 0.00021 
67 0.000215        
68 0.00022 
69 0.000225        
70 0.00023 
71 0.000235        
72 0.00024 
73 0.000245        
74 0.00025 
75 0.000255        
76 0.00026 
77 0.000265        
78 0.00027 
79 0.000275        
80 0.00028 
81 0.000285        
82 0.000295        
83 0.000305        
84 0.00032 
85 0.000345        
86 0.000395        
87 0.000445        
88 ];
89 Y=[
90 //8.21  
91 7.82    
92 7.64    
93 7.48    
94 7.37    
95 7.22    
96 7.20    
97 7.17    
98 7.13    
99 7.12    
100 7.12    
101 7.10    
102 7.07    
103 7.04    
104 7.07    
105 7.04    
106 7.01    
107 6.98    
108 6.94    
109 6.91    
110 6.87    
111 6.84    
112 6.80    
113 6.76    
114 6.73    
115 6.68    
116 6.61    
117 6.57    
118 6.51    
119 6.45    
120 6.36    
121 6.27    
122 6.14    
123 6.02    
124 5.84    
125 5.64    
126 5.34    
127 5.00    
128 4.80    
129 4.59    
130 4.46    
131 4.40    
132 4.33    
133 4.24    
134 4.18    
135 4.11    
136 4.07    
137 4.02    
138 3.99    
139 3.95    
140 3.91    
141 3.88    
142 3.86    
143 3.80    
144 3.76    
145 3.69    
146 3.60    
147 3.47    
148 3.36    
149 ];
150 // fitting
151 Z=[Y;X];
152 deff('e=G(p,z)','pK1=p(1),pK2=p(2),v=z(2),pHexp=z(1),e=pHexp-fpH(v)');
153 wMode = warning("query");
154 warning("off");
155 [p,err]=fit_dat(G,[6;7],Z);
156 warning(wMode);
157 // graphic part
158 clf()
159 //v=[0:1e-5:4.5e-4]
160 v=X;
161 fplot2d(v,fpH);
162 plot2d(X,Y,[-2]);