function [x]=lsq(om,x,t); nc=length(om); m=1+2*nc; % Build Matrix % THESE COULD BE WRITTEN WITHOUT THE FOR LOOPS--BUT ANSWER IS THE SAME! c(1,:)=ones(1,length(t)); for i=1:nc; c(2*i,:) = cos(om(i)*t); c(2*i+1,:) = sin(om(i)*t); end for i=1:m for j=1:m A(i,j)=mean(c(i,:).*c(j,:)); end end for i=1:m b(i)=mean(x.*c(i,:)); end b=b'; % Get solution x=A\b;