I need help building a dynamically evolving matrix based on a polynomial of unknown or user inputted size.
1 次查看(过去 30 天)
显示 更早的评论
I need help creating an array based on a polynomial of unknown length. Polyval and Poly fit cannot be used.
I need something that would do....
n=length(x);
X=[ones(n,1) x(:)];
% and after 1 iteration
X=[ones(n,1) x(:) x(:).^2];
%and after the 2nd iteration
X=[ones(n,1) x(:) x(:).^2 x(:).^3];
%and after the 3rd iteration
X=[ones(n,1) x(:) x(:).^2 x(:).^3 x(:).^4];
% and so on for n amount of iterations
0 个评论
回答(3 个)
Walter Roberson
2019-4-22
编辑:Walter Roberson
2019-4-22
xv = x(:);
yv = y(:);
X = [];
deg = 0;
while true
X = [X, xv.^deg];
coeffs = X \ yv;
residue = sum( (polyval(flipud(coeffs), xv) - yv).^2 );
if residue < tolerance
break;
end
end
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Polynomials 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!