How to fit complicated function with 3 fitting parameters using Least square regression
31 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Thi Na Le
am 25 Mär. 2020
Kommentiert: Alex Sha
am 27 Mär. 2020
I want to fit below equation J(v). J and V data areavailable.
N=10^21
q=1.6x10^-19
Epsilon=26.5 x 10^-14
d=3x10^- 6
Initial values may be x0=[µ l H]=[10^-5 5 10^18]
3 fitting parameters are: µ, l and H. other parameters are known.
can some one help me to solve this?
I am not expert in Matlab
V is xdata:
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
5.5
6
6.5
7
7.5
8
J is ydata:
1.64544E-05
1.99822E-05
0.000032253
4.2623E-05
7.40498E-05
0.000660899
0.007578998
0.027109725
0.106353025
0.30299725
0.7332185
1.550115
2.98009
5.3102775
8.88175
14.0394325
21.163215
9 Kommentare
Alex Sha
am 27 Mär. 2020
You may try to provide a little different start-value for H, and see the final result, if final H is still alway equaling to start-value of H, your fitting seems to have problem.
Akzeptierte Antwort
Alex Sha
am 25 Mär. 2020
Hi, you may try to use "lsqcurvefit" command or curve fitting tool box (cftool), it is also better if you post data as well as known constant values, so other persons may try for you.
Weitere Antworten (1)
Jeff Miller
am 25 Mär. 2020
I assume you have vectors of values for V and J, in which case fminsearch might be a good choice. The basic steps are:
- Write a function "predicted" to compute a predicted value of J for any given V, µ, l and H.
- Write a function "error" that computes the sum of (predictedJ - actualJ)^2, summing across the J vector.
- call fminsearch and pass it this error function as the function to be minimized. You will have to give it reasonable guesses for µ, l and H.
Siehe auch
Kategorien
Mehr zu Least Squares finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!