Bootstrap

matlab复习提纲

matlab复习

1 操作入门

  • 常用操作

    • cd 路径
    • help:查看函数用法
    • who/whos:查看变量信息
    • which xx:函数xx的位置
    • lookfor xx:搜索函数xx
    • what:列举当前目录所有的matlab文件
    • dir:显示当前目录内容
    • mkd xx:新建文件下xx
    • why:恶搞
    • clc:清空命令行、clear:清空变量
    • home:发送光标复位
    • iskeyword:关键词,可检查某个字符串是否属于关键词
    • shg:显示当前图窗
    • 命名
      • 第一个字符以英文字母开头,后面可包含_和数字
      • 不能与关键字同名
  • 数值计算

    • format 控制输出格式

      • format long、format rat分数形式
    • sin弧度、sind角度、asin反函数

    • exp、log:ln、log10:lg、sqrt、eps很小的数

    • 复数

      • abs、conj:复共轭、real实部、imag虚部、complex(3,4) 3+4i
    • inf和nan

      • inf±inf=nan、1/0=inf、exp(inf)=inf、1/inf=0、0/0=nan、inf/inf=nan、nan与啥操作就是nan
      • isnan() 判断是否为nan
    • 特殊矩阵

      • zeros、ones、diag([12,65,123,65])、rand、eye单位阵、nan
      • linspace(a,b,t):生成区间[a,b]中等长的t个数
    • 解线性方程组 AX=b

      • 其唯一解为X=b/A
      • X=inv(A)*b
      • X=A\b
    • 舍入方法

      • round四舍五入
      • ceil向上取整
      • floor向下取整
      • fix向0取整
      • rem(a,b):返回a除以b后的余数
    • 范数

      • 二范数:norm(A*x-b)
      • 一范数:norm(A*x-b, 1)
    • 数值与矩阵运算的区别

      • 数值运算:./、.*
      • 转置:.’
      • 矩阵运算:/、*
      • 复共轭:’
    • 矩阵操作

      • 假设size(B)为3, 7

      • 交换第2、3行:B([1,3,2]😅

      • 左右翻转:B(:, 7: -1 :1)、fliplr(B)

      • 上下翻转:flipud(B)

      • size、length:length取最大维的长度

    • 常用函数

      • max(A)按列求最大、max(A,[],2)按行求最大
      • mean(A)按列求均值、mean(A,2)按行求均值
      • std(A)、std(A,[],2)按列求、按行求
      • sum(A)、sum(A,2)按列求和、按行求和
      • prod(A)按列累乘、prod(A,2)按行累乘
      • cumsum(A)每列分别累加、cumsum(A,2)每行分别累加
      • sort(A)按列升序排序、sort(A,2)按行升序排序、sort(A,‘descend’)按列降序排序、sort(A,2,‘descend’)
        • 返回值为[B, I]
          • B为排序结果矩阵、I为结果的索引矩阵
    • 插值

      • interp1

        • x = 0:pi/4:2*pi; 
          v = sin(x);
          xq = 0:pi/16:2*pi;
          figure
          vq1 = interp1(x,v,xq);
          plot(x,v,'o',xq,vq1,':.');
          xlim([0 2*pi]);
          title('(Default) Linear Interpolation');
          
      • fill填充

        • t = (1/16:1/8:1)'*2*pi;
          x = cos(t);
          y = sin(t);
          fill(x,y,'r')
          axis square
          
  • 数据类型

    • 分类
      • logical、string、char、table、cell、struct、numeric(int、uint、single、double)
    • struct
      • 直接创建
        • Student.name=‘hp’
        • Student.test=9
        • Student(2).name=‘hpp’
      • struct函数
        • struct(‘name’,‘hp’,‘test’,9)
    • 句柄handle@
      • t = @sin; t(num)
      • tt = @(x) x^2; tt(num)
      • ttt = @() sprintf(’%.3f’,rand); ttt()生成随机数
      • fplot(@(x) sin(x), [1,5]) 绘制某函数的图像
      • fzero(Fun, 初始值) 求函数零点
      • fminbnd(Fun, 左边, 右边) 求极小值
      • fplot3(@(t) sin(t), @(t) cos(t), @(t) t) 绘制三维曲线图
      • fsurf(@(x,y) sin(x)+cos(y)) 绘制三维曲面图
      • fimplicit3(@(x,y,z) x.^2 + y.^2 - z.^2) 绘制三维隐函数
      • fcontour(@(x,y) sin(x) + cos(y)) 绘制函数的等高线
    • 元胞数组:可包括数字、字符产、矩阵类型
      • celldisp:逐个显示元素
      • cellplot用图形显示cell
      • readcell读入文件成cell形式
      • C(1,1)取出的是cell,C{1,1}取出的是string/double
  • 编写脚本

    • 逻辑语句
      • if elseif else end
      • for i=1:100 … end
      • while pos~=100 and pos2==1 … end
      • continue、break
      • &与&&
        • &先计算左右两个式子真假,然后再逻辑与
        • &&先计算前面式子,若假则不计算下一式子的值,效率更高
  • 绘图

    • plot 基本绘图

    • stairs(Y) 阶梯状图

      • X = linspace(0,4*pi,40);
        Y = sin(X);
        figure
        stairs(X,Y)
        
    • errorbar(x,y,err) 误差图

      • x = 1:10:100;
        y = [20 30 45 40 60 65 80 75 95 90];
        err = 8*ones(size(y));
        errorbar(x,y,err)
        
    • area 区域图

      • x = [10 11 12];
        Y = [21.6 25.4; 70.8 66.1; 58.0 43.6];
        area(x,Y)
        xlabel('Dealership ID')
        ylabel('Sales')
        legend({'Model A','Model B'})
        
    • loglog双对数刻度图

    • semilogx/semilogy 半对数

    • hist直方图

    • bar柱状图

    • stem火柴头

    • polar极坐标

    • contour等高线

    • image图片

    • 绘图格式

      • xlabel、ylabel、title
      • xlim([a,b])、ylim([c,d])、legend(‘a’,‘b’)
      • axis、grid(grid on/off)、axis equal(等比例)
      • text(’…’)
      • gtext(’…’) 在图上生成文字…(鼠标点击)
      • box(加上框)
    • 可选参数

      • LineStyle
      • LineWidth
      • EdgeColor
  • 文件操作

    • load导入数据
    • save保存数据
  • 字符串

    • 拼接字符串

      • [‘aa’,‘as’] -》‘aaas’
    • 某些字符串函数

      • blanks(num):num个空格

      • upper():大写、lower():小写

      • 字符串比较

        • 区分大小写:strcmp(str1, str2)
        • 不区分大小写:strcmpi(str1, str2)

        似乎没法传入第三个参数吧?

      • 寻找字符串:strfind(str, ‘a’),返回找出的若干个索引

      • num2str(str)、str2num(str)

        • num2str(pi, ‘%.7f’)保留7个小数
        • num2str(pi, ‘%.7g’)保留7个有效数字
      • 去空格

        • deblank(str):去掉末尾的空格
        • strtrim(str):去掉前后的空格
      • ascii码

        • char(65)【‘A’】
        • double(‘A’)【‘65’】
    • 格式化输出

      • sprintf(’%f’, pi)
      • %f:小数、%e:科学计数法、%g:有效数字
      • sprintf(’%.5f\n | %.3g\n’, [pi,pi])
      • sprintf(’%10.5g\n’, pi),其中10表示宽度
      • sprintf(’%-10.5g\n’, pi),从右边数起宽度为10
      • printf,是把格式字符串输出到标准输出(一般是屏幕,可以重定向)
      • sprintf,是把格式字符串输出到指定字符串中,所以参数比printf多一个char*。那就是目标字符串地址。
      • fprintf,是把格式字符串输出到指定文件设备中,所以参数笔printf多一个文件指针FILE*。
  • 例题

    • 设计算法计算 A \sqrt{A} A
      • L0 = A; W0 = A/L0;
      • L1=(L0+W0)/2; W1=A/L1;
      • L2=(L1+W1)/2; W2=A/L2;
      • Ln=(Ln-1 + Wn-1)/2;
    • 求两个函数的交点
      • sign符号函数、diff、find

ppt问题:

1.MATLAB是来源于哪两个英文单词?
matrix&laboratory

2.是谁写的第一个版本的MATLAB?
Cleve Moler

3.他编写MATLAB的初衷是为了让学生方便使用两个软件包,这两个软件包叫什么名字?
eispack和linpack软件包

4.MATLAB R2018a,这里的R2018a表示什么意思?

12.15

clock

datenum(y,m,d)

weekday(datanum(y,m,d))【计算周几】

tic;…;toc

profile

set(gca, ‘XTickLabel’, {‘sun’, ‘moon’, ‘…’})

eomday【matlab中的lastday,月的最后一天】

datevec(now)

考试重点

  1. 拟合函数polyfit(X,Y,N),多项式拟合 | 反斜杠求解线性方程组
  2. 复数:real实部、imag虚部
  3. 0、inf、nan之间的关系
  4. 矩阵乘法AX=B:X=A\B、X=inv(A) * B
  5. 矩阵索引的不同方法(增删改)
  6. ind2sub、sub2ind(线性索引与下标之间的转换)
  7. find(isnan(A))->linear indexing
  8. 冒号在等号左右
    • A(😃 = 1,A形状不变
    • B = A(😃,B的形状为n * 1
  9. 函数
    • function res = Func(A)

      end
  10. diff、【eig计算矩阵A的特征值和特征向量】[E] = eig(A):E为全部特征值、求矩阵A的全部特征值,[V,D] = eig(A):求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量
  11. 匿名函数@
  12. quad、fzero、fplot、fminbad
  13. arrayfun+匿名函数:arrayfun(@(x) sprinf(’%.5f’,x), rand(5,4))
  14. cell数据结构(有作业题例题)
  15. struct数据结构
  16. upper、lower
  17. fopen、fclose、fread、fprintf、fscanf
  18. save、load
  19. 绘图:surf、mesh、contour\bar
  20. 日期、时间

试卷:

  1. https://eduai.baidu.com/view/98230632f211f18583d049649b6648d7c1c708ce
  2. https://eduai.baidu.com/view/7371c6337ed184254b35eefdc8d376eeaeaa17f2
;