MATLAB基础知识入门

1. 创建矩阵

创建矩阵最直接的方式:在方括号内填入数字,空格或者逗号间隔为列,回车或分号间隔为行。

>> A = [1 2; 3 4; 5 -6]A =1     23     45    -6>> B = [1 2 3
4 5 6]B =1     2     34     5     6>> C = [1; 2; 3]C =123>> D = [1, 2, 3]D =1     2     3

如果要观察以创建的矩阵,直接键入矩阵名字按回车即可。注意MATLAB大小写敏感。

>> DD =1     2     3>> A,BA =1     23     45    -6B =1     2     34     5     6>> A,aA =1     23     45    -6未定义函数或变量 'a'。

注意:MATLAB在语句输入不完整的情况下并不会执行,直到你输入完整后,按回车才会执行。

>> E = [1 2; 3 4; 5 -6]E =1     23     45    -6

注意:当输入元素有一个是小数的时候,MATLAB在显示的时候会将所有的元素都显示为小数。

>> E = [2 -1
0.1 3
-2 1]E =2.0000   -1.00000.1000    3.0000-2.0000    1.0000

2. 方向键的使用

MATLAB会存储你最近键入的命令历史,你可以使用键盘方向键中的“上键”来调出命令历史面板。

使用该方法,你可以快速地修正你输入的指令,或者执行一个你常用的matlab命令。

>> Z = [1 2 3 4; 5 0]
要串联的数组的维度不一致。>> Z = [1 2; 3 4; 5 0]Z =1     23     45     0

3. size命令

M是一个矩阵,使用size(M),将返回一个含有两个元素的向量,分别表示矩阵M的行数和列数。

>> AA =1     23     45    -6>> size(A)ans =3     2

注意:ans是一个临时的变量名,用于存放上一次的计算结果。即如果你没有将计算结果保存到一个自定义的变量中的话,那么计算结果将保存到ans中。

4. help和doc命令

help命令和doc命令后面跟函数名称,可以帮助我们学习一些函数的具体用法。

>> help size
size - Array sizeThis MATLAB function returns a row vector whose elements contain the length ofthe corresponding dimension of A.sz = size(A)szdim = size(A,dim)[m,n] = size(A)[sz1,...,szN] = size(A)另请参阅 height, length, ndims, numel, widthsize 的参考页名为 size 的其他函数

doc命令所显示的帮助信息更丰富一些。

doc size

5. 提取矩阵中的元素

冒号:代表全选行或者列。

提取矩阵中的某一个元素。

>> C,C(3, 1)C =-4     8    -15     0     36     2    10ans =6

选中第二列上所有的元素。

>> C, C(:,2)C =-4     8    -15     0     36     2    10ans =802

选中第一列和第二列上所有的元素。

>>  C, C(:,[1 2])C =-4     8    -15     0     36     2    10ans =-4     85     06     2

选中第一行和第三行,选中第二列和第三列上的元素。

>> C, C([1 3], [2 3])C =-4     8    -15     0     36     2    10ans =8    -12    10

选中第一行和第三行上所有的元素。

>> C, C([1 3],:)C =-4     8    -15     0     36     2    10ans =-4     8    -16     2    10

选中第三行上所有的元素。

>> C, C(3,:)C =-4     8    -15     0     36     2    10ans =6     2    10

6. 拼接矩阵

将矩阵进行左右拼接时,需要保证行数一致。

>> C,D,[C D]
C =-4     8    -15     0     36     2    10
D =2    -11     3-2     1
ans =-4     8    -1     2    -15     0     3     1     36     2    10    -2     1
>> C,D,[D C]
C =-4     8    -15     0     36     2    10
D =2    -11     3-2     1
ans =2    -1    -4     8    -11     3     5     0     3-2     1     6     2    10

将矩阵进行上下拼接时,需要保证列数一致。

>> C,B,[C;B]
C =-4     8    -15     0     36     2    10
B =1    -2     34     5    -6
ans =-4     8    -15     0     36     2    101    -2     34     5    -6
>> C,B,[B;C]
C =-4     8    -15     0     36     2    10
B =1    -2     34     5    -6
ans =1    -2     34     5    -6-4     8    -15     0     36     2    10

如果在拼接时,无法保证行数或列数相同,那么就会报错。

>> C,B,[B C]
C =-4     8    -15     0     36     2    10
B =1    -2     34     5    -6
错误使用 horzcat
要串联的数组的维度不一致。

7. 使用一些特殊函数创建矩阵

eye():创建矩阵,主对角线元素为1,其余位置元素为0。

>> eye(3)
ans =1     0     00     1     00     0     1

zeros():创建矩阵,元素均为0。

>> zeros(3)
ans =0     0     00     0     00     0     0>> zeros(3, 5)
ans =0     0     0     0     00     0     0     0     00     0     0     0     0

ones():创建矩阵,元素均为1。

>> ones(2, 3)
ans =1     1     11     1     1>> ones(3)
ans =1     1     11     1     11     1     1

diag():创建矩阵,对角线元素为指定元素,其余位置都是0。

>> diag([4 5 6 7])
ans =4     0     0     00     5     0     00     0     6     00     0     0     7

注:当后跟参数为正时,指定元素位于主对角线上方的对角线上。为负,则位于主对角线下方。

>> diag([4 5 6 7], -1)
ans =0     0     0     0     04     0     0     0     00     5     0     0     00     0     6     0     00     0     0     7     0>> diag([4 5 6 7], 1)
ans =0     4     0     0     00     0     5     0     00     0     0     6     00     0     0     0     70     0     0     0     0

diag()函数也可用于提取一个矩阵的主对角线上的元素。

>> C, diag(C), diag(diag(C))
C =-4     8    -15     0     36     2    10
ans =-4010
ans =-4     0     00     0     00     0    10

8. 使用冒号创建带有均匀增量元素的向量

默认以1为增量从1到5创建向量。

>> v1 = 1:5
v1 =1     2     3     4     5

以0.5为增量从1到3创建向量。

>> v2 = 1:0.5:3
v2 =1.0000    1.5000    2.0000    2.5000    3.0000

以-1为增量从5到-2创建向量。

>> v3 = 5:-1:-2
v3 =5     4     3     2     1     0    -1    -2

9. 在命令后面加上分号的作用

光执行,不显示结果

>> x = 1:0.2:3
x =1.0000    1.2000    1.4000    1.6000    1.8000    2.0000    2.2000    2.4000    2.6000    2.8000    3.0000
>> x = 1:0.2:3;
>> x
x =1.0000    1.2000    1.4000    1.6000    1.8000    2.0000    2.2000    2.4000    2.6000    2.8000    3.0000

10. format命令

MATLAB的计算精度一共有15位有效数字,但是默认只显示4到5位,可以通过format命令来控制屏幕上的显示位数。

>> R = 123.125
R =123.1250>> format long, R
R =1.231250000000000e+02>> format short e, R
R =1.2313e+02>> format short, R
R =123.1250

MATLAB默认以format short来显示数字。

注:可以使用format compact来让显示变得更加紧凑。

10. 矩阵运算

+运算符:实现矩阵元素的对应相加

*运算符:标量与矩阵对应元素相乘

-运算符:矩阵对应元素的相减

>> A, A+A, 2*A
A =1     23     45    -6
ans =2     46     810   -12
ans =2     46     810   -12>> A, D, A+D, A-D
A =1     23     45    -6
D =2    -11     3-2     1
ans =3     14     73    -5
ans =-1     32     17    -7>> 2*A - 3*D
ans =-4     73    -116   -15>> x, vec, x+vec
x =432
vec =3-51
ans =7-23>> A, B, A+B
A =1     23     45    -6
B =1    -2     34     5    -6
矩阵维度必须一致。 >> x,X,x+X
x =432
X =1     2     3
ans =5     6     74     5     63     4     5

*运算符:或矩阵之间的乘法(须维数匹配)

>> A, B
A =1     23     45    -6
B =1    -2     34     5    -6>> A*B
ans =9     8    -919    14   -15-19   -40    51>> B*A
ans =10   -24-11    64>> B,C,B*C,C*B
B =1    -2     34     5    -6
C =-4     8    -15     0     36     2    10
ans =4    14    23-27    20   -49
错误使用  *
用于矩阵乘法的维度不正确。请检查并确保第一个矩阵中的列数与第二个矩阵中的行数匹配。要执行按元素相乘,请使用 '.*'。 >> C,x,C*x
C =-4     8    -15     0     36     2    10
x =432
ans =62650>> X,C,X*C
X =1     2     3
C =-4     8    -15     0     36     2    10
ans =24    14    35
>>

11. 矩阵指数运算

使用^实现指数运算。

>> C,C*C,C^2
C =-4     8    -15     0     36     2    10
ans =50   -34    18-2    46    2546    68   100
ans =50   -34    18-2    46    2546    68   100
>>
>>
>> Y = 2*eye(3), Y^2, Y^3
Y =2     0     00     2     00     0     2
ans =4     0     00     4     00     0     4
ans =8     0     00     8     00     0     8

注:如果MATLAB的计算执行时间过长,可通过Ctrl-C来终止计算执行。

12. 创建具有随机元素的矩阵

MATLAB使用rand创建具有随机元素(0~1之间)的矩阵。

>> P = rand(2),Q = rand(2,3)
P =0.9058    0.91340.1270    0.6324
Q =0.0975    0.5469    0.96490.2785    0.9575    0.1576>> P = rand(2),Q = rand(2,3)
P =0.9706    0.48540.9572    0.8003
Q =0.1419    0.9157    0.95950.4218    0.7922    0.6557>> P = rand(2),Q = rand(2,3)
P =0.0357    0.93400.8491    0.6787
Q =0.7577    0.3922    0.17120.7431    0.6555    0.7060

可以对随机数矩阵内的元素数值进行缩放和平移。

>> 6*rand(2)
ans =0.4551    3.18480.3237    4.6750>> -3+6*rand(2)
ans =2.6041    0.4129-2.2206   -0.1837

也可以创建位于一个整数区间内的整数随机数矩阵。下为创建-9到9之间的随机数矩阵。

>> round(-4.5 + 9*rand(2))
ans =-4    -3-1     3
>> round(-4.5 + 9*rand(2,3))
ans =-2    -3    -20     1     1
>> round(-4.5 + 9*rand(2,3))
ans =2     0    -22    -4     4

13. 画图

使用plot可绘制图形。

>> x = 0:0.1:2*pi; si = sin(x); co = cos(x);
>> plot(x, si)

>> plot(x,si,'r')

>> plot(x,si,'-.')

>> plot(x,si,'*')

>> plot(x,si,'g*')

可以通过如下方式,在一张图上显示两个图像。

>> plot(x, si, 'r*', x, co, 'b+')

另外一种在一张图上显示多个图像的方法是使用hold onhold offhold on会使当前的图像冻结,以便下一次的plot命令在相同的坐标系统里绘制。冻结的效果一直持续到使用hold off命令为止。

>> plot(x, co, 'g--'), hold on
>> plot(x, si, 'ro')
>> hold off

MATLAB也可以在绘图上显示网格。

>> plot(x, si), grid

也可以改变绘图显示的坐标。

>> plot(x, si), axis([-8 8 -2 2])

注:在MATLAB中可以使用%进行注释。

% MATLAB使用百分号进行注释

matlab eye函数_[线性代数系列1] MATLAB入门笔记相关推荐

  1. matlab meas 函数_力科示波器Matlab使用指南

    自定义示波器系列之一 自定义示波器系列之一 -- --力科示波器 力科示波器 MATLAB 使用指南 使用指南 美国力科公司 万力劢 基于 X-Stream 技术的力科示波器既是一个高速信号采集平台, ...

  2. matlab的函数要写在哪,matlab函数库在哪

    ---WORD 格式--可编辑--专业资料--- 在 MATLAB 环境下访问外部函数的共享库文件,必须首先把该库文件加载到内存中.一旦加载 成功,就能直接在 MATLAB 中直接请求...... 1 ...

  3. matlab rbf函数_基于径向基函数(RBF)的无网格伪谱法与程序实现(2)——微分矩阵...

    参考资料 Gregory E. Fasshauer. Meshfree Approximation Methods with MATLAB. P.387 P401 数值实现 Matlab 2019a ...

  4. matlab的tfdata函数_较全的matlab 命令和函数

    d 菱形 -- 虚线 ^ 向上箭头 3.可以用subplot(3,3,1)表示将绘图区域分为三行三列,目前使用第一区域.此时如要画不同的图形在一个窗口里,需要hold on. ============ ...

  5. matlab 高斯函数_光学与matlab:高斯光的模拟

    光学与matlab:高斯光的模拟 高斯光束,自然何为高斯光束?百度了一下,如下所示,"通常情形,激光谐振腔发出的基模辐射场,其横截面的振幅分布遵守高斯函数,故称高斯光束."如果您对 ...

  6. python调用matlab函数_从 Python 调用 MATLAB 函数的三种方法

    0. 实验环境Ubuntu 16.04 Matlab R2015b 1. 借助于 mlab 库 安装方法非常简单,只需一行命令 sudo pip install mlab 即可. import num ...

  7. matlab一般函数的绘制方法,基于MATLAB的函数图像绘制方法

    C DOI:10.16707~.cnki.fjpc.2017.01.084 E 晒 亍嚣 基于 MATLAB的函数图像绘制方法 张笑笑 一,童 键 z (1湖南省长沙市第一中学 湖南 长沙 410() ...

  8. matlab pdepe函数边界,科学网-使用MATLAB中pdepe函数求解一维偏微分方程-邓浩鑫的博文...

    由于自己科研水平较低,记录的各种体会更多的是给自己做个小结,错误之处,欢迎大家指正. 使用MATLAB求解偏微分方程或者方程组,大致有三类方法.第一种是使用MATLAB中的PDE Toolbox,PD ...

  9. false函数matlab,ISNUMBER函数使用表达式说明表 matlab拟合函数表达式

    ISNUMBER函数使用表达式说明表 matlab拟合函数表达式,[excel助手]今天为大家分享一篇干货知识,如何设置matlab拟合函数表达式,今天的分享角度是从工作中常用的角度谈的,正如标题提到 ...

最新文章

  1. iOS: 零误差或极小误差的定时执行或延迟执行?
  2. Silverlight获取WebHost配置信息--WebClient和XmlSerializer模拟
  3. python流程图基本元素-python | 控制流语句-顺序结构与分支结构
  4. SAP最佳业务实践:重复制造(149)-4发料
  5. c语言大作业_2018 C语言大作业--21_Ekko制作教程
  6. spring AOP 之五:Spring MVC通过AOP切面编程来拦截controller
  7. 周围剃光头顶留长发型_为啥很多头顶光光的人,宁愿留周围一圈头发,也不剃成光头呢?...
  8. 拉取docker官方centos镜像时区不对问题
  9. mongodb 字符串转bson_大数据存储技术选型(六)--Mongodb专题介绍
  10. 6.Nginx 的 Rewrite 规则
  11. matlab实现epirb调制,[单选] 根据《建筑安装工程费用项目组成》(建标[2003]206号)的规定,下列属于直接工程费中材料费的是()。...
  12. 中文分词与马尔科夫模型之二(隐马尔科夫模型与维特比)
  13. 字体的样式设置和字体分类
  14. 大学生 生活小技巧:利用插件(Tampermonkey )学习网课 | 查题
  15. 819 c语言程序设计,大连海洋大学2021年考研819高级语言程序设计(C语言)考试大纲...
  16. django rest framework serializer 增加自定义字段
  17. 淘宝/天猫:畅销榜 API 返回值说明
  18. 清理垃圾文件属于计算机安全维护吗,垃圾文件清理,垃圾文件清理器
  19. 线上连锁线下整合 连锁电商建设方案
  20. LEAM(生活/生命体验算法模型)

热门文章

  1. .c文件如何一步步变成.exe文件
  2. 老大说不要在项目中使用存储过程
  3. 基于C++MFC的学生成绩管理系统
  4. 手机遇到性能BUG怎么破?
  5. 海量数据处理算法 各种STL容器使用的数据结构剖析
  6. 2021年最新总结,腾讯、阿里、美团、百度、字节跳动、京东等技术面试题,以及答案,专家出题人分析汇总。持续更新中。
  7. ipad/iphone内存管理三之NoAutorelease和Autorelease详细解说
  8. 怎么在一张图片中隐藏文件?
  9. 12-用户及权限管理
  10. 美团点评_给出两个字符串(可能包含空格),找出其中最长的公共连续子串,输出其长度。