Author |
Topic |
|
kiryutin
3 Posts |
Posted - 04/13/2018 : 04:55:52 AM
|
Dear friends, I have problem of fitting multiple datasets. Meaning that I need to fit several datasets with exponetial or biexponetial function having one common X columns 1:100 point (variable is time) and lets say 10 Y columns also 1:100 points (measured values of Intensity), but datasets are measured at variable second parameter lets say Field.
looks like this: example of 5 datasets measured at fields: 1, 2, 3, 4, 5, respectively 10.04567 0.07272 0.19742 0.40842 0.68702 0.79078 10.89184 0.0769 0.13072 0.32259 0.58289 0.81732 11.80929 0.03532 0.15889 0.35131 0.57109 0.70681 12.80402 -0.00102 0.04779 0.23589 0.45773 0.65516 13.88253 -0.01496 0.07699 0.28237 0.43718 0.61483 15.05189 0.03596 0.06478 0.24892 0.43344 0.64402 16.31975 -0.01659 0.04362 0.18309 0.4223 0.55947 17.6944 0.02336 0.08178 0.1971 0.32419 0.47917 19.18485 -0.0385 0.05079 0.10748 0.32041 0.45452 20.80084 -0.00177 0.01971 0.08581 0.30597 0.45421 22.55295 0.03073 0.04638 0.06095 0.24537 0.43507 24.45264 0.01273 0.00178 0.05486 0.2091 0.35884 26.51235 -0.03614 -0.01327 0.09824 0.15229 0.36089 28.74555 0.03709 -0.0356 0.01112 0.16474 0.3438 31.16686 -0.02662 0.02463 0.02887 0.1287 0.30851 33.79212 3.27034E-4 -0.0268 0.03776 0.10865 0.22536 36.63852 0.02129 0.04447 -0.01239 0.12864 0.20173 39.72467 -0.04842 -0.0362 0.03253 0.1175 0.1768 43.07078 -5.56881E-4 0.02836 0.03195 0.02728 0.14075 46.69874 0.04862 0.01693 0.01564 0.08634 0.13776 50.6323 -0.03981 -0.02015 -0.04293 0.01547 0.06869 54.89719 -0.01416 -0.04126 -0.03568 0.06999 0.13868 59.52131 -0.0475 -0.0466 -0.01666 0.02755 0.12006 64.53495 0.03647 -0.04284 0.04962 -0.0327 0.0875 69.97089 -0.00205 0.01732 -0.03146 -0.03488 0.0847 75.86471 -0.02034 0.01177 0.01052 0.02919 0.02693 82.25499 -0.03833 -0.00435 0.02863 -0.0456 0.032 89.18354 -0.0345 0.01 -0.03588 0.02051 0.03228 96.69569 -0.0131 -0.02295 -0.02238 -0.0361 0.03393 104.84062 -0.02926 0.02248 0.0065 0.01177 -0.0287 113.67161 0.02168 -0.04917 0.04448 -0.0129 -0.00595 123.24646 0.00744 0.0356 0.01551 -0.00948 -0.01887 133.62782 -0.00729 -0.03372 0.03198 -0.00333 0.03159 144.88363 -0.04949 6.98142E-4 0.03523 -0.01422 -0.04153 157.08755 0.00564 0.0459 -0.00605 0.01815 9.55415E-4 170.31943 0.04299 0.00526 -0.03769 0.03542 0.01868 184.66587 -0.03171 -0.02487 -0.01072 -0.03152 -0.00698 200.22074 0.00983 0.03915 -0.04344 0.03346 0.03154 217.08585 0.04313 0.04492 -0.00409 -0.01553 -0.04942 235.37154 -0.04248 -0.04537 0.03051 -0.00892 0.00746 255.19748 -0.00405 -0.04846 -0.00493 0.02371 -0.04393 276.69341 0.01988 0.03448 0.04352 -0.03516 0.00882 300 -0.00692 -0.0308 -0.00132 -0.04596 0.02678
All ten curves decays with exponential function. I can easily fit then independently or with some shared parameters by function y=y0+A*exp(-x/t1).
The problem is that I want know that parameter t1 depends on Field, and I know analytical function, lets say t1=C1*Field+C2 (linear grows with Field). Now I want to use this information and fit all ten curves knowing that t1 is not arbitrary parameter, but depends on Field.
I tried to create fitting function with two independent variables x and field. But I fail to fit my data, because I did not get How to specify column for temperature and that is only 10 values for ten curves.
Please help me. How to proceed. I am thinking that origin can do it.
Origin Ver 2015 |
|
AmandaLu
439 Posts |
Posted - 04/13/2018 : 05:55:32 AM
|
Hi,
You can try Global Fit as follow:
1. Transform your fitting function as y = y0+A*exp(-x/(C1*F+C2)) F stands for Field, and C1 and C2 should be shared among 5 datasets. 2. Define this fitting function in Tools: Fitting Function Builder. 3. Highlight 5 Y columns and select Analysis: Fitting: Nonlinear Curve Fit. Choose the fitting function in step2. 4. Activate Data Selection page. Set Multi-Data Fit Mode = Global Fit. 5. Activate Parameters tab. Check”Share” for C1 and C2. Enter their initial values. My initial values are C1 = 4, C2 = -3 “Fix” all F and enter F values as: F = 1, F_2 = 2, F_3 = 3, F_4 = 4, F_5 = 5. 6. Click Fit button to perform fitting.
Thanks, Amanda OriginLab Technical Service
|
|
|
kiryutin
3 Posts |
Posted - 04/13/2018 : 06:03:58 AM
|
Amanda, Thanks this is a bit easier solution what I developed last hour.
In my case I made fitting function with two variables y(x,F) and made columns x F y 10 1 data 11 1 data 12 1 data 13 1 data 14 1 data .. So I made additional ten columns for fields with rows filled by the same field value.
Then in fitting module I chose rows for time and field and data, and also used global sharing parameters.
Your solution is simpler! thanks! |
|
|
|
Topic |
|
|
|