Matlab学习笔记(1) - Matlab基本操作与数组输入

Matlab基本操作与数组输入

    • 绪:什么是Matlab?
    • Matlab作为计算器
    • 变量:
    • format用法:
    • 命令行命令介绍:
    • 数组(向量和矩阵):

绪:什么是Matlab?

Matlab是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。
Matlab是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。
Matlab和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。Matlab的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用Matlab来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且Matlab也吸收了像Maple等软件的优点,使Matlab成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

Matlab作为计算器

  • 操作:+,-,*,/,\,^
  • 结果:Matlab计算结果并通过ans展示
  • 运算规则:
  • 从左到右计算
    • 括号的优先级最高
    • 然后是"^"符号
    • 先乘除后加减

变量:

  • 不需要事先声明变量的类型
  • 变量名在左,数值在右
  • 变量是区分大小写的
  • 不能以数字开头命名变量
  • 数值变量默认类型是double
    查看变量:
    who:查看变量
    whos:查看变量的完整信息
    一些特殊的变量名是Matlab自定义的变量,不能用来定义变量,类似于关键字,在命令行中输入"iskeyword"查看Matlab的关键字
%查看Matlab自带变量(关键字):
>> iskeyword
ans =
  20×1 cell 数组
    'break'
    'case'
    'catch'
    'classdef'
    'continue'
    'else'
    'elseif'
    'end'
    'for'
    'function'
    'global'
    'if'
    'otherwise'
    'parfor'
    'persistent'
    'return'
    'spmd'
    'switch'
    'try'
    'while'

优先级:

  • 转置类:矩阵转置.’ 共轭转置’ 幂运算^
  • 正负号:+ -
  • 乘除类:点乘.* 矩阵乘* 元素左右除./ .\矩阵左右除/ \
  • 加减:+ -
  • 冒号运算::
  • 等于类:< <= > >= == ~=
  • 逻辑与:&
  • 逻辑或:|
  • 先决与:&&
  • 先决或:||

清除变量:clear+变量名

clear a

format用法:

  • format short:显示的小数点后面的数字较少
  • format long:显示的小数点后面的数字较多
  • format shortE:以科学计数法的方式显示
  • format longE:以科学计数法的方式显示
  • format bank:显示小数点后两位数,用于展示美元的分
  • format hex:展示十六进制数
  • format rat:将无理数转换成分数形式

命令行命令介绍:

  • 以";"结尾:不显示计算结果
  • 方向键上和下:可以查看历史命令
  • clc:清除命令行窗口
  • clear:清除工作空间的变量信息

数组(向量和矩阵):

输入行向量:

a = [1 2 3 4];
a1 = [1,2,3,4];

输入列向量:

b = [1;2;3;4];

矩阵的输入:

c = [1 2 3;4 5 6;7 8 9];

数组的索引:寻找特定位置的元素
方法1:格式:A(m,n):找到第m行第n列的元素

>> c = [1 2 3;4 5 6;7 8 9]
c =
     1     2     3
     4     5     6
     7     8     9
>> c(3,3)
ans =
     9
>> c([1 3], [1 3])
ans =
     1     3
     7     9

方法2:将矩阵进行编号。按照从上到下,从左到右的顺序。

>> c([1 3 7])
ans =
     1     7     3

取代某个位置的值:

>> c(2,2) = 10;
>> c
c =
     1     2     3
     4    10     6
     7     8     9
>> c(9) = 11;
>> c
c =
     1     2     3
     4    10     6
     7     8    11

某行为空:

>> c(3,:) = [];
>> c
c =
     1     2     3
     4    10     6

某列为空:

>> c(:,1) = [];
>> c
c =
     2     3
    10     6

数组连接:

只要数组的形状大小合适,就可以连接在一起

  • F = [A B]:横向连接
  • F = [A;B]:纵向连接

数组的四维运算:

  • A + B:矩阵A和矩阵B对应位置相加
  • A * B:A的第一行乘以B的第一列,要求A的行数等于B的列数
  • A .* B:矩阵对应位置的元素相乘
  • A / B:约等于 A * inv(B)
  • A ./ B:矩阵对应位置的元素相除

一些特殊的矩阵和矩阵相关的函数:

eye(n):对角为1的矩阵
ones(n):全为1的矩阵
zreos(n):全为0的矩阵

你可能感兴趣的:(矩阵,matlab)