我得到了一些包含表达式的matlab代码:
a/b
其中a和是1D数组。它有什么作用?
E.g:
a= [1 2 3];
b= [1 1 1];
a/b
答案 0 :(得分:0)
a
和b
应被视为矩阵,c=a/b
的答案等同于最小化等式系统a=b*c
的误差。或者换句话说,最小化bc-a
的错误,扩展到∑(cb_i - a_i)²
。由于我们希望最小化c
,因此可以通过采用一阶导数w.r.t来完成。 c并设置等于零。解决这个问题产生表达式c=∑(a_i*b_i)/∑(b_i²)
或matlab:
sum(a.*b)/sum(b.*b)
这可以尝试,例如通过做:
a = [ 1 2 3];
b = [ 1 2 1];
a/b
sum(a.*b)/sum(b.*b)
答案 1 :(得分:0)