Matlab 2018a 官方教程[二]

前言

MatLab 2018a 官方教程这是第一篇教程。接下来是第二篇,介绍一些大家不太注意的东西。

一.Matlab系统环境

  1. >> :命令提示符
  2. …   : 续行符
  3. 修改文件夹;①文件夹工具栏修改②cd命令
  4. 工作区:变量的显示与操作
  5. 如果给内部函数赋值,恢复需要在工作区删掉这个变量就行
  6. 搜索路径:变量->内部函数->程序文件
  7. 设置搜索路径:①path命令②主页,环境:设置路径

二.Matlab数值数据

数值数据分类

  • 整型
    • 无符号:8位,16,32,64;int8,uint8:强制转换类函数
    • 带符号:8位,16,32,64
  • 浮点型
    • 单精度:4字节;single,转化函数
    • 双精度:8字节;double,转化函数;数字数据默认为双精度。
  • 复数型
    • 实部和虚部,默认双精度。虚数单位j或者i;real(),imag(),求实部和虚部。

数值数据的输出格式:format 格式符

Trial>> format long
Trial>> 3/2

ans =

   1.500000000000000

Trial>> format
Trial>> 3/2

ans =

    1.5000

注意:format只影响数据的输出格式,不影响数据的计算和存储;

常用数学函数:
(1) 函数的自变量规定为矩阵变量,当然也可以是标量,标量本身是矩阵的一种特例;
运算时是将函数逐项作用于矩阵的每一个元素上,最后运算的结果就是一个与自变量同型的矩阵。
(2)常用函数的应用
①以角度为单位的就在函数名后面加“d”,用来区别;

Trial>> sin(pi/2)

ans =

     1

Trial>> sind(90)

ans =

     1

②abs:绝对值,复数的模,字符串ascII

Trial>> abs(-4)

ans =

     4

Trial>> abs(3+4i)

ans =

     5

Trial>> abs('a')

ans =

    97

③取整的函数:

  • round 四舍五入
  • ceil 向上取整
  • floor 向下取整
  • fix 舍去小数
Trial>> round(4.7)

ans =

     5

Trial>> ceil(-3.8)

ans =

    -3

Trial>> floor(3.6)

ans =

     3

Trial>> fix(-3.2)

ans =

    -3

④举例:求345每一位数字

Trial>> m = 345;
Trial>> m1 = rem(m,10); % 求余数
Trial>> m2 = rem(fix(m/10),10);
Trial>> m3 = fix(m/100);
Trial>> [m1 m2 m3]

ans =

     5     4     3

100以内的素数

Trial>> x=1:100;
Trial>> k=isprime(x);  % 判断素数
Trial>> k1=find(k); % 找到序号
Trial>> p=x(k1)

p =

  1 至 9 列

     2     3     5     7    11    13    17    19    23

  10 至 18 列

    29    31    37    41    43    47    53    59    61

  19 至 25 列

    67    71    73    79    83    89    97

三.变量及其操作

变量:内存单元的抽象
变量名:字母开头。
变量的管理:

Trial>> who

您的变量为:

ans  k    k1   m    m1   m2   m3   p    x    

Trial>> whos
  Name      Size             Bytes  Class      Attributes

  ans       1x3                 24  double               
  k         1x100              100  logical              
  k1        1x25               200  double               
  m         1x1                  8  double               
  m1        1x1                  8  double               
  m2        1x1                  8  double               
  m3        1x1                  8  double               
  p         1x25               200  double               
  x         1x100              800  double         

四.Matlab矩阵

建立:①[]②利用建立好的建立更大的
③复数矩阵

Trial>> B=[1 2;3 4];
Trial>> C=[5 6;7 8];
Trial>> A = B + i*C

A =

   1.0000 + 5.0000i   2.0000 + 6.0000i
   3.0000 + 7.0000i   4.0000 + 8.0000i

④冒号表达式
⑤linspace(a,b,n) n省略自动100个
结构矩阵(有名字)
单元矩阵(无名字),大括号括起来

五,读取元素

按照列存储,访问的数字就是内存的位置

Trial>>  A=[1 2 3;4 5 6]

A =

     1     2     3
     4     5     6

Trial>> A(3)

ans =

     2

利用空矩阵删除矩阵的元素:赋值=[]
改变矩阵形状,reshape(A,m,n):只改变原矩阵的函数和列数,并不改变元素个数和存储顺序;
A(:) : 将A的每一列元素堆叠起来,成为一个列向量;

六.基本运算

/ 右除 \ 左除 ^ 乘方

  • 加减运算
    • 同型矩阵,对应元素加减
    • 不同型,给出错误信息
    • 一个标量也可以和矩阵进行加减运算,把标量和矩阵的每一个元素进行加减
  • 乘法
    • A的列数和B的行数相等;
  • 除法
    • A:非奇异方阵,B/A,等效Binv(A);A\B,等效inv(A)B;简单方法:把符号的斜度邪到平的;
  • 乘方运算
    • A^x: A方阵,x标量
6.2 点运算 .* ./ .\ .^
  • 对应元素进行相关计算,要求两矩阵同型
6.3 关系运算

~= 不等于

  • 标量之间,比较大小
  • 同型矩阵,相同位置元素按照标量关系运算规则,结果是一个与原矩阵同型的矩阵,它的元素由0和1组成。
  • 标量和矩阵比较
6.4 逻辑运算 & | ~
  • 同型矩阵,对应比较
  • 标量和矩阵

七.字符型数据

把一个字符串作为一个行向量

’i''m a teacher'   # 2个‘
Trial>> ch = ['dd';'dddd']
# 要串联的数组的维度不一致。
Trial>> ch='AC34cdvSDC4ferf';
Trial>> subch = ch(1:5);          # 提取
Trial>> revch=ch(end:-1:1);       # 反转
Trial>> k=find(ch>='a'&ch<='z');  # 找到小写字母
Trial>> ch(k) = ch(k) - ('a'-'A');# 变大写
Trial>> length(k);                # 统计小写字母

操作
(1) 字符串的执行 eval(s)
(2) 字符串与数值的转换

  • abs和double可以获取字符串矩阵的acsII
  • char 可以把ASCII矩阵转换为字符串矩阵

(3)比较 返回值1和0

  • 逻辑运算,维度相同,ascii比较
  • strcmp(s1,s2)
  • strncmp(s1,s2,n) 前n个
  • strcmpi(s1,s2) 忽略字母大小写
  • strncmpi(s1,s2,n)

(4) 查找和替换

  • findstr(s1,s2) 返回短字符串在长字符串的开始位置
  • strrep(s1,s2,s3) 将是s1中的所有子字符串s2替换s3
    原文作者:Me极客
    原文地址: https://www.jianshu.com/p/b7ab4f59344d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞