matlab学习1

matlab

常用的数学函数

函数的调用形式

1 函数名(函数自变量的值)

2 三角函数以弧度为单位正常写

以角度为单位在函数后面加“d”,以示区别

sin(pi/2)

ans = 1

sind(90)

ans = 1

3 abs函数可以求实数的绝对值、复数的模、字符串的ASCLL码值

4 用于取整的函数

  1. fix:向靠近0的那个数取整

  2. floor:向下取整

  3. ceil:向上取整

  4. 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中的元素是否为偶数

逻辑运算

与& 或| 非~

 

优先级问题

算数运算的优先级最高、逻辑运算优先级最低,但是逻辑非运算是单目运算,他的优先级比双目运算要高

 

posted @ 2021-09-19 20:36  史春生  阅读(342)  评论(0)    收藏  举报