这个是给予很多个点寻找最接近这个点的 func,Y = AP,当他们是 matrix(看笔记)
matlab: P = A/Y
example:
1 | % data points for X-axis |
𝑦 = 𝑎𝑥^3+ 𝑏𝑥^2+ 𝑐𝑥 + 𝑑
1 | % create some random data points |
Using MATLAB to Find x in Ax =y
For the case where A is a square matrix, we calculate the inverse using: P = inv(A)
To calculate a left-pseudo inverse: P = inv(A’*A)*A’
To calculate a right-pseudo inverse: P = A’inv(AA’)
总之找 Ax = y 的时候的 x, x = A\y
[v,d] = eig(A)
eigenvectors in v and the eigenvalues in d,获得俩 matrix,V 是vector集和,d 是对角线的 eigen value
sum of squared errors (SSE)
SE =(ˆY−Y)T(ˆY−Y)
err = yhat - Resistance
SSE = (err)’*(err)
mean absolute error (MAE)
which is the mean absolute distance between the predicted and actual values
absoluteErr = abs(err);
MAE = mean(absoluteErr);
寻找矩阵最大值
一个 matrix C,第一个max返回行向量,每一个列的最大值,第二个max找到这些中的最大值,
[row col] = find(C==(max(max(C))))
Find 函数,在 3×3 矩阵中查找非零元素。
1 | X = [1 0 2; 0 1 1; 0 0 4] |
返回的是从左上角向右数的每一个非零元素的位置
对 X
使用逻辑 not
运算符以查找零值。k2 = find(~X)
所以 find(C==1,5) 就是在 C matrix 里面寻找前五个等于 1 的值,返回它的位置
寻找某个matrix中大于特定数值的 element 的个数
比如寻找 A 里大于 10 的个数
sum(sum(A>10))
A>10 将会 produce 0 1 组成的matrix,然后一个 sum 会 return 每一个列的和,再来一个就获得了所有 1 的个数。