Vandermonde Matrix and an Error Vector

8 vues (au cours des 30 derniers jours)
Joseph Percsy
Joseph Percsy le 25 Avr 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.

Réponses (2)

bym
bym le 25 Avr 2013
X = V\B
  2 commentaires
Joseph Percsy
Joseph Percsy le 25 Avr 2013
No, the system is X = B/V. That's not going to change.
Matt J
Matt J le 25 Avr 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

Connectez-vous pour commenter.


Matt J
Matt J le 25 Avr 2013
Modifié(e) : Matt J le 25 Avr 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;

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by