【MATLAB】 【B站网课笔记】

tech2022-07-30  172

最近在学习matlab,看b站网课时做的一些笔记,放上来给大家学习参考,仅供学习交流。

1.MATLAB的搜索路径:变量–>内部函数–>程序文件–>(当前文件夹下的程序文件–>文件搜索路径文件夹中的程序文件)2.设置文件搜索路径: ①用path命令设置 //>>path(path,’e:\work’)//②用对话框(主界面下的环境下的设置路径)3.数值数据类型:整型、浮点型、复数型 (1)整型:无符号/带符号8/16/32/64位整数 数据类型转换函数,uint8函数将数值数据转换为无符号8位整数,int8函数将数值数据转换为带符号8位整数(2)浮点型:分单精度(4字节)和双精度(8字节,默认为双精度),single函数转换为单精度, double函数转换为双精度(3)复型:包括实部和虚部,默认为双精度型,虚数单位用i或j表示。 real函数求实部,imag函数求虚部4.数值数据的输出格式: format命令的格式:format 格式符 例如,//>>format long>>50/3//format命令只影响数据输出格式,而不影响数据的计算和存储。5.常用数学函数 (1)调用格式:函数名(函数自变量的值) 函数自变量规定为矩阵变量,函数运算时是将函数逐项作用于矩阵的每个元素上,故运算结果为一个与自变量同型的矩阵。(2)常用函数的应用 a.三角函数:以角度为单位的函数要在函数名后面加“d”以表示区别。b.abs函数可以求实数的绝对值、复数的模、字符串的ASCII码值。c.用于取整的函数:fix、floor、ceil、round round四舍五入,ceil向上取整,floor向下取整,fix舍去小数取整d.sqrt 开平方e.exp e的指数f.应用举例 求[1,100]区间的所有素数//>>x=1:100;//>>k=isprime(x);//>>k1=find(k);//>>p=x(k1)//6.变量:本质上是内存单元的一个抽象。变量名以字母开头,最多63个字符,区分字母大小写。标准函数名以及命令名必须用小写字母。 a.赋值语句格式 变量=表达式表达式(;表示该语句只赋值,不计算)b.预定义变量:由系统本身定义的变量 ①ans是默认赋值变量②i和j代表虚数单位③pi代表圆周率④NaN代表非数(绘图时,可将要裁掉部分的坐标设为NaN)c.who和whos命令可以查看内存变量。d.内存变量文件:扩展名为.mat,也叫MAT文件,用save命令创建内存变量文件,用load命令装入内存变量文件 ////>>save mydata a x//>>load mydata//7.矩阵 (1)矩阵的建立 ①直接输入法:将矩阵的元素用中括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用逗号或空格分割,不同行的元素之间用分号分隔。②用小矩阵拼接:相当于矩阵的分块③还可以用实部矩阵和虚部矩阵构成复数矩阵④冒号表达式: e1:e2:e3 产生行向量 e1为初始值,e2为步长(省略,则默认为1),e3为终止值⑤linspace函数:linspace(a,b,n) a是第一个元素,b是最后一个元素,n是元素总数(省略时默认为100)(2)结构矩阵和单元矩阵 结构矩阵:结构矩阵元素.成员名=表达式 ////>>a(1).x1=10;a(1).x2=’liu’;//>>a(2).x1=11;a(2).x2=’wang’;//单元矩阵:直接输入,只是单元矩阵元素用大括号括起来。 ////>>b={10,’liu’;11,’wang’}//8.矩阵元素的引用 (1)引用方式 ①通过下标引用,A(3,2) 超出自动扩展为0②通过序号引用。 在MATLAB中,矩阵元素按列存储,矩阵元素的序号就是矩阵元素在内存中的排列顺序。A(3)序号和下标可以利用sub2ind和ind2sub函数相互转换D=sub2ind(S,I,J),D表示序号,S表示行数和列数组成的向量,I是转换矩阵元素的行下标,J是列下标 ////>>A=[1:3;4:6]//>>D=sub2ind(size(A),[1,2;2,2],[1,1;3,2])//D=//1 2//6 4//[I,J]=ind2sub(S,D),S为行数和列数组成的向量,D为序号,I、J分别为行、列下标(2)利用冒号表达式获得子矩阵 A(i,:) 第i行的全部元素A(:,j) 第j列的全部元素A(i:i+m;k:k+m) 第i-i+m行内且在第k-k+m列中的全部元素A(2:3,1:2:5) 第2、3行的第1、3、5列元素end运算符表示某一维的末尾元素下标(3)利用空矩阵删除矩阵中的元素 ////>>A(:,[2,4])=[]//删除第二列和第四列元素(4)改变矩阵的形状 reshape(A,m,n):在矩阵总元素和顺序保持不变的前提下,将矩阵A重新排成m行n列的二维矩阵A(:)将矩阵A的每一列元素堆叠起来成为一个列向量。9.MATLAB基本运算 (1)算术运算 ①基本算术运算:+,-,,^(乘方),/(右除),\(左除) 加减:要求矩阵同型,标量也可跟矩阵的每一个元素进行加减乘法:A的列数等于B的行数除法:A为非奇异矩阵,B/A等效于Binv(A),B\A等效于inv(A) B乘方:A^x,要求A为矩阵,x为标量②点运算:. *,./ ,.\ ,.^ 是指对应元素进行相关运算,要求两矩阵同型。(2)关系运算 < ,<=,>, >=, ==(等于), ~=(不等于)关系成立,结果为1;不成立,为0当参与比较的两是两个同型矩阵时,是对相同位置的元素按标量关系运算规则逐个进行,最终结果是一个与原矩阵同型的矩阵,它的元素由0、1组成。(3)逻辑运算 &(与)、|(或)、~(非)(4)运算优先级 算术运算>关系运算>逻辑运算,但逻辑非运算时单目运算,它比双目运算优先级高10.字符串处理 (1)字符串是用单引号括起来的字符序列。(2)若字符串中的字符含有单引号,则该单引号字符要用两个单引号表示。(3)可建立多行字符串,形成字符串矩阵。(4)字符串的执行: eval(s)(5)字符串与数值之间的转换: abs和double函数都可以获取字符串矩阵所对应的ASCII码数值矩阵,char函数可以把ASCII码数值矩阵转换为字符串矩阵。(6)字符串的比较:可以利用关系运算符或者字符串比较函数。 函数strcmp(s1,s2)用来比较字符串s1和s2是否相等,相等则返回1,否则返回0;函数strncmp(s1,s2,n)用来比较字符串s1和s2前n个字符是否相等,相等则返回1,否则返回0;函数strcmpi(s1,s2)在忽略字母大小写的前提下,比较字符串s1和s2是否相等,相等则返回1,否则返回0;函数strncmpi(s1,s2,n) 在忽略字母大小写的前提下,比较字符串s1和s2前n个字符是否相等,相等则返回1,否则返回0。(7)字符串的查找与替换 findstr(s1,s2)返回短字符串在长字符串中的开始位置(s1,s2可互换)strrep(s1,s2,s3)将字符串s1中的所有子字符串s2替换为字符串s3
最新回复(0)