# Vandermonde Matrix System for polynomial interpolation

## Topics in this lab

## Introduction

In this lab, we will learn how to solve the Vandermonde matrix system to find the coefficients of an interpolating polynomial. We will also see how the matlab command polyfit can be used to obtain the same set of coefficients.

Back to the top

## Generate the data

clear all; close all; N = 10; % We will try to fit a tenth degree polynomial x = linspace(-1,1,N+1)'; a = 3; b = 8; y = a + (b-a)*rand(N+1,1); % Generate random numbers in [a,b] plot(x,y,'k.','markersize',30); snapnow;

Back to the top

## Solving the Vandermonde system

Solve the Vandermonde system using vander

V = vander(x); a = V\y;

Plot the results of the Vandermonde system

xs = linspace(-1,1,100); ys = polyval(a,xs); plot(xs,ys,'r','linewidth',1); hold on; plot(x,y,'k.','markersize',30); title('Using vander','fontsize',18); snapnow;

Back to the top

## Using the polynomial interpolation available in Matlab.

Use the Matlab function polyfit

p = polyfit(x,y,N); % Supply the degree of the polynomial ys = polyval(p,xs); plot(xs,ys,'ko','linewidth',1); % Plot using the 'circle' symbol title('Using polyfit','fontsize',18); snapnow;

Back to the top

## Exercises

For each of the following problems, use the vander
function to answer the questions. Plot the data points and the
curve you find.

- Find the slope and the y-intercept of the line that passes through the two points $(-3.2, 1.2)$ and $(5.4,-4.3)$.
- Find the maximum value of the parabola that passes through the three points $$(-3.2, 4.5), \quad (1.2,6.1), \quad (6.1,-3.4)$$

Compare your answers with the solutions.

Back to the top

## Get the code

Do you want to try the above code fragments on your own? Download the Matlab script that produces this page here. (lab_9.m)

Published with MATLAB® 8.2