Matlab经典教程——从入门到精通
- 格式:pdf
- 大小:2.58 MB
- 文档页数:281
MATLAB的基本使用教程MATLAB是一种强大的数学计算软件,广泛应用于科学、工程和技术领域。
它提供了丰富的功能和工具,能够快速、有效地处理和分析各种数学问题。
本文将介绍MATLAB的基本使用方法,帮助初学者快速入门。
一、MATLAB的安装与启动1、下载和安装MATLAB软件:在MathWorks官方网站上下载适合自己操作系统的MATLAB软件,并根据安装提示进行安装。
安装完成后,会生成一个MATLAB的启动图标。
2、启动MATLAB:双击MATLAB的启动图标,或者在命令行中输入"matlab"命令,即可启动MATLAB。
二、MATLAB的基本操作1、工作环境:MATLAB提供了一个强大的集成开发环境(IDE),可以在其中编写和运行代码。
在MATLAB的界面中,包括主窗口、命令窗口、变量窗口、编辑器等。
2、命令窗口:在命令窗口中可以输入和执行MATLAB命令。
可以直接在命令窗口中输入简单的计算,例如输入"2+3"并按下回车键,即可输出计算结果。
3、脚本文件:MATLAB可以编写和运行脚本文件,将一系列命令组织起来,并按顺序执行。
在编辑器中编写MATLAB代码,并将文件保存为.m扩展名的脚本文件。
然后在命令窗口中输入脚本文件的文件名(不带扩展名),按下回车键即可执行脚本文件中的代码。
4、变量和赋值:在MATLAB中,可以创建和操作各种类型的变量。
例如,可以使用"="符号将一个值赋给一个变量,例如"A=5"。
在后续的计算和分析中,可以使用这个变量,例如输入"B=A+3",结果B 将被赋值为8。
5、矩阵和向量:MATLAB中的基本数据结构是矩阵和向量。
可以使用方括号[]来创建矩阵和向量,并使用逗号或空格来分隔不同的元素。
例如,"[1,2,3]"表示一个包含3个元素的行向量。
6、矩阵运算:MATLAB提供了丰富的矩阵运算符和函数,可以对矩阵进行各种运算。
MATLAB经典教程1.MATLAB基础-MATLAB的安装和启动-基本操作:变量、数据类型、矩阵和数组-MATLAB的算术和逻辑运算-控制流程:循环和条件语句2.数据处理和可视化-数据输入和输出-数据处理和运算-图形绘制:线图、散点图、柱状图等3.MATLAB编程-函数定义和使用-脚本文件和函数文件-调试和错误处理-MATLAB编程技巧和最佳实践4.数值计算-方程求解:根的寻找和优化-线性代数:矩阵运算、特征值和特征向量-微分和积分:数值求解和符号计算-傅里叶变换和信号处理5.统计分析-基本统计量的计算-假设检验和置信区间-数据拟合和回归分析-实验设计和方差分析6.图像处理-图像读取和显示-像素操作:调整亮度、对比度等-图像滤波和增强-特征提取和图像分割7.机器学习-监督学习和无监督学习-分类和聚类算法-特征选择和降维-深度学习和神经网络8.信号处理-时域信号和频域信号分析-滤波和去噪-时频分析和小波变换-对齐和匹配信号9.控制系统-系统建模和传递函数-反馈控制和PID控制-系统响应分析和稳定性-状态空间和观测器设计10.数学建模-建立数学模型-参数估计和模型验证-模型求解和预测-灵敏度分析和优化这是一份简要的MATLAB经典教程,涵盖了MATLAB的各个方面。
学习这些基础知识和技巧可以帮助你在使用MATLAB时更加熟练和高效。
当然,这只是一个起点,你可以根据自己的需求和兴趣来进一步学习和应用MATLAB。
1-1、基本运算与函数在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter 键即可。
例如:>> (5*2+1.3-0.8)*10/25ans =4.2000MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上。
小提示:">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。
我们也可将上述运算式的结果设定给另一个变数x:x = (5*2+1.3-0.8)*10^2/25x = 42此时MATLAB会直接显示x的值。
由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。
小提示:MATLAB将所有变数均存成double的形式,所以不需经过变数宣告(Variable declaration)。
MATLAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定.这些功能使的MATLAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。
若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例:y = sin(10)*exp(-0.3*4^2);若要显示变数y的值,直接键入y即可:>>yy =-0.0045在上例中,sin是正弦函数,exp是指数函数,这些都是MATLAB常用到的数学函数。
下表即为MATLAB常用的基本数学函数及三角函数:小整理:MATLAB常用的基本数学函数abs(x):纯量的绝对值或向量的长度angle(z):复数z的相角(Phase angle)sqrt(x):开平方real(z):复数z的实部imag(z):复数z的虚部conj(z):复数z的共轭复数round(x):四舍五入至最近整数fix(x):无论正负,舍去小数至最近整数floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示rats(x):将实数x化为多项分数展开sign(x):符号函数(Signum function)。
(完整版)Matlab⼊门教程第1章MATLAB操作基础1.1 MATLAB概述1.1.2 MATLAB的主要功能1.数值计算MATLAB以矩阵作为数据操作的基本单位,还提供了⼗分丰富的数值计算函数。
2.绘图功能可以绘制⼆维、三维图形,还可以绘制特殊图形(与统计有关的图,例如:区域图、直⽅图、饼图、柱状图等)。
3.编程语⾔MATLAB具有程序结构控制、函数调⽤、数据结构、输⼊输出、⾯向对象等程序语⾔特征,⽽且简单易学、编程效率⾼。
4.MATLAB⼯具箱MATLAB包含两部分内容:基本部分和各种可选的⼯具箱。
MATLAB⼯具箱分为两⼤类:功能性⼯具箱和学科性⼯具箱。
1.1.3MATLAB语⾔的特点语⾔简洁紧凑,使⽤⽅便灵活,易学易⽤。
例如:A=[1 2 3;4 5 6;7 8 9]⼀条语句实现了对3x3矩阵的输⼊。
语句功能强⼤,⼀条语句相当于其它语⾔的⼀个⼦程序,例如fft。
语句简单,内涵丰富。
同⼀个函数有不同的输⼊变量和输出变量,分别代表不同的含义。
Matlab既具有结构化的控制语句(if、for、while)⼜⽀持⾯向对象的程序设计。
⽅便的绘图功能。
包含功能强劲的⼯具箱。
易于扩展。
1.1.4 初识MATLAB例1-1 绘制正弦曲线和余弦曲线。
x=[0:0.5:360]*pi/180;plot(x,sin(x),x,cos(x));例1-2 求⽅程3x4+7x3+9x2-23=0的全部根。
p=[3,7,9,0,-23]; %建⽴多项式系数向量x=roots(p) %求根例1-3 求积分quad('x.*log(1+x)',0,1)例1-4 求解线性⽅程组。
a=[2,-3,1;8,3,2;45,1,-9];b=[4;2;17];x=inv(a)*b1.2 MATLAB的运⾏环境与安装1.2.1 MATLAB的运⾏环境硬件环境:(1) CPU(2) 内存(3) 硬盘(4) CD-ROM驱动器和⿏标软件环境:(1) Windows 98/NT/2000 或Windows XP(2) 其他软件根据需要选⽤1.2.2 MATLAB的安装运⾏系统的安装程序setup.exe,可以按照安装提⽰依次操作。
01MATLAB是MathWorks公司开发的一款商业数学软件02主要应用于算法开发、数据可视化、数据分析以及数值计算等领域03在科学计算、工程设计、图像处理、信号处理等领域有广泛应用MATLAB简介及应用领域MATLAB工作环境与界面介绍01MATLAB工作环境包括命令窗口、工作空间、编辑器、路径管理器等02界面简洁直观,易于上手,支持多种操作系统03提供丰富的帮助文档和示例代码,方便用户学习和使用变量、数据类型和运算符MATLAB支持多种数据类型,包括数值型、字符型、逻辑型等变量命名规则灵活,但建议遵循一定的命名规范运算符包括算术运算符、关系运算符、逻辑运算符等01 02 03MATLAB以矩阵作为基本数据单位,支持多维数组提供丰富的矩阵运算函数,如矩阵乘法、矩阵转置、矩阵求逆等支持数组元素的索引和切片操作,方便进行数据处理矩阵与数组操作流程控制语句01MATLAB提供多种流程控制语句,如if语句、for循环、while循环等02支持条件判断、循环控制、中断和继续等操作03流程控制语句的语法简洁明了,易于理解和使用03介绍数值计算的定义、特点、误差分析等基本概念。
数值计算基本概念详细讲解MATLAB 中的数值类型,包括整数、浮点数、复数等。
MATLAB 数据类型介绍数组和矩阵的基本概念和运算规则,包括数组的创建、索引、操作等,以及矩阵的加减、乘除、转置等运算。
数组与矩阵运算数值计算基础符号运算入门符号运算基本概念01介绍符号运算的定义、特点、应用领域等基本概念。
符号对象的创建与操作02详细讲解如何创建符号对象,包括符号变量、符号表达式、符号函数等,以及如何进行符号对象的操作,如符号表达式的化简、求值等。
符号微积分03介绍符号微积分的基本概念和运算规则,包括符号函数的极限、导数、积分等运算。
方程求解与函数极值问题线性方程组求解介绍线性方程组的基本概念和解法,包括直接法和迭代法,以及如何使用MATLAB求解线性方程组。
第一章 基础准备及入门本章有两个目的:一是讲述MATLAB正常运行所必须具备的基础条件;二是简明系统地介绍高度集成的Desktop操作桌面的功能和使用方法。
本章的前两节分别讲述:MATLAB的正确安装方法和MATLAB 环境的启动。
因为指令窗是MATLAB最重要的操作界面,所以本章用第 1.3、1.4 两节以最简单通俗的叙述、算例讲述指令窗的基本操作方法和规则。
这部分内容几乎对MATLAB各种版本都适用。
不同于其前版本的最突出之处是:向用户提供前所未有的、成系列的交互 MATLAB6.x式工作界面。
了解、熟悉和掌握这些交互界面的基本功能和操作方法,将使新老用户能事半功倍地利用MATLAB去完成各种学习和研究。
为此,本章特设几节用于专门介绍最常用的交互界面:历史指令窗、当前目录浏览器、工作空间浏览器、内存数组编辑器、交互界面分类目录窗、M文件编辑/调试器、及帮助导航/浏览器。
本章是根据MATLAB6.5版编写的,但大部分内容也适用于其他6.x版。
1.1M ATLAB的安装和内容选择图 1.1-11.2D esktop操作桌面的启动1.2.1MATLAB的启动1.2.2Desktop操作桌面简介一 操作桌面的缺省外貌图1.2-1二 通用操作界面1.3 C ommand Window 运行入门1.3.1Command Window 指令窗简介图 1.3-11.3.2 最简单的计算器使用法【例1.3.2-1】求23)]47(212[÷−×+的算术运算结果。
(1)用键盘在MATLAB 指令窗中输入以下内容 >> (12+2*(7-4))/3^2(2)在上述表达式输入完成后,按【Enter 】键,该就指令被执行。
(3)在指令执行后,MATLAB 指令窗中将显示以下结果。
ans = 2【例1.3.2-2】简单矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321A 的输入步骤。
(1)在键盘上输入下列内容A = [1,2,3; 4,5,6; 7,8,9](2)按【Enter 】键,指令被执行。
(3)在指令执行后,MATLAB 指令窗中将显示以下结果: A =1 2 3 4 5 6 7 8 9【例1.3.2-3】矩阵的分行输入。
A=[1,2,3 4,5,6 7,8,9] A =1 2 3 4 5 6 7 8 9【例1.3.2-4】指令的续行输入 S=1-1/2+1/3-1/4+ ... 1/5-1/6+1/7-1/8 S =0.63451.3.3 数值、变量和表达式一 数值的记述 二 变量命名规则三 MATLAB 默认的预定义变量 四 运算符和表达式 五 复数和复数矩阵【例1.3.3-1】复数e z i z i z 63212,21,43π=+=+=表达,及计算321z z z z =。
(1)z1= 3 + 4i z1 =3.0000 +4.0000i(2)z2 = 1 + 2 * iz3=2*exp(i*pi/6)z=z1*z2/z3z2 =1.0000 +2.0000iz3 =1.7321 + 1.0000iz =0.3349 + 5.5801i【例1.3.3-2】复数矩阵的生成及运算A=[1,3;2,4]-[5,8;6,9]*iB=[1+5i,2+6i;3+8*i,4+9*i]C=A*BA =1.0000 - 5.0000i 3.0000 - 8.0000i2.0000 - 6.0000i 4.0000 - 9.0000iB =1.0000 + 5.0000i2.0000 + 6.0000i3.0000 + 8.0000i4.0000 + 9.0000iC =1.0e+002 *0.9900 1.1600 - 0.0900i1.1600 + 0.0900i 1.3700【例1.3.3-3】求上例复数矩阵C的实部、虚部、模和相角。
C_real=real(C)C_imag=imag(C)C_magnitude=abs(C)%以度为单位计算相角C_phase=angle(C)*180/piC_real =99 116116 137C_imag =0 -99 0C_magnitude =99.0000 116.3486116.3486 137.0000C_phase =0 -4.43654.4365 0−能得到 –2 吗?【例1.3.3-4】用MATLAB计算38(1)a=-8;r=a^(1/3)r =1.0000 + 1.7321i(2)m=[0,1,2];R=abs(a)^(1/3);Theta=(angle(a)+2*pi*m)/3;rrr=R*exp(i*Theta)rrr =1.0000 + 1.7321i -2.0000 + 0.0000i 1.0000 - 1.7321i (3)t=0:pi/20:2*pi;x=R*sin(t);y=R*cos(t); plot(x,y,'b:'),grid hold onplot(rrr(1),'.','MarkerSize',50,'Color','r')plot(rrr([2,3]),'o','MarkerSize',15,'Color','b') axis([-3,3,-3,3]),axis square hold off1.3.4 计算结果的图形表示【例 1.3.4-1】画出衰减振荡曲线t ey t 3sin 3−=及其它的包络线30t e y −=。
t 的取值范围是]4,0[π。
(图1.3-3)t=0:pi/50:4*pi; y0=exp(-t/3);y=exp(-t/3).*sin(3*t);plot(t,y,'-r',t,y0,':b',t,-y0,':b') grid【例1.3.4-2】画出2222)sin(yx y x z ++=所表示的三维曲面(图1.3-4)。
y x ,的取值范围是]8,8[−。
clear;x=-8:0.5:8; y=x';X=ones(size(y))*x; Y=y*ones(size(x));R=sqrt(X.^2+Y.^2)+eps; %<5> Z=sin(R)./R; %<6> surf(X,Y,Z); %colormap(cool) %xlabel('x'),ylabel('y'),zlabel('z')图1.3-41.4C ommand Window操作要旨1.4.1指令窗显示方式的操作一缺省显示方式二显示方式的设置1.4.2数值计算结果的显示格式1.4.3指令行中的标点符号1.4.4指令窗的常用控制指令1.4.5指令窗中指令行的编辑【例1.4.5-1】指令行操作过程示例。
1.5C ommand History和实录指令diary 1.5.1Command History历史指令窗简介图1.5-11.5.2历史指令行的再运行【例1.5.2-1】再运行图1.5-2所示历史指令窗中的三行指令。
图1.5-21.5.3指令窗实录指令diary1.6C urrent Directory、路径设置器和文件管理1.6.1Current Directory当前目录浏览器简介图 1.6-1一用户目录和当前目录设置二借助当前目录浏览器获取M和MAT文件信息【例1.6.1-1】从图1.2-1所示MATLAB缺省桌面开始,叙述引出图1.6-1所示面貌的当前目录浏览器的操作过程。
1.6.2MATLAB的搜索路径1.6.3MATLAB搜索路径的扩展和修改一何时需要修改搜索路径二利用设置路径对话框修改搜索路径图1.6-2三利用指令path 设置路径1.7W orkspace Browser和Array Editor1.7.1Workspace Browser工作空间浏览器简介图1.7-11.7.2现场菜单用于内存变量的查阅和删除一内存变量查阅、删除的指令操作法【例1.7.2-1】在指令窗中运用who, whos查阅MATLAB内存变量。
whoYour variables are:A Bnumber D R XYZ Z yB C DD X Y xwhosName Size Bytes ClassA 2x2 230 cell arrayB 1x1 264 struct arrayBnumber 1x1 8 double arrayC 2x2 408 sym objectD 1x2 4 char arrayDD 2x2 8 char arrayR 33x33 8712 double arrayX 33x33 8712 double arrayXYZ 33x33x3 26136 double arrayY 33x33 8712 double arrayZ 33x33 8712 double arrayx 1x33 264 double arrayy 33x1 264 double arrayGrand total is 7722 elements using 62434 bytes【例1.7.2-2】在指令窗中运用clear指令可以删除内存中的变量。
clear BnumberwhoYour variables are:A B C D DD R X XYZ Y Z x y二内存变量查阅和删除的现场菜单操作法图1.7-2【例1.7.2-3】通过“工作空间浏览器”的运作,采用图形显示内存变量Z 。
图1.7-3【例1.7.2-4】通过“工作空间浏览器”删除内存变量。
1.7.3Array Editor数组编辑器和大数组的输入图 1.7-41.7.4数据文件的存取一存取数据文件的指令操作法二通过内存变量浏览器实现数据文件的存取(1) 产生保存全部内存变量的数据文件的操作方法图1.7-5【例1.7.4-1】数据的存取。
(假定内存中已经存在变量X,Y,Z)(1)mkdir('c:\','my_dir');c:\my_dircdsave saf X Y Zdir. .. saf.mat(2)clearload saf ZwhoYour variables are:Z1.8L aunch Pad交互界面分类目录窗图1.8-11.9E ditor/Debugger和脚本编写初步1.9.1Editor/Debugger M文件编辑调试器简介一编辑调试器的开启图 1.9-1二编辑器使用中的若干注意事项1.9.2M脚本文件编写初步【例1.9.2-1】编写解算例1.3.4-1题目的M脚本文件,并运行之。