Clear Filters
Clear Filters

Turing a Least Squares function into a Weighted Least Squares

2 views (last 30 days)
So i originally wrote my function for a least squared function but it turns out I need to write my function to figure out the weighted least squares. From my understanding, a weighted least squares problem can be solved by the basic least squares method after we multiply both Yi and the ith row of X by wi in a typical equation. But how do I should this in a matlab function?
function [A, e] = WeightedLeastSquares(X, Y, w) size(A) rank(A) rank([A b]) X = A\b Y = norm(A*X) w = pinv(A)*b
I already have the variables A,e, X,Y,w loaded onto my current workspace, but I just need to change my function. So, if I call,
load Lab08Data.mat
I get
[A, e] = WeightedLeastSquares(X3, Y3, w)
A =
3.0573
1.9250
e =
0.0218
-0.0702
0.3235
0.0552
-0.1038
-0.0202
Any suggestions on how turn my function to a weighted least squares function?
  3 Comments
SB
SB on 26 Oct 2012
I dont think we're allowed to use polyfit; it defeats the purpose of the problem.

Sign in to comment.

Answers (0)

Categories

Find more on Discrete Data Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!