MATLAB学习总结

第一章 MATLAB基础知识

  • 等差 Var = start_val : step : end_val
  • n个等差 var = linspace(start_val,stop_val,n)
  • 等比 var = logspace(start_val,stop_val,n)
  • reshap?
  • A = zeros(3,2)
  • B = ones(2,4)
  • C = eye(4)
  • D = magic(5)
  • E randn(1,2)
  • F = gallery(5)
  • 求矩阵尺寸:size(M)
  • 求矩阵维度:ndims(A)
  • 内存占用情况:whos
  • 符号变量:设一个变量为x,y 。syms x y;
  • 指数(幂):exp(num)
  • 矩阵指数$$$$ e^x = a+x+\frac{x^2}{2!}+\frac{x^3}{3!}+...+\frac{x^n}{n!}:expm
  • log,logm
  • 求复数绝对值:abs()
  • 求复数共轭:conj(a+bi)
  • 变量替换:subs(S,old,new)
  • 双精度数值:double(syms)
  • 指定精度:digits(cnt)
  • 指定表达式指定精度:syms  x = vpa(E,D)
  • 因式分解/因数分解:factor(),如果是因式分解要注明符号变量
  • 表达式展开:expand(E)
  • 合并:simplify(E)
  • 通分:numden(f),求矩阵的分子分母矩阵
  • 嵌套表达式:horner(f)
  • 字符对象:char()
  • 改为常见形式:pretty(f)
  • 复合函数:compose(f,f1),f1 = x 带入 f
  • 求反函数:g  = finverse(f)

第二章 数学建模基础

  • 保存:save X.mat
  • 读取:load ('X.mat');open('X.mat')以结构体打开
  • 求平均值:mean()
  • 求中位数:median()
  • 求方差:var(x,1)
  • 求样本方差:var(x,0) = var(x)
  • 求标准差:std(x,1)
  • 求样本标准差:std(x,0)=std(x)
  • 峰度-偏度检测:jbtest()
  • p48泊松,二项式,均匀分布
  • p52参数估计,在可能有方差条件下,得均值
  • 图表绘制:正整数的频率表;经验累积分布函数图形;
  • 最小二乘曲线拟合
    x = 1:10;
    rng default;  % For reproducibility
    figure;
    
    y1 = x + randn(1,10);
    scatter(x,y1,25,'b','*')
    hold on
    
    y2 = 2*x + randn(1,10);
    plot(x,y2,'mo')
    
    
    y3 = 3*x + randn(1,10);
    plot(x,y3,'rx:')
    
    lsline
  • 正态分布概率图

    x = normrnd(10,1,25,1);
    normplot(x)
  •  

    威布尔概率曲线;盒图

 

  • 画直线:refline(k,b)
  • 根据变量和因变量,画图
    
    t=0:0.99:10000;
    y=t.^2 + t;
    
    plot(t,y)
    

     

  • 一元线性回归求解系数:polyfit
  • 多元线性回归求解系数:regress

第三章 程序设计

  • 解线性方程
    a = [2,-3,5,-1;1,4,2,-3;-2,4,-3,-7;8,0,-2,1]
    b=[3;7;-1;8]
    x= inv(a)*b
    
    

     

  • 调试:error,warning
  • 曲线拟合函数:多项式拟合polyfit + polyval + vpa(显示多项式) + plot;非线性曲线拟合
  • 参数估计
    • normfit正态
    • 点估计最大释然法;moment矩法
    • 区间估计mle
  • 输入个数nargin,输出个数nargout
  • 全局变量global 在所有文件里都要声明
  • 一维插值常用三次多项式插值,效果好
  • 二维插值interp
  • 样条插值spline

第五章 求导,积分,级数展开

  • 求导diff(s,'x',n);偏导数套公式;隐函数偏导,套公式
  • 求极限limit,左极限,右极限,多变量求极限嵌套
  • 求不定积分int(f,x),求定积分int(f,x,l,r),多重积分int嵌套
  • 级数展开
    • 泰勒展开:Taylor(f,x,k,a)
    • 傅里叶展开:p150要自己编写
  • 级数求合symsum

第九章 MATLAB数据图形可视化

  • 一元函数(二维)绘图ezplot(f)
  • 二元函数(三维)ezmesh(f)
  • 二元函数(三维)meshgrid
    >> y=-2:0.1:2;
    >> [X,Y] = meshgrid(x,y);
    >> z=X.^3+Y.^3;
    >> surf(X,Y,z)

     

  • 画图主要用plot。283页
    x = 0:0.1:4*pi;
    y=exp(2*cos(x));
    figure(1);
    plot(x,y,'b.');
    title('TEST');
    xlabel('x');
    ylabel('y');
    legend('e2cos');
    text(2,0,'y=6666');
    axis([0,4*pi,-1,1]);
    grid on
    
    

     

  • 快速画图法fplot,ezplot
  • 极坐标polar
  • 条形图bar
  • 针状图stem
  • 阶梯图stairs
  • 饼图(切割出来)
  • griddata拟合

第十二章 投资收益与风险【线性规划模型】

  • $$ \left\{ \begin{aligned} max(0.05x_0+0.27x_1+0.19x_2+0185x_3+0.185x_4) \\ x_0+1.01x_1+1.02x_2+1.045x_3+1.065x4 = 1 \\ 0.025x_1<=k \\ 0.015x_2<=k \\ 0.055x_3<=k \\ 0.026x_4<=k \\ x_i >=0 \end{aligned} \right. $$  求在各种k情况下,最大的max是多少
f=-[0.05,0.27,0.19,0.185,0.185]';
A = [0,0.025,0,0,0;
    0,0,0.015,0,0;
    0,0,0,0.055,0;
    0,0,0,0,0.026];
aeq = [1,1.01,1.02,10.45,1.065];
beq = 1;
lb = zeros(5,1);
i = 1;

for k = 0.001 : 0.002 :0.05
    b=[k,k,k,k]';
    [x,fval,exitflag,options,output] = linprog(f,A,b,aeq,beq,lb);
    y(i) = -fval;
    
    i = i + 1;
end

k = 0.001 : 0.002 :0.05;
plot(k,y);
xlabel('风险');
ylabel('收益');
title('风险收益图(n=4)')

画图细节

各种颜色属性选项
'r' 红色 'm' 粉红
'g' 绿色 'c' 青色
'y' 黄色 'k' 黑色

各种线型属性选项
'-' 实线 '--' 虚线
':' 点线 '-.' 点划线

各种标记点属性选项
'.' 用点号绘制各数据点 '^' 用上三角绘制各数据点
'+' 用'+'号绘制各数据点 'v' 用下三角绘制各数据点
'*' 用'*'号绘制各数据点 '>' 用右三角绘制各数据点
' .' 用'.'号绘制各数据点 '<' 用左三角绘制各数据点
's'或squar 用正方形绘制各数据点'p' 用五角星绘制各数据点
'd'或diamond用菱 形绘制各数据点 'h' 用六角星绘制各数据点
这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿
色的 '+'号绘制曲线.

你可能感兴趣的:(学习资料)