Vandermonde Matrix and an Error Vector

6 Ansichten (letzte 30 Tage)
Joseph Percsy
Joseph Percsy am 25 Apr. 2013
format long
n = inputdlg('Please enter a series of numbers seperated by spaces/commas: ')
numbers = str2num(n{1});
X = 0
V = fliplr(vander(numbers))
r_size = size(V,2);
c_size = size(V,1);
B = 1+(r_size./numbers)
X = B/V
Here's what I have so far. I've been running the program with n = 5, 15, 20, and basically I want to implement an a way of calculating an error vector using Error = (X - Dt), where Dt = [1, 1, 0, 0, 0, . . . , 0]T.
I'm not really quite sure how to go about this, and is this a good way to solve VX = B for X? Cheers for any advice guys.

Antworten (2)

bym
bym am 25 Apr. 2013
X = V\B
  2 Kommentare
Joseph Percsy
Joseph Percsy am 25 Apr. 2013
No, the system is X = B/V. That's not going to change.
Matt J
Matt J am 25 Apr. 2013
That's not what you posted. You posted that you wanted to solve V*X=B. The solution for that will be
X=V\B

Melden Sie sich an, um zu kommentieren.


Matt J
Matt J am 25 Apr. 2013
Bearbeitet: Matt J am 25 Apr. 2013
Why not just use POLYFIT?
X=polyfit(numbers,B,length(B)-1);
It is more numerically stable than using the Vandermonde matrix directly.
I want to implement an a way of calculating an error vector using Error = (X - Dt), where Dt = [1, 1, 0, 0, 0, . . . , 0]T.
I don't really understand where Dt comes from, but why not implement it directly as you've written it?
Dt=[1 1, zeros(1,length(X)-2)].';
Error=X-Dt;

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by