目录

一、MATLAB简介

A.  MATLAB发展简史

1、 MATLAB的开发单位:

2、几个不同的发展时期

B. MATLAB的特点

二、 MATLAB基本语法

1、数组的定义

规则1:

规则2:

规则3:

规则4:

2、数组元素的存取操作

3、算术运算

4 、数组变形

5、举例

6、常用函数


一、MATLAB简介

  • MATLAB(Matrix Laboratory, 即矩阵实验室)是MathWork公司推出的一套高效率的数值计算和可视化软件.
  • MATLAB是当今科学界最具影响力、也是最具活力的软件, 它起源于矩阵运算, 并已经发展成一种高度集成的计算机语言.
  • 它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能.

A.  MATLAB发展简史

1、 MATLAB的开发单位:

美国Mathworks公司,Cleve Moler博士

2、几个不同的发展时期

  1. 70年代末,Cleve Moler为讲授矩阵理论和数据分析编写了Linpack与Eispack软件包。
  2. 1984年,成立公司Mathworks,推出第二代MATLAB。内核用C编写。
  3. 1990年,推出系统仿真工具Simulink。
  4. 1993年,Matlab 4.0——Windows版。
  5. 1994年,Matlab 4.2——开始广受重视和应用。
  6. 1999年,Matlab 5.3——32位运算。
  7. 2000年11月,Matlab 6.0。
  8. 2001年5月,Matlab 6.1。
  9. 2002年8月,matlab 6.5—— 加入JIT加速器。

B. MATLAB的特点

  1. 一个变量可以直接当作一个矩阵。
  2. 一个元素可以直接当作一个复数。
  3. 用解释方式对程序加以执行。
  4. 数据可以通过MATLAB绘图功能实现可视化,最复杂的可视效果可以是三维坐标中的立体曲面图。
  5. 不仅能进行数值运算,还能进行符号运算及系统仿真。
  6. 有多达30多个工具箱。
  7. 与其他语言程序或应用程序有方便的接口。例如:C、Fortran、Word等。
  8. 大量繁杂的数学运算和分析可调用MATLAB的函数直接求解。
  9. “教育部全国计算机专业课程指导委员会”已将MATLAB作为推荐课程。
  • MATLAB建立在C/C++语言基础之上, 抽象程度更高, 也更加接近人类的自然语言, 因而在编写程序时可以更多关注问题的整体处理上, 而不是数据的细节处理.
  • MATLAB内置了大量的函数, 用户可以直接使用而不需要再自己编写.  由于MATLAB设计的开放性,  许多领域的专家都为MATLAB编写了各种程序工具箱.  这些工具箱提供了用户在特别应用领域所需的许多函数,  这使得用户不必花大量的时间编写程序就可以直接调用这些函数, 达到事半功倍的效果.
  • MATLAB使用非常简洁的语句来表达丰富的含义, 简单易懂, 与C/C++等高级程序设计语言相比代码量少很多, 因而编程速度快, 非常适合做数学运算.

二、 MATLAB基本语法

  • MATLAB的基本运算对象是数组(矩阵), 即使是1个数也当作一个1×1的矩阵来看待;
  • MATLAB语法与其它高级程序设计语言相似, 符合一般的书写习惯;
  • MATLAB语句可以以分号来结束, 也可以不用. 若以分号结束,则在命令窗口中不显示计算结果, 否则显示结果;
  • 变量无需预先定义, 可在需要时直接使用;
  • MATLAB的代码区分大小写;
  • 以%作为注释界定符.

1、数组的定义

a=5  %或  a=[5]A=[2 0 4 1]B=[4 1 6; 5 9 4; 3 1 2]        %这是个3*3矩阵

规则1:

以方括号为界定符, 元素之间用空格或逗号分隔, 两行之间用分号分隔; 各行元素个数必须相同;

A=1:10
B=1:3:10
C=10:-1:1
X=linspace(-pi,pi,50)对应的:
A=[1 2 3 4 5 6 7 8 9 10]
B=[1 4 7 10]
C=[10 9 8 7 6 5 4 3 2 1]
X=[-3.1416   -3.0134   -2.8851  ...  2.8851    3.0134   3.1416]

规则2:

  1. 产生等差数列使用a:s:b, 从a开始, 步长为s, 最后一个数不超过b;
  2. linspace(a,b,n)产生n个数, 将区间[a,b]分成n-1等份.
A=zeros(3,3)     %全零
B=ones(3,3)      %全一
C=eye(3,3)       %单位矩阵

规则3:

特殊矩阵由相应的命令生成, 行数和列数在参数中指定.

A=rand(3,3)        %0~1均匀分布随机数矩阵
B=1+9*rand(3,3)    %1~10均匀分布随机数矩阵
C=randn(3,3)       %标准正态分布随机数矩阵

规则4:

  1. a~b均匀分布随机数矩阵使用a+(b-a)*rand(m,n);
  2. a为期望b为方差的正态分布随机数矩阵使用a+b*randn(m,n).

2、数组元素的存取操作

A(1)         %这个是取向量中的第一个元素

B(1,2)      %第一行第二列元素

B(1,:)       %这是第一行所有矩阵

B(:,1)

B(2:3,1:2)

规则:

  1. 取向量的元素使用A(n);
  2. 取矩阵的元素使用A(m,n);
  3. 取子矩阵使用A(m1:m2,n1:n2);
  4. 表示“所有” 使用“:”
  5. 使用size(A)来获取 数组 A的行数和列数
>> A=[1 3 5 7 9]
A =1     3     5     7     9
>> A(2)
ans =3
>> A(6)=11
A =1     3     5     7     9    11
>> A(1:end)
ans =1     3     5     7     9    11
>> A(end:-1:1)
ans =11     9     7     5     3     1
>> length(A)
ans =6
>> A=eye(3,3)
A =1     0     00     1     00     0     1
>> A(1,2)=2
A =1     2     00     1     00     0     1
>> A(2,:)=[1 2 3]
A =1     2     01     2     30     0     1
>> A(:,3)=A(:,2)
A =1     2     21     2     20     0     0
>> size(A)
ans =3     3

3、算术运算

A+B
A-B
%矩阵运算,如果参与运算的变量中有一个是标量, 则MATLAB将标量扩展成维数相同的矩阵, 与另一矩阵做运算A*B
A/B
A\B
A^2
%数组运算
A.*B             %A与B元素对应相乘
A./B             %A与B元素对应相除
A.^2             %A的元素和平方

4 、数组变形

1.C=[A B]


2.C=[A;B]


4.C=A’


4.C=repmat(A,m,n)

5.C=A(:) %将A的所有元素排成一列
6.A(1,:)=[] %删除A的第1行

>> A=eye(2,2) %产生2阶单位矩阵
A =1     00     1
>> B=rand(2,2) %产生2阶随机数矩阵
B =0.9649    0.97060.1576    0.9572
>> C=[A B] %矩阵横向合并
C =1.0000         0    0.9649    0.97060    1.0000    0.1576    0.9572
>> C=[A;B] %矩阵纵向合并
C =1.0000         00    1.00000.9649    0.97060.1576    0.9572
>> C=A’ %矩阵转置
C =1     00     1
>> C=repmat(A,1,2) %矩阵重复
C =1     0     1     00     1     0     1
>> C=A(:) %排成一列
C =1001
>> A(1,:)=[] %删除一行
A =0     1

5、举例

解线性方程组

6x1+3x2+4x3=3

-2 x1+5 x2+7 x3=-4

8 x1-4 x2-3 x3=-7

A = [6 3 4; -2 5 7; 8 -4 -3]
B = [3;-4; -7]
X = A\B
X = A^(-1)*B
X = inv(A)*B
X = linsolve(A,B)
得到:
X =0.60007.0000-5.4000

6、常用函数

分类

函数名

意义

基本数学函数

abs(x)

实数的绝对值或复数的模

sqrt(x)

开平方

real(z)

复数z的实部

imag(z)

复数z的虚部

round(x)

取整,四舍五入

fix(x)

取整,无论正负,舍去小数至最近整数

floor(x)

取整,舍去正小数至最近整数

ceil(x)

取整,加入正小数至最近整数

exp(x)

自然指数

pow2(x)

2的指数

分类

函数名

意义

基本数学函数

rem(x,y)

求x除以y的馀数

gcd(x,y)

整数x和y的最大公因数

lcm(x,y)

整数x和y的最小公倍数

log(x)

以e为底的对数,即自然对数或

log2(x)

以2为底的对数

log10(x)

以10为底的对数

sign(x)

符号函数. 当x<0时, sign(x)=-1; 当x=0时, sign(x)=0; 当x>0时, sign(x)=1.

分类

函数名

意义

三角函数

sin(x)

正弦函数

cos(x)

余弦函数

tan(x)

正切函数

asin(x)

反正弦函数

acos(x)

反余弦函数

atan(x)

反正切函数

sinh(x)

双曲正弦函数

cosh(x)

双曲余弦函数

tanh(x)

双曲正切函数

asinh(x)

反双曲正弦函数

acosh(x)

反双曲余弦函数

atanh(x)

反双曲正切函数

分类

函数名

意义

杂项

min(x)

向量x的元素的最小值

max(x)

向量x的元素的最大值

mean(x)

向量x的元素的平均值

diff(x)

向量x的相邻元素的差

length(x)

向量x的元素个数

size(x)

数组元素个数

sort(x)

对向量x的元素进行排序

norm(x)

向量x的欧氏长度

sum(x)

向量x的元素总和

prod(x)

向量x的元素总乘积

cumsum(x)

向量x的累计元素总和

分类

函数名

意义

矩阵计算

det(A)

矩阵行列式

rank(A)

矩阵的秩

inv(A)

矩阵的逆

norm(A)

矩阵范数

trace(A)

矩阵的迹

eig(A)

矩阵特征值和特征向量

rref(A)

化为行阶梯形

cond(A)

矩阵条件数

lu(A)

LU分解

chol(A)

Cholesky分解

MATLAB基础篇(上)相关推荐

  1. MATLAB基础篇——微积分应用

    MATLAB基础篇--微积分应用 函数极限 导数 定积分与不定积分 二重积分与三重积分 曲线积分 曲面积分 级数 微分方程和微分方程组的解析解 函数极限 limit函数: limit(f,x,a,'l ...

  2. 《CSS蝉意花园读书精记》(基础篇---------上.资料篇1)

    这一篇文章主要是翻译书中提到的国际化的一篇文章,并让大家了解软件开发中字符编码的众多问题,被翻译的文章写得比较早,可能从技术的角度来看不是很有意义的,作者在文中是概括主流的字符编码,并不能让大家深入的 ...

  3. MATLAB基础篇——数值分析篇

    MATLAB基础篇--数值分析篇 1.solve求解方程/方程组(不涉及微积分运算) 格式: syms 符号变量(要求解的变量) solve(方程左边==方程右边,符号变量) 例子: (1)求解方程x ...

  4. SpringBoot图文教程「概念+案例 思维导图」「基础篇上」

    有天上飞的概念,就要有落地的实现 概念+代码实现是本文的特点,教程将涵盖完整的图文教程,代码案例 每个知识点配套自测面试题,学完技术自我测试 本文初学向,所以希望文中所有的代码案例都能敲一遍 大哥大姐 ...

  5. 如何克服解决Git冲突的恐惧症?(Git基础篇--上)

    初始化配置 我们安装了git之后,都要先配置以下git工作环境.git提供了git config的工具,专门用来配置或读取相应的工作环境变量. 配置: git config --global user ...

  6. NR基础篇上——均值滤波、高斯滤波、双边滤波、NLM

    人类的世界就是一个信号传输的世界,所以噪声无处不在,图像作为一种信号传输的方式当然也无法幸免.为了尽量减少噪声对图像质量的影响,还原物体的本来状态就提出了一系列降噪的方法,本文就简单介绍几种常见的降噪 ...

  7. 一文搞懂AWS Region, VPC, VPC endpoint,AZ, Subnet 基础篇上

    B站实操视频更新 跟着拉面学习AWS--Region,VPC,Subnet,SecurityGroup 简介 长文多图预警,看结论可以直接拖到"总结"部分 本文及下一篇文章介绍以下 ...

  8. 学习MongoDB 十一: MongoDB聚合(Aggregation Pipeline基础篇上)(三)

    一.Aggregate简介 db.collection.aggregate()是基于数据处理的聚合管道,每个文档通过一个由多个阶段(stage)组成的管道,可以对每个阶段的管道进行分组.过滤等功能,然 ...

  9. matlab table中的文字转string_Table数据结构及应用--MATLAB 基础篇

    正月里都是年,先给大家云拜年,祝大家在新的一年里身体健康,事业有成,家庭幸福 1.Table来源 在工程上面,数据多为表格形式,其特点列与列之间存在数据类型不同,而每一列的数据类型相同.并且每一列或者 ...

  10. 【matlab 基础篇 02】基础知识一键扫盲,看完即可无障碍编程(超详细+图文并茂)

    博主快速入门matlab,系统地整理一遍,如何你和我一样是一个新手,那么此文很适合你: 本人能力有限,文中难免有错误和纰漏之处,请大佬们不吝赐教 创作不易,如果本文帮到了您: 请帮忙点个赞

最新文章

  1. [译]JavaScript中,{}+{}等于多少?
  2. linux kernel 内存管理 感想总结(未完待续)
  3. 十二、经典问题解析一
  4. c 一般处理程序 ajax,Ajax调用一般处理程序数据
  5. 【简便代码+解析】1056 组合数的和 (15分)_14行代码AC
  6. phpStorm安装xDebug
  7. 抖音数据统计_26万条抖音数据背后的推荐逻辑以及严重失调的男女比例
  8. c++ list sort方法
  9. 在Java中使用Rserve调用R
  10. python 通过ftplib 实现上传下载
  11. 用yum下载安装gcc
  12. python实现bt下载器_使用Python实现BT种子和磁力链接的相互转换
  13. html 单击事件 隐藏/显示div
  14. jeapedu 76 列表刪除一個元素項
  15. 中国物流网很难进入运输颓势
  16. 三星s8html查看器,拆解三星S8手机
  17. Ugly Windows UVA - 1419
  18. UVA The Sultan's Successors
  19. 企业数据可视化实现2020用户留存分析
  20. 如何简单的模拟发送http post请求

热门文章

  1. typescript——4、类
  2. 2017黑马java 36百度云_2017黑马javaee百度云 2017中考怎样成为中考黑马
  3. Apache Whirr 因长时间未更新遭下课
  4. 基于51单片机的嗡鸣器7发出七阶音符
  5. 小学英语计算机问卷调查,游戏在小学英语教学中的应用调查问卷
  6. 高级公司间交易流程 - 在途评估库存
  7. 交并比及非最大值抑制
  8. git仓库的操作命令
  9. MySQL学习系列5:函数
  10. 精准狙击7.18黄金原油走势分析操作建议,纸白银实时策略指导