Interpolation Methods in MatLab for Plotting Car Fender Coordinates

  • Context: MATLAB 
  • Thread starter Thread starter beatboxbo
  • Start date Start date
  • Tags Tags
    Interpolation Matlab
Click For Summary

Discussion Overview

The discussion revolves around the use of interpolation methods in MATLAB for plotting car fender coordinates. Participants explore various techniques for interpolating data points and seek guidance on integrating and differentiating the resulting functions.

Discussion Character

  • Technical explanation
  • Mathematical reasoning
  • Homework-related

Main Points Raised

  • One participant asks whether they need to interpolate the coordinates first or if interpolation occurs during plotting.
  • Another participant explains the use of MATLAB's interp1 function for interpolation and provides an example of how to implement it.
  • Several participants express interest in integrating and differentiating the interpolated function, questioning how to achieve this in MATLAB.
  • There is a suggestion that MATLAB can find the derivative of the interpolated line, with references to numerical differentiation and integration methods.
  • One participant mentions the potential use of the pdeval function for differentiation but notes that it may not be suitable for their needs.
  • Another participant points out that the gradient function can be used for numerical derivatives.
  • A later reply discusses the use of polyfit to fit a polynomial to the data points, returning the polynomial coefficients.

Areas of Agreement / Disagreement

Participants generally agree on the methods for interpolation and numerical integration, but there is uncertainty regarding the best approach for differentiation and whether MATLAB can derive an equation from a set of points. Multiple views on differentiation methods are presented without consensus.

Contextual Notes

Participants reference specific MATLAB functions and methods, but there are limitations in the discussion regarding the assumptions behind numerical methods and the applicability of certain functions to the problem at hand.

beatboxbo
Messages
5
Reaction score
0
Hello, I'm having a really hard time doing some work in Matlab, I have a book but it just isn't making sense to me, the problem I have to do is in four parts so Ill just show the first part for now...

The following coordinates specify the
shape of a certain cars’ front fender. Interpolate and plot lines connecting these points
using linear, spline and cubic options.
x (ft) 0 0.25 0.75 1.25 1.5 1.75 1.875 2 2.215 2.25
y (ft) 1.2 1.18 1.1 1.0 0.92 0.8 0.7 0.55 0.35 0

Now do I have to interpolate the coordinates first, or do I interpolate the data when I plot the lines?
 
Physics news on Phys.org
The question is asking you to use MATLAB to "connect the dots", that is, interpolation, using piecewise linear, cubic or spline functions, that is, to connect the dots with straight lines, cubics, or spines. You do this using Matlab's interp1 function. Look at the help file in Matlab. interp1 works like this:

>> yi = interp1(x,y,xi,method)

the vectors x and y are as you have them, they give the coordinates of the points. xi is a vector of points at which you would like Matlab to interpolate. In your case, x ranges between 0 and 2.25, so say you want Matlab to interpolate the date at increments of 0.1, say. Then you will have
>> xi = 0:0.1:2.25

The "method" referred to in
>> yi = interp1(x,y,xi,method)
is the method you would like Matlab to use to do the interpolation, so in place of "method" you would put "linear", "cubic", or "spline", according to the method you want (without the quotation marks ofcourse.)

And then you can plot the interpolation:
>> plot(xi,yi)
If you would like to see the original points as well, then
>> plot(x,y,'o',xi,yi)
 
Hi,

I have done the above and now would like to both integrate and find the derivative of the function created by the interpolation. How do I go about doing this?
 
Matlab is capable of finding the derivative of the line created by the interpolation right?
 
mherna48 said:
Hi,

I have done the above and now would like to both integrate and find the derivative of the function created by the interpolation. How do I go about doing this?

mherna48 said:
Matlab is capable of finding the derivative of the line created by the interpolation right?

Qspeechc's example leaves you with a set of interpolated points yi, interpolated at values xi. You can then do numerical differentiation (using whichever method you feel is most appropriate) and numerical integration on the resulting vector.

A primer on numerical differentiation:
http://en.wikipedia.org/wiki/Numerical_differentiation

The MATLAB trapezoid rule (probably the easiest way of doing numerical integration) page:
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/trapz.html
http://en.wikipedia.org/wiki/Numerical_integration
 
Thanks dude,

The integration worked well. to differentiate, I understand the method, but I feel like there's a function that should do that in MATLAB. Maybe pdeval(m,x,ui,xout)??
 
mherna48 said:
Thanks dude,

The integration worked well. to differentiate, I understand the method, but I feel like there's a function that should do that in MATLAB. Maybe pdeval(m,x,ui,xout)??

Unfortunately, AFAIK there isn't one (for the reasons mentioned in the link I sent you to: you can take forward difference, backwards difference, three-point, etc. The closest thing there is to such a thing is the diff function (which just subtract element n from element n-1):
http://www.mathworks.com/access/helpdesk/help/techdoc/ref/diff.html
 
Last edited by a moderator:
The gradient function does numerical derivatives.
 
Thanks for the help. However, I don't have an equation to input; I just have two thousand points that seem to make a smooth curve. Can Matlab find the equation to the curve?
 
  • #10
polyfit fits a polynomial of a specified order to the the data. It returns the coefficients of the polynomial.
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 1 ·
Replies
1
Views
13K
  • · Replies 2 ·
Replies
2
Views
19K
  • · Replies 4 ·
Replies
4
Views
3K
Replies
1
Views
9K
  • · Replies 5 ·
Replies
5
Views
6K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
Replies
36
Views
12K