Interpolation

4 次查看(过去 30 天)
Giulia De Luca
Giulia De Luca 2011-4-20
回答: Rahul R 2022-9-12
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.

采纳的回答

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

更多回答(3 个)

John D'Errico
John D'Errico 2011-4-20
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 2011-4-20
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 2022-9-12
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)

类别

Help CenterFile Exchange 中查找有关 Interpolation 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by