Megvan az egyenlet

 y = a + b Exp[-x/c] data = {{462.36, 8872}, {408.18, 8780}, {374.4, 8915}, {322.8, 8937}, {274.00, 8919}, {243.03, 911‌4}, {209.32, 9277}, {178.91, 9394}, {140.71, 9508}, {113.08, 9592}}; nlm = FindFit[data, y = a + b Exp[-x/c], {{a, 100}, {b, 100}, {c, 10}}, x] Show[ ListPlot[data, PlotStyle -> {Darker@Green, PointSize[0.03]}], Plot[y/. nlm, {x, 1, 600}]] 

A fentiek szerint jelenleg minden működik és grafikonok készítése.

Frissítés

Valójában szinte mindent meg tudtam dolgozni A rajzolás aktuális kezdete a grafikon y tengelye előtt kezdődik, tehát ha a grafikont nézzük, akkor balra ferde. Megpróbálom megérteni, hogy milyen értéken kell változtatnom, hogy ezt jobbra mozdítsam, és egy kicsit küzdök. bármilyen segítséget értékelni fogunk.

hogyan írhatom be ezt a FindFit függvénybe?

FindFit[data, model, parms]; 

Megvannak az adataim, csak nem tudom kitalálni, hogyan lehet ezt helyesen beilleszteni az model és a params fájlokba. Ez az olyan óvatosság, amelyet az adatok miatt kaptam, és csak nem tudom, hogyan kell ezeket bevinni, vagy hogy megmutassam, hogy ez egy exponenciális görbe lesz.

Megjegyzések

  • Oké, itt van a kérdésem, < id = “0f2e21715d”>

mindent nagyrészt működtem. egyetlen kérdésem van, hogy az X tengely 150-nél kezdődik, és az első pontom 113-nál van. Látod a problémát, az y tengely mögé rajzolódik. Tehát van-e mód arra, hogy elindítsuk az x tengelyt?

  • a frissített kérdésed szerintem csak a cselekménytartomány beállításáról szól. Ebben az esetben a manuális beállítás a legjobban működik, helyezze a PlotRange – > {{0, 800}, {8000, 11000}} elemet a ListPlot-ba.
  • válasz

    Jobb használni a NonlinearModelFit:

    data = {{0, 10}, {1, 5}, {3, 2}, {5, 1}, {6, 0}, {7, 0}}; nlm = NonlinearModelFit[data, a + b Exp[-x/c], {a, b, c}, x] Show[Plot[nlm[x], {x, 0, 7}] ,ListPlot[data, PlotStyle -> {Darker@Green, PointSize[0.03]}] ] 

    írja ide a kép leírását

    A paraméterek megtekintéséhez használhatja a nlm["BestFitParameters"] kap

    {a-> 0.100889, b-> 9.76356, c-> 1.62293}

    Frissítés

    Az új tesztadatok felhasználásával a @ george2079 tippet kapja:

    data = {{462.36,8872},{408.18,8780},{374.4,8915},{322.8,8937}, {274.00,8919},{243.03,9114},{209.32,9277},{178.91,9394}, {140.71,9508},{113.08,9592}}; nlm=NonlinearModelFit[data, a + b Exp[-x /c], {{a, 100}, {b, 100}, {c, 10}},x] Show[ListPlot[data, PlotStyle -> {Darker@Green, PointSize[0.03]}] ,Plot[nlm[x],{x,1,600}] ] 

    ide írja be a kép leírását

    Megjegyzések

    • Problémáim vannak a nonlinearModelfit Plot-ra kapásával, ez szintaxis hibákat okoz. Azt hiszem, ez valami a ListPlot esetében, ami nem tetszik.
    • Néhány kérdési adatot hozzáfűzhet a kérdéséhez, így tesztelhetjük.
    • @Bill szerkessze inkább a kérdését of usi ng megjegyzés.
    • Adatokat és funkciókat adtam hozzá, amelyeket megpróbálok használni az eredeti kérdésemhez. minden javaslatot nagyra értékelünk.
    • Ez nagyszerűen működik. az egyetlen kérdésem, hogy valóban megmutatom a sort. Az adatokat ábrázolásra készítem, de valójában nem ' adom meg a görbét. bármilyen ötlet, amit rosszul csinálhatok.

    Válasz

    Ebben az esetben a FindFit és a NonlinearModelFit nem talál könnyen A megfelelő illeszkedéshez ésszerű kiindulási értékeket kell megadnia a paraméterekhez:

    data = {{462.36, 8872}, {408.18, 8780}, {374.4, 8915}, {322.8, 8937}, {274.00, 8919}, {243.03, 9114}, {209.32, 9277}, {178.91, 9394}, {140.71, 9508}, {113.08, 9592}} FindFit[data, a + b Exp[-x /c], {a, b, c}, x] 

    (* hiba A keresés lépésmérete kisebb lett, mint a tűrés. .. *)

    FindFit[data, a + b Exp[-x /c], {{a, 100}, {b, 100}, {c, 10}}, x] 

    (* {a -> 8692,35, b -> 1910,19, c -> 161,513} *)

    Ez jól néz ki, sajnálom, hogy nem tudok grafikákat közzétenni.

    Szóval hogyan juthatsz kiinduló értékekhez? Ábrázoltam a kifejezést, és kézzel játszottam az állandókkal, amíg elég közel nem értem. Bocsánat, ha ez nem kielégítő, de az adatillesztésnek valóban van egy olyan művészete, amely túlmutat azon, amit a Mathica teljesen automatikus módon képes elvégezni.

    Megjegyzések

    • Valójában megkaptam a vonalat a grafikonhoz a kódoddal, de még mindig kapok egy ferde grafikont. bármilyen ötlet.

    Vélemény, hozzászólás?

    Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük