matlab学习1
常用的数学函数
函数的调用形式
1 函数名(函数自变量的值)
2 三角函数以弧度为单位正常写
以角度为单位在函数后面加“d”,以示区别
sin(pi/2)
ans = 1
sind(90)
ans = 1
3 abs函数可以求实数的绝对值、复数的模、字符串的ASCLL码值
4 用于取整的函数
-
fix:向靠近0的那个数取整
-
floor:向下取整
-
ceil:向上取整
-
round:四舍五入
变量与赋值语句
1 变量名必须以字母开头,后接字母。数字。下划线,最多63个字符
2 区分大小写
3 标准函数命名必须使用小写字母
4 赋值
变量 = 表达式
表达式
5 预定义变量
由系统本身定义的变量
ans是默认赋值变量
i和j代表虚数单位
pi代表圆周率
NaN代表非数
6 变量的管理
内存变量的删除与修改
who和whos显示变量名清单
7 内存变量文件:扩展名.mat,用于保存MATLAB工作区变量的文件
save命令:创建内存变量文件
load:装入内存变量文件
矩阵的表示
矩阵的建立
1. 直接输入法建立,将矩阵元素用中括号[ ]括起来 ,按矩阵行的顺序输入各元素,同行用逗号或者空格分割,不同行用分号隔开
冒号表达式
格式:e1:e2:e3
初始值 步长 终止值
例:t = 0:1:5
t = 0 1 2 3 4 5
linspoce函数
linsapce(a,,b,n)
第一个元素 最后一个元素 元素总数(当n省略时,自动产生100个元素)(会自动等分a到b)
结构矩阵和单元矩阵
1结构矩阵
格式为:
结构矩阵元素.成员名=表达式
例:a(1).x1=10;a(1).x2='liu';a(1).x3=[11,21;34,78]
2 单元矩阵
建立单元矩阵和一般矩阵相似,直接输入就可以了,知识单元矩阵元素用大括号括起来
例:b={10,'liu',[11,21;34,78];12,'wang',[34,191;27,578];14,'cai',[12,890;67,231]1}
矩阵元素的引用
1 引用方式
1)通过下标引用(若引用的位置不在原矩阵,会自动扩展)
A(3,2)=200
2)通过序号引用(按列存储)矩阵元素的序号就是在内存中的排列顺序
序号与下标一一对应,m*n的矩阵,矩阵元素A(i,j)的序号为(j-1) * m+i
矩阵元素的序号与下标可以利用sub2ind和ind2sub函数实现相互转换
sub2ind:将指定元素的行、列下标转换成存储序号,格式:
D = sub2ind(S,I,J)
S:行数和列数组成的向量,通常用size函数获取
I:行下标
j:列下标
ind2sub:将元素序号转换为对应下标,调用格式
[I,J]=ind2sub(S,D)
S:行数和列数组成的向量(如为[3,3]意思为是一个3*3的矩阵)
D:序号
2 利用冒号表达式获得子矩阵
子矩阵:矩阵中的一部分元素构成的矩阵
A(i,:) :第i行的全部元素
A(:,j) :第j列的全部元素
A(i:i+m,k:k+m) :第i~i+m行内且在第k~k+m列中的所有元素
A(i:i+m) :第i~i+m行的全部元素
3 end运算符:表示某一维的末尾元素下标
A(end,:) :表示引用A的最后一行元素
A([1,4],3:end) :表示第一行和第四行第三列到最后一列的元素
4 利用空矩阵删除矩阵中的元素
先令一个变量为空矩阵,再将其赋值给其他矩阵
5 改变矩阵的形状 reshape(A,m,n)函数
在矩阵总元素保持不变的前提下,将矩阵A重新排成m*n的二维矩阵,只是改变原矩阵的行数和列数,并不改变原矩阵元素个数及其储存顺序(就是可以把一个1 *12的矩阵转换成一个3 *4的矩阵)
A(:) :将矩阵A的每一列元素堆叠起来,成为一个列向量。
等价于reshape(A,x,1) (x为元素个数)
矩阵的基本运算
算数运算
1 基本算数运算
+ - * /(右除) \ (左除) 乘方
matlab的算数运算是在矩阵意义下进行的
加减运算:若两矩阵同型,则运算时两矩阵的相应元素相加减。若两矩阵不同型,则会给出错误信息
一个标量也可以和矩阵进行加减运算,这时把标量和矩阵每一个元素进行加减运算
乘法运算:要求A的列数与B的行数相等,此时称A、B矩阵是可乘的,或称A和B两矩阵维数和大小相容。若不相容,则会给出去错误信息,提示不可乘。
除法运算: 在matlab中,有两种除法运算:左除\ 和 右除/
如果A矩阵是非奇异方阵,则B/A等效域B*inv(A), A\B等效于inv(A) *B
乘方运算
一个加重的乘方运算可以表示成A^x,要求A为方阵,x为标量
点运算
.* ./ .\ .^
两矩阵点运算是指他们的对应元素进行相关元素,要求两矩阵同型。
A.*B是指对应元素进行运算
A*B是指矩阵的乘法运算
求x=0.1、0.4、0.7、1时,分别求y=sin x cos x的值
x = 0.1:0.3:1;
y = sin(x).*cos(x);
关系运算符
> < <= >= == ~=(不等于)
关系成立,表达式为1(类似bool值*)
当参与比较的量是两个同型矩阵时,比较时对两矩阵相同位置的元素按标量关系运算逐个进行,最终的关系运算的结果是一个
与原矩阵同型的矩阵,他的元素有0和1组成
一个标量和一个矩阵比较时,把标量与矩阵的每一个元素按标量关系逐个比较,最终的关系运算的结果是一个与原矩阵同型的 矩阵,他的元素有0和1组成。
P=rem(A,2)==0 //判断矩阵A中的元素是否为偶数
逻辑运算
与& 或| 非~
优先级问题
算数运算的优先级最高、逻辑运算优先级最低,但是逻辑非运算是单目运算,他的优先级比双目运算要高

浙公网安备 33010602011771号