Fitten einer 2 Parameter Exponentialfunktion

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Cambisol
User
Beiträge: 1
Registriert: Samstag 16. Oktober 2021, 17:16

Hallo zusammen,

ich habe folgendes Problem.
Ich möchte einen Datensatz aus einer Excel-Datei auslesen.
Dort sind zwei Spalten hinterlegt.
Einmal ein zeitlicher Verlauf, der bei 0 Sekunden startet und in dessem Verlauf alle 5 Sekunden ein Messwert verknüpft wird.
Verknüpft wird für jeden Zeitwert ein Konzentrationswert. Die Messwerte sind im folgenden beigefügt.

Zeit
0
5
10
15
20
25
30
35
40
45
50
55
60
65
70
75
80
85
90
95
100
105
110
115
120
125
130
135
140
145
150
155
160
165
170
175
180
185
190
195
200
205
210
215
220
225
230
235
240
245
250
255
260
265
270
275
280
285
290
295
300
305
310
315
320
325
330
335
340
345
350
355
360
365
370
375
380
385
390
395
400
405
410
415
420
425
430
435
440
445
450
455
460
465
470
475
480
485
490
495
500
505
510
515
520
525
530
535
540
545
550
555
560
565
570
575
580
585
590
595
600


Konzentration
0.00
4.82
5.33
5.67
5.91
6.07
6.19
6.27
6.33
6.36
6.39
6.41
6.42
6.43
6.44
6.44
6.45
6.45
6.45
6.45
6.45
6.45
6.46
6.46
6.46
6.46
6.46
6.47
6.47
6.47
6.47
6.47
6.47
6.47
6.47
6.47
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.47
6.47
6.47
6.47
6.47
6.48
6.48
6.48
6.48
6.48
6.48
6.48
6.48
6.48
6.48
6.48
6.48
6.47
6.47
6.48
6.47
6.47
6.47
6.47
6.47
6.47
6.47
6.47
6.47
6.47
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.46
6.47
6.46
6.46
6.46
6.47
6.46
6.47
6.47
6.47
6.47
6.47
6.47
6.47
6.47
6.47
6.47
6.47
6.48
6.48
6.48
6.48
6.48



Gibt es eine Möglichkeit, mit deren Hilfe ich folgende Funktion über die Daten fitten kann?

y = a * (1 - e^-k*x)

Und ist es sinnvoll zuvor "k" durch Logarithmierung zu bestimmen? Wenn ja, wie kann ich diesen Schritt bewerkstelligen?

Über Hilfe würde ich mir sehr freuen!

Viele Grüße
Cambisol
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Eine Möglichkeit ist scipy.optimize.curve_fit.
Antworten