每次更新一点,慢慢增加
nargin
nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。通常可以用他来设定一些默认值,如下面的函数。 例子,函数test1的功能是输出a和b的和。如果只输入一个变量,则认为另一个变量为0,如果两个变量都没有输入,则默认两者均为0。
function y = testNargin(a,b)
if nargin==
a=;b=;
elseif nargin==
b=;
end
y=a+b;
end
相关:varargout、nargout、varargin
subs
这里subs的替换换就是元素替换
调用格式:
R = subs(S)
R = subs(S, new)
R = subs(S, old, new)
syms a b
y = a*b; a = ; b=;
subs(y); subs(y,{a, b},{, }); subs(y,{a, b},{[ ],[,]}); %表示矩阵对应元素相乘
没有矩阵替换后执行矩阵运算你要进行矩阵运算可以这样写
>> x=sym([0 1;-1 0]);
>> y=sym([1 -1;-2 1]);
>> x*y
repmat
repmat 即 Replicate Matrix ,复制和平铺矩阵
语法:
corrcoef
A=corrcoef(X)后,A中每个值的所在行a和列b,反应的是原矩阵X中相应的第a个列向量和第b个列向量的相似程度(即相关系数);
A=corrcoef(f,g),其中f,g是向量(都转化为列向量),输出A是一个二维矩阵(对角元恒为1),
我们感兴趣的f和g的相关系数就存放在A(1,2)=A(2,1)上,其值在[-1,1]之间,1表示最大的正相关,-1表示绝对值最大的负相关。
var
表示方差 ,公式:sum((v - mean(v))^2) /(length(v) - 1),其中v表示向量,V表示矩阵
语法:
var(v) :表示向量的方差
var(V):每个列向量的方差,结果为行向量
cov
是以列向量为单位,算出协方差是多少,公式:COV(X,Y)=E[(X-E(X))(Y-E(Y))]
语法:
cov(x) cov(x, y) cov(x, y, 1)
norm
1、如果A为矩阵
n=norm(A)
返回A的最大奇异值,即max(svd(A))
n=norm(A,p)
根据p的不同,返回不同的值
p 返回值
1 返回A中最大一列和,即max(sum(abs(A)))
2 返回A的最大奇异值,和n=norm(A)用法一样
inf 返回A中最大一行和,即max(sum(abs(A’)))
‘fro’ A和A‘的积的对角线和的平方根,即sqrt(sum(diag(A'*A)))
2、如果A为向量
norm(A,p)
返回向量A的p范数。即返回 sum(abs(A).^p)^(1/p),对任意 1<p<+∞.
norm(A)
返回向量A的2范数,即等价于norm(A,2)。
norm(A,inf)
返回max(abs(A))
norm(A,-inf)
返回min(abs(A))