Matlab语言基础
- 格式:doc
- 大小:422.50 KB
- 文档页数:20
MATLAB讲义第一章 MATLAB系统概述1.1 MATLAB系统概述MATLAB(MATrix LABoratory)矩阵实验室的缩写,全部用C语言编写。
特点:(1)以复数矩阵作为基本编程单元,矩阵运算如同其它高级语言中的语言变量操作一样方便,而且矩阵无需定义即可采用。
(2)语句书写简单。
(3)语句功能强大。
(4)有丰富的图形功能。
如plot,plot3语句等。
(5)提供了许多面向应用问题求解的工具箱函数。
目前,有20多个工具箱函数,如信号处理、图像处理、控制系统、系统识别、最优化、神经网络的模糊系统等。
(6)易扩充。
1.2 MATLAB系统组成(1)MATLAB语言MATLAB语言是高级的矩阵、矢量语言,具有控制流向语句、函数、数据结构、输入输出等功能。
同时MATLAB又具有面向对象编程特色。
MATLAB语言包括运算符和特殊字符、编程语言结构、字符串、文件输入/输出、时间和日期、数据类型和结构等部分。
(2)开发环境MATLAB开发环境有一系列的工具和功能体,其中大部分具有图形用户界面,包括MATLAB桌面、命令窗口、命令历史窗口、帮助游览器、工作空间、文件和搜索路径等。
(3)图形处理图形处理包括二维、三维数据可视化,图像处理、模拟、图形表示等图形命令。
还包括低级的图形命令,供用户自由制作、控制图形特性之用。
(4)数学函数库有求和、正弦、余弦等基本函数到矩阵求逆、求矩阵特征值和特征矢量等。
MATLAB数学函数库可分为基本矩阵和操作、基本数学函数、特殊化数学函数、线性矩阵函数、数学分析和付里叶变换、多项式和二重函数等。
(5)MATLAB应用程序接口(API)MATLAB程序可以和C/C++语言及FORTRAN程序结合起来,可将以前编写的C/C++、FORTRAN语言程序移植到MATLAB中。
1.3 MATLAB的应用范围包括:MATLAB的典型应用包括:●数学计算●算法开发●建模、仿真和演算●数据分析和可视化●科学与工程绘图●应用开发(包括建立图形用户界面)以矩阵为基本对象第二章 Matlab基础2.1 MATLAB快速入门(1)搜索路径搜索路径也被看作是MATLAB的路径,其包含的文件被认为在路径上。
MATLAB讲义第一章 MATLAB系统概述1.1 MATLAB系统概述MATLAB(MATrix LABoratory)矩阵实验室的缩写,全部用C语言编写。
特点:(1)以复数矩阵作为基本编程单元,矩阵运算如同其它高级语言中的语言变量操作一样方便,而且矩阵无需定义即可采用。
(2)语句书写简单。
(3)语句功能强大。
(4)有丰富的图形功能。
如plot,plot3语句等。
(5)提供了许多面向应用问题求解的工具箱函数。
目前,有20多个工具箱函数,如信号处理、图像处理、控制系统、系统识别、最优化、神经网络的模糊系统等。
(6)易扩充。
1.2 MATLAB系统组成(1)MATLAB语言MATLAB语言是高级的矩阵、矢量语言,具有控制流向语句、函数、数据结构、输入输出等功能。
同时MATLAB又具有面向对象编程特色。
MATLAB语言包括运算符和特殊字符、编程语言结构、字符串、文件输入/输出、时间和日期、数据类型和结构等部分。
(2)开发环境MATLAB开发环境有一系列的工具和功能体,其中大部分具有图形用户界面,包括MATLAB桌面、命令窗口、命令历史窗口、帮助游览器、工作空间、文件和搜索路径等。
(3)图形处理图形处理包括二维、三维数据可视化,图像处理、模拟、图形表示等图形命令。
还包括低级的图形命令,供用户自由制作、控制图形特性之用。
(4)数学函数库有求和、正弦、余弦等基本函数到矩阵求逆、求矩阵特征值和特征矢量等。
MATLAB数学函数库可分为基本矩阵和操作、基本数学函数、特殊化数学函数、线性矩阵函数、数学分析和付里叶变换、多项式和二重函数等。
(5)MATLAB应用程序接口(API)MATLAB程序可以和C/C++语言及FORTRAN程序结合起来,可将以前编写的C/C++、FORTRAN语言程序移植到MATLAB中。
1.3 MATLAB的应用范围包括:MATLAB的典型应用包括:●数学计算●算法开发●建模、仿真和演算●数据分析和可视化●科学与工程绘图●应用开发(包括建立图形用户界面)以矩阵为基本对象第二章 Matlab基础2.1 MATLAB快速入门(1)搜索路径搜索路径也被看作是MATLAB的路径,其包含的文件被认为在路径上。
(Ⅰ)基础篇第一章 Matlab语言概述§1.语言特点MATLAB是Mathworks公司于20世纪80年代推出的数值计算软件。
得到了广泛的应用。
MATLAB的全称是Mateix Laboratory,意思是矩阵实验室。
它是以矩阵运算为基础的新一代程序语言。
MATLAB是集数学运算、图形处理、程序设计和系统建模为一体的著名编程语言软件,它具有功能强大、使用简单等优点,是进行科学研究和工程实践的有力工具。
与Fortran和C相比,MATLAB语句更简洁、明了,更加符合人们的思维习惯。
并且还具有良好的数据可视化功能。
MATLAB包括两部分:基本部分-主要指数据计算和可视化功能。
扩展部分-主要指工具箱。
§2 基本操作和简单语句输入1. 简单语句输入(简单计算器用法)例1:计算a⨯y÷⨯=(a = 2,b =3,c = 5 )+acbb[程序] 在命令窗口输入>> a=2;b=3;c=5;>> y=a*b+c*b/a 回车[输出] y =13.5000例2:计算64(tan3⨯+45)/2760cos[程序] >> (tan(pi/4)+cos(pi/3))*27^(1/3)/sqrt(64)ans =0.56252. 变量表达式数值(1)变量* matlab语句一般形式为:变量=表达式(或数),若变量和“=”省略,输出时自动建立“ans”默认变量。
* 对大小写敏感,如sqrt(平方根)对,而SQRT,Sqrt全错。
* 变量名第一个字符必须是英文字母,最多可包含31个字符,(含英文、数字、下连符)。
不得包含空格和标点。
* 系统遇到一个新变量名时,它会自动生成变量,若该变量早已存在,系统会自动更新内容。
表1-1 默认预定义变量(永久变量)例3:无穷大的使用>> x =1/0Warning: Divide by zero.x =Inf* 在MATLAB中这样的操作不会引起程序执行中断,只是在给出警告信息的同时,用一个特殊的符号Inf来表示。
MATLAB 界面浏览Command Window: 命令窗口Workspace Browser: 工作空间浏览器Command History: 命令历史栏MATLAB的帮助系统MATLAB常用的数据类型矩阵的索引与下标可以产生各种特殊用途的矩阵的命令使用一维或二维下标来存储矩阵,A(i,j)和A(i+(j-1)*m)是完全一样的End这个保留字代表某一维数的最大值MATLAB常用的数学函数计算向量元素统计量的常用函数x=linspace(0,2*pi);%在0到2π间,等分取100个点%进行多条曲线描点绘图plot(x,sin(x));hold on;plot(x,cos(x),’r’);•Plotyy命令可以画出两个刻度不同的y轴。
x=linspace(0,2*pi);%在0到2π间,等分取100个点%画出两个刻度不同的y轴,分别是y1,y2y1=sin(x);y2=exp(-x);plotyy(x,y1,x,y2);代表爆炸,非零元素表示向外拖出的扇形% 在x 轴上取25点x=linspace(-2, 2, 25); % 在y 轴上取25点y=linspace(-2, 2, 25);% xx 和yy 都是25x25的矩阵[xx,yy]=meshgrid(x, y);% 计算函数值,zz 也是25x25的矩阵zz=xx.*exp(-xx.^2-yy.^2); % 画出立体网状图mesh(xx, yy, zz); % 画出立体曲面图surf(xx, yy, zz);Meshgrid 的作用是产生x 及y(均为向量)为基准的栅格点(GridPoints ),其输出为xx 及yy ,分别代表栅格点的x 坐标及y 坐标。
Matlab语⾔基础⼀、Matlab的变量与常量Matlab中变量与常量存储都就是相应的数据。
数据类型:基本类型、构造类型、符号对象基本类型:数字型、字符串型数字型:整型、浮点型整形:⽆符号、有符号(int8、int16、int32、int64 1位、2位、4位、8位)浮点型:单精度(32位)、双精度(64位)基本类型:数组类型(常见)、细胞类型、结构类型、类类型符号对象(⽐较少见)变量:在运算过程中其数值可以改变的量;常量:在运算过程中其数值不改变的量。
变量命名规则:变数名称就是由⼀个字母开头,其后可以有任意数量的字母、数字或下划线。
在变量命名时尽量使⽤⼩写字母,名字要有实在的意义,不要与系统保留的关键字(常量)与函数名相同的名字,容易出错。
MATLAB就是区分⼤⼩写的,变量名可以就是任意长度。
Matlab语⾔就是⼀种弱类型语⾔,C语⾔就是强类型语⾔,变量在复制之前要对它的类型进⾏严格的申明,不同就会出错,⽽matlab 不需要事先申明。
变量初始化:1、采⽤赋值语句初始化变量;2、⽤input函数从键盘输⼊初始化变量,如下:3、matlab已经定义好了的⼀些常量:I、j虚数;Inf⽆穷⼤;NaN不定式;pi圆周率;ans特殊的变量。
⼆、matlab的基本数据结构标量、向量、数组、矩阵的概念:标量、向量、数组本质上就是特殊的矩阵形式;matlab 常⽤的就是⼆维矩阵;标量1*1的矩阵;向量可以瞧成就是1⾏或者1列的矩阵;向量就是数学中的说法,数组就是matlab语⾔中的说法,但向量与数组在这⾥指的就是同⼀种数据结构,可以互⽤。
⼿动⽣成矩阵:⾏矩阵:a = [1 2 3]列矩阵:b = [1 2 3]’或 b = [1;2;3]2*2矩阵:c = [1 2;3 4]使⽤内置函数⽣成矩阵:常⽤的有 o nes,eye,zeros,size,length、利⽤冒号表达式⽣成矩阵:冒号:⽤来⽣成向量,定义数组下标,数组的循环迭代。
学习MATLAB编程语言的基础知识章节一:MATLAB编程语言的概述MATLAB是一种高级编程语言和环境,专门用于科学计算和数据分析。
它由MathWorks公司开发,已成为许多领域中研究人员和工程师的首选工具。
MATLAB具有强大的数值计算能力和丰富的功能库,可以处理各种数学问题,如线性代数、信号处理、优化和图像处理等。
此外,MATLAB还提供了交互式编程环境,使用户能够快速测试和调试代码。
章节二:MATLAB编程环境的介绍MATLAB的编程环境包括命令窗口、编辑器和调试器等组件。
用户可以通过命令窗口直接输入和执行MATLAB代码,也可以通过编辑器创建和编辑脚本或函数。
调试器功能可用于跟踪代码执行过程、检查变量的值和查找错误。
章节三:MATLAB基本语法和数据类型MATLAB的语法与传统的编程语言类似,使用分号作为语句结束符,并使用变量来存储数据。
常用的数据类型包括数字、字符串、矩阵和结构体等。
MATLAB还支持各种运算符和控制流语句,例如循环、条件语句和函数调用等。
章节四:MATLAB中的向量和矩阵操作MATLAB中的向量和矩阵操作是其特有的优势之一。
用户可以使用简洁的语法来执行向量和矩阵的数学运算,如加法、减法、乘法和除法等。
此外,MATLAB还提供了许多方便的函数来处理向量和矩阵,例如转置、求逆、矩阵乘法和行列式计算等。
章节五:MATLAB中的绘图与数据可视化MATLAB提供了强大的绘图工具箱,可以创建各种类型的图形,例如线图、散点图、柱状图和曲线图等。
用户可以使用简洁的命令来设置图形的样式、坐标轴标签和图例等。
此外,MATLAB还支持三维绘图和动画效果,使用户能够更好地呈现和分析数据。
章节六:MATLAB中的函数和脚本编程MATLAB允许用户创建自定义函数和脚本,以实现特定的计算任务。
函数是一段可重复使用的代码块,可以接受输入参数并返回输出结果。
脚本则是一系列按顺序执行的命令,用于完成特定的计算过程。
MATLAB入门教程1.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的变量与常量
Matlab中变量和常量存储都是相应的数据。
数据类型:基本类型、构造类型、符号对象
基本类型:数字型、字符串型
数字型:整型、浮点型
整形:无符号、有符号(int8、int16、int32、int64 1位、2位、4位、8位)
浮点型:单精度(32位)、双精度(64位)
基本类型:数组类型(常见)、细胞类型、结构类型、类类型
符号对象(比较少见)
变量:在运算过程中其数值可以改变的量;
常量:在运算过程中其数值不改变的量。
变量命名规则:
变数名称是由一个字母开头,其后可以有任意数量的字母、数字或下划线。
在变量命名时尽量使用小写字母,名字要有实在的意义,不要和系统保留的关键字(常量)和函数名相同的名字,容易出错。
MATLAB是区分大小写的,变量名可以是任意长度。
Matlab语言是一种弱类型语言,C语言是强类型语言,变量在复制之前要对它的类型进行严格的申明,不同就会出错,而matlab不需要事先申明。
变量初始化:
1、采用赋值语句初始化变量;
2、用input函数从键盘输入初始化变量,如下:
3、matlab已经定义好了的一些常量:
I、j虚数;Inf无穷大;NaN不定式;pi圆周率;ans特殊的变量。
二、matlab的基本数据结构
标量、向量、数组、矩阵的概念:标量、向量、数组本质上是特殊的矩阵形式;matlab 常用的是二维矩阵;标量1*1的矩阵;向量可以看成是1行或者1列的矩阵;向量是数学中的说法,数组是matlab语言中的说法,但向量和数组在这里指的是同一种数据结构,可以互用。
手动生成矩阵:
行矩阵:a = [1 2 3]
列矩阵:b = [1 2 3]’或 b = [1;2;3]
2*2矩阵:c = [1 2;3 4]
使用内置函数生成矩阵:常用的有o nes,eye,zeros,size,length.
利用冒号表达式生成矩阵:
冒号:用来生成向量,定义数组下标,数组的循环迭代。
生成航向量:
生成列相量:
引用矩阵或矩阵中的元素:
举证可以看成一个一位数组,按列从左至右,从上往下依次排列。
冒号当作下标
e(:,2) :代表全部行元素,2代表第2列
引用第3列2-4行:
指定生成某种矩阵
矩阵的行拼接列拼接:
Size函数:返回矩阵行列对应的维数;length函数返回行列维数最大的那个值
三、matlab中的空数组和子数组
子数组的概念
子数组的赋值与数组直接赋值的区别
end的用法
Linspace,logspace,reshape
预定义变量:date,clock,year,month,now,today(和日期处理有关)空数组
子数组
Linspace函数
用法:linspace(x1,x2,N) (linspace(x1,x2)默认生成包括x1和x2的100个数)
功能:linspace是Matlab中的均分计算指令,用于产生x1,x2之间的N点行线性的矢量。
其中x1、x2、N分别为起始值、终止值、元素个数。
若默认N,默认点数为100。
注:linspace(5,100,20)和5:5:100的区别在于前者已知元素总个数而不知道步长,后者已知步长不知元素个数,这两者的效果是一样的。
logspace函数
用法:x=logspace(a, b, n)
功能:logspace(a, b, n)生成一个(1xn)数组,数据的第一个元素值为a,最后一个元素为b,n是总采样点数。
需要注意的是,此时产生的数组元素在10^a 到10^b上并不是均匀分布的,而形成一个对数曲线。
reshape的用法
date,clock,year,month,now,today的用法
四、matlab中的算术运算符
标量运算
矩阵预算
数组运算
运算优先级
标量:亦称“无向量”。
有些物理量,只具有数值大小,而没有方向,部分有正负之分。
物理学中,标量(或作纯量)指在坐标变换下保持不变的物理量。
用通俗的说法,标量是只有大小,没有方向的量。
+ - * / \ ^
矩阵:由m ×n 个数aij排成的m行n列的数表称为m行n列的矩阵,简称m ×n矩阵。
magic函数:生成魔方矩阵
矩阵运算:
A+B A-B A*B A/B A.*B A./B
.
五、matlab中常见的运算函数
三角、反三角函数,指数、对数函数,圆整函数、绝对值,sum, prod, max, min 复数取实部、虚部、取模
Cross, dot, compan, inv, det, rank, eig, trace (对矩阵进行运算)
圆整
ceil 朝着正无穷圆整
. floor 朝着负无穷圆整
fix 朝着0圆整
round 四舍五入整
mod 取模函数
rem 除取余
mod 除取整
mean按列求平均值
prob接地
Sum(x,dim)dim=1按列2按行求和
conv 可以做多项式乘法
比如,(X^6+X^4+7X+4)*(X^5+X^3+3X+1)用conv函数展开:
复数
六、matlab的字符串及其运算
ASCII码:American Standard Code for Information Interchange的缩写
字符串的数组本质
字符串的生成:单引号法,数组法
字符串的转换:abs,double,char,str2num,num2str,upper,lower
字符串:本质是一个字符数组。
其他语言中也有。
字符经过编码以数字的形式编在电脑里,这种编码形式就是ASCII码。
字符串的生成:单引号法,数组法。
字符串的转换:
abs 将字母转成数字。
double 功能类似。
char 将字母转成字母。
str2num,num2str,upper,lower
这种方法比较迂回,matlab中有函数直接转换
七、字符串函数及二维字符串
Strcmp(S1,S2), findstr(S, S), strcat(S1, S2), disp(str)
Fprint(format, data)
二维字符串
Strvcat, str2mat
Strcmp(S1,S2) S1,S2两个函数相同则为1,不同则为0 Strcmp(S1,S2,n)比较前n个字符
findstr(S1, S) 将S1中所有的S以形式的形式返回
strcat(S1, S2) 将两个字符进行拼接;利用矩阵形式进行拼接也可以;当两个字符串长度不一样是不可以[S1, S2]这样拼接。
disp(str) 将字符串原样输出
二维字符串的生成:
维度不一的时候用空格补齐,这种方法比较麻烦。
Strvcat 字符串纵向拼接str2mat与之类似,区别在于str2mat会将空字符生成空行,而前者会直接将其忽略。
八、绘图入门
其他语言绘图特别繁琐,而matlab绘图特别方便简洁。
plot,semilogx,semilogy,loglog,legend,title,grid,xlabel,ylable,hold plot:matlab 中最简单的绘图命令。
legend(‘在右上角对不同的曲线插入相应的图例’)
九、绘图属性的控制
plot,semilogx,semilogy,loglog,legend,title,grid,xlabel,ylable,hold 线型,颜色,线宽的控制
十、图形窗口菜单及其对数坐标
Semilogx,semilogy,loglog
如有侵权请联系告知删除,感谢你们的配合!。