# How to find equation when i have points?

**URL:** <https://discourse.julialang.org/t/how-to-find-equation-when-i-have-points/96240>\
**Category:** Numerics\
**Tags:** curve-fitting\
**Created:** [March 17, 2023, 11:59am UTC](https://discourse.julialang.org/t/how-to-find-equation-when-i-have-points/96240 "2023-03-17T11:59:43Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sergey\_Novak](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sergey_novak/32/37716_2.png) [@Sergey\_Novak](https://discourse.julialang.org/u/Sergey_Novak)\
**Post date:** [March 17, 2023, 11:59am UTC](https://discourse.julialang.org/t/how-to-find-equation-when-i-have-points/96240/1 "2023-03-17T11:59:43Z")

</div>

I have points and need to get equation of these points. I try to use wolfram and another online services and all result is bad.

---

<div class="post-metadata">

**Author:** ![Sergey\_Novak](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sergey_novak/32/37716_2.png) [@Sergey\_Novak](https://discourse.julialang.org/u/Sergey_Novak)\
**Post date:** [March 17, 2023, 12:58pm UTC](https://discourse.julialang.org/t/how-to-find-equation-when-i-have-points/96240/2 "2023-03-17T12:58:03Z")

</div>

Plots:

 ![image](https://global.discourse-cdn.com/julialang/original/3X/7/b/7bb4bd48239000b523051e8b1d98486d76a71606.png)

data: [Plots - Google Drive](https://drive.google.com/drive/folders/14dT9BzVWU9rq7hNq-iOLBmAaIXk4Qldy?usp=share_link)

---

<div class="post-metadata">

**Author:** ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)\
**Post date:** [March 17, 2023, 1:24pm UTC](https://discourse.julialang.org/t/how-to-find-equation-when-i-have-points/96240/3 "2023-03-17T13:24:53Z")

</div>

You could use [Polynomials.jl](https://juliamath.github.io/Polynomials.jl/stable/#Fitting-arbitrary-data) to fit a polynomial in the y-axis variable.

For a 4th-order polynomial, this gives:

 ![Polynomials_4th_order_fit](https://global.discourse-cdn.com/julialang/original/3X/2/9/29b3fc0aaf924ad295cc583753ef9330bd378d8f.png)

---

<div class="post-metadata">

**Author:** ![Sergey\_Novak](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sergey_novak/32/37716_2.png) [@Sergey\_Novak](https://discourse.julialang.org/u/Sergey_Novak)\
**Post date:** [March 17, 2023, 1:33pm UTC](https://discourse.julialang.org/t/how-to-find-equation-when-i-have-points/96240/4 "2023-03-17T13:33:36Z")

</div>

Thank you very much!  
Can you share code? I don’t know how to convert data from `.mat` to `.jl`. I can convert to numpy array and then to `.jl`, but it long

---

<div class="post-metadata">

**Author:** ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)\
**Post date:** [March 17, 2023, 1:41pm UTC](https://discourse.julialang.org/t/how-to-find-equation-when-i-have-points/96240/5 "2023-03-17T13:41:32Z")

</div>

Sorry, I did this in the REPL and the code is a mess to cut and paste.

To read the Matlab files, I have used the [MAT.jl](https://github.com/JuliaIO/MAT.jl) package.

---

<div class="post-metadata">

**Author:** ![Sergey\_Novak](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sergey_novak/32/37716_2.png) [@Sergey\_Novak](https://discourse.julialang.org/u/Sergey_Novak)\
**Post date:** [March 17, 2023, 2:16pm UTC](https://discourse.julialang.org/t/how-to-find-equation-when-i-have-points/96240/6 "2023-03-17T14:16:59Z")

</div>

What am i doing wrong?

```julia
f4 = fit(I0_data, U0_data, 4)
-725636.891507482 - 1.9486539668049992e6∙x - 1.9622241946502575e6∙x^2 - 878106.3537953914∙x^3 - 147347.79216010476∙x^4

```

```julia
function equat(x)
    -725636.891507482 .- 1.9486539668049992e6*x .- 1.9622241946502575e6*x.^2 - 878106.3537953914*x.^3 .- 147347.79216010476*x.^4
end

ytest = equat(I0_data);

```

 ![image](https://global.discourse-cdn.com/julialang/original/3X/4/7/473aed275dbe3de6e299631dd010bc3f995b0563.png)

---

<div class="post-metadata">

**Author:** ![Dan](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dan/32/42581_2.png) [@Dan](https://discourse.julialang.org/u/Dan)\
**Post date:** [March 17, 2023, 2:30pm UTC](https://discourse.julialang.org/t/how-to-find-equation-when-i-have-points/96240/7 "2023-03-17T14:30:07Z")

</div>

I think you need to switch between `I0_data` and `U0_data` as the arguments usally go x = p(y) and you want to fit polynomial over y input value with x output value.

---

<div class="post-metadata">

**Author:** ![Sergey\_Novak](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/sergey_novak/32/37716_2.png) [@Sergey\_Novak](https://discourse.julialang.org/u/Sergey_Novak)\
**Post date:** [March 17, 2023, 2:31pm UTC](https://discourse.julialang.org/t/how-to-find-equation-when-i-have-points/96240/8 "2023-03-17T14:31:51Z")

</div>

It helped, thank you!
