Interpolation

4 visualizzazioni (ultimi 30 giorni)
Giulia De Luca
Giulia De Luca il 20 Apr 2011
Risposto: Rahul R il 12 Set 2022
Dear all, I have a problem with the output of a simulation. I have used PSpice to simulate a device and I am trying to use data in Matlab, but the sampling of data is not what I need. I have an x-y graph and I would like to know the value of my simulation every 0.01 ns, but by now I know it more or less every 0.1 ns and the frequency of sampling is not constant. Is it possible to solve my problem? I tryed whit polyfit and polyval, but they did not work. Thank you.

Risposta accettata

Arnaud Miege
Arnaud Miege il 20 Apr 2011
You probably need to use interp1. If you can post your code, I can maybe be more specific.
HTH,
Arnaud

Più risposte (3)

John D'Errico
John D'Errico il 20 Apr 2011
Of course polyfit fails to interpolate, as it is not a tool for interpolation!
Use interp1, or spline/pchip coupled with ppval if the data represents a function to be interpolated. If you have noise in the data, then you may wish to smooth the noise. But then you are not interpolating again! Even then however, polyfit is rarely a good choice.
If your data is from a multi-valued relationship that will not yield a single value y for any given x, then you need to do otherwise. There are other tools that may be appropriate, depending on the problem.

Giulia De Luca
Giulia De Luca il 20 Apr 2011
Arnaud and John, thank you very much for your suggestions. I have just solved my problem with a for cicle and interp1.

Rahul R
Rahul R il 12 Set 2022
syms y(x) E l w
dsolve(E*l*diff(y, 2) == (w*xˆ2/2)-w*l*x, y(0) == 0,y(2*l) == 0)
max_deflection=subs(ans,x,l)
ans =
(x*(8*w*lˆ3 - 4*w*l*xˆ2 + w*xˆ3))/(24*E*l)
max_deflection =
(5*lˆ3*w)/(24*E)

Categorie

Scopri di più su Interpolation in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by