我获得了50个数据点的集合,其中i = 1,...,50的值为{a ^(i),b ^(i)} 存储在数组a和b中。 我知道范德蒙德矩阵A的大小为m x n,其中n = 2 ... 11,m是数组a的大小。
对于n = 2,...,11,我想用度数(n − 1)的多项式拟合数据。为此,我必须设置大小为m×n的范德蒙德矩阵A。
范德蒙德矩阵A求解以下方程式:
A^T*A*x = A^T*b
其中A ^ T是转置矩阵,我已经给出b了。
我们也知道Aij = (a^(i))^(j−1)
等于j = 1,...,n,
令我困惑的是如何将矩阵设置为n = 2,..,11。
我的思路是:
我有m = length(a);
,这将设置m = 50;
n = 11;
然后A=ones(m,n);
将创建一个矩阵A,并用正确大小的矩阵填充。
但是我不确定如何填充矩阵。 我写了以下for循环,我认为它将填充矩阵:
for n = 2:11
j=n;
for i = 1:50
A(i,n) = (a^(i))^(j-1);
end
end
您能帮我设置矩阵吗?
答案 0 :(得分:0)
您应该使用vander
函数。但是,boost::filtered_graph<Graph, boost::keep_all, decltype(vertexes_filter)> auxilary(g, boost::keep_all(), vertexes_filter);
some_naive_user_function(g, std::cout << "\n---- Origina (via naive user function)\n");
some_naive_user_function(auxilary, std::cout << "\n---- Filtered (via naive user function)\n");
将返回一个m x m的矩阵,该矩阵通常用于将数据拟合为次数为(m-1)的多项式。由于您想拟合一个次数为n-1的多项式,因此只需要该矩阵的最后n列。
代码如下:
$subject = "Hallo my Friend";
$content = "<html>.......</html>"
echo "<a href="mailto:loads@lists.eichert-klaus.de?subject='.html_entity_decode($subject).'&body='.urlencode($content).'">";