matlab基础|数学建模算法与应用
zeros(3,1) 三行一列的零矩阵
ones(3,1) 三行一列的全一矩阵
[x,y]=linprog(f,a,b,aeq,beq,lb,ub); 求解关于x,y的线性规划命令
[x,y]=fmincon(fun,x0,a,b,aeq,beq,lb,ub,nonlcon,options); 求解关于x,y的非线性规划命令
[x x x]'是[x x x]的转置矩阵
x=unifrnd(0,12,[1,10000000]); x是在矩形区域[0,12]*[0,9]上产生服从均匀分布的10000000个随机点组成的矩阵
x=reshape(x,n,n); 将列向量x按列排成一个n阶方阵
ran(3,1) 生成三行一列的随机数矩阵
syms x y 定义符号变量 x y
df=jacobian(f) f是多项式 对f求一阶导
[xx,yy]=solve(df); 求根
all(x) 如果x是一个向量,则如果x的所有元素都不等于0,all(x)返回1,否则返回0;如果x是一个矩阵,则沿着列的方向,判断x的每一列是否包含0元素。对于各列,如果不包含0元素,则返回1否则0。这样all(x)最终得到一个行向量,每个元素是都x的每一列的判断结果。
if all(D>0)和if all(D)>0 意思是不一样的。 if all(D>0):判断D中所有的元素是否都大于0,如都大于0,就返回1;如有一个不大于0,就返回0。
b=eig(a); 返回矩阵a的特征值(特征值全为正就是正定阵)
fminunc和fminsearch用于求解无约束极小值问题
fminsearch只能求给定的初始值附近的一个极小值点
options是优化参数 详见 http://blog.csdn.net/listener51/article/details/25164847
函数零点和方程的根问题:roots(向量)或solve(多项式)
fsolve(y,rand) y是多项式 只能求给定初始值附近的一个零点
R = vpa(A, d) 计算A中每个元素的d小数位精度,其中d是当前设置的位数,结果的每个元素是符号表达式。
二次规划:目标函数是自变量x的二次函数 约束条件是线性的 [x,fval]=quadprog(H,f,a,b,aeq,beq,lb,ub,x0,options)