20200507 MATLAB笔记(一)

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)常用函数的应用
①三角函数:以角度为单位的函数要在函数名后面加“d”以表示区别。
②abs函数可以求实数的绝对值、复数的模、字符串的ASCII码值。
③用于取整的函数:fix、floor、ceil、round
round四舍五入,ceil向上取整,floor向下取整,fix舍去小数取整
④应用举例
求[1,100]区间的所有素数
//>>x=1:100;
//>>k=isprime(x);
//>>k1=find(k);
//>>p=x(k1)
//
(;表示该语句只赋值,不计算)

6.变量:本质上是内存单元的一个抽象。变量名以字母开头,最多63个字符,区分字母大小写。标准函数名以及命令名必须用小写字母。
预定义变量:由系统本身定义的变量
①ans是默认赋值变量 ②i和j代表虚数单位
③pi代表圆周率 ④NaN代表非数(绘图时,可将要裁掉部分的坐标设为NaN)
who和whos命令可以查看内存变量。
内存变量文件:扩展名为.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)
②通过序号引用。在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)字符串的查找与替换
finder(s1,s2)返回短字符串在长字符串中的开始位置(s1,s2可互换)
strrep(s1,s2,s3)将字符串s1中的所有子字符串s2替换为字符串s3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值