首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >matlab—基本操作与矩阵输入

matlab—基本操作与矩阵输入

作者头像
mathor
发布2018-07-24 15:10:39
9960
发布2018-07-24 15:10:39
举报
文章被收录于专栏:mathormathormathor

一、写在前面

还有一个月就美赛了,本系列文章适用于完全没有任何matlab基础,但是有别的编程语言基础的人看,我会结合自己的理解,有的放矢的讲,不会掺杂很多废话,各位读者轻喷~

二、基本操作

2.1matlab运算符

Matlab运算符分五类:数学、关系,逻辑、位、集合运算符

2.1.1 数学运算符

其主要功能是进行各种数学运算,按其优先级别依次为:

1. 转置(.’)、共轭转置(‘)、幂次(.^)、矩阵幂次(^)

2. 正、负号(+/-)

3. 乘法(.*)、矩阵乘法(*)、元素左右除(.\,./)、矩阵左右除(\,/)

4. 加减法(+,-)

5. 冒号(:)

在同一优先级中,运算自左至右完成,对运算顺序不确定时,最好以“()”实现强制运算顺序

对于矩阵,右除A/B,相当于X*B=A的解矩阵,左除A\B,相当于A*X=B的解矩阵

2.1.2 关系运算符

有六种:==,~=,>,>=,<,<=,关系运算符总是以矩阵内元素对元素做运算,若满足关系,则返回1,不满足则返回0

2.1.3 逻辑运算符

有三种:&(与),|(或),~(非)

相关命令还有:all(),any()

当所有向量元素为“真”,all返回1,而当任意元素为“真”,any即返回1

示例:

图 2-1 “与”运算

图2-2 “all”,“any”运算

2.1.4 位运算符

对非负整数进行位对位的逻辑运算,主要函数如下:

bitand():位对位AND,bitor():位对位OR,bitxor():位对位XOR,bitset():设定某位,bitget():取得某位,bitcmp():位对位NOT,bitshift():位移(左移)

2.1.5 集合运算符

仅限于向量运算,此时matlab将向量视为集合来进行各种集合运算,常用命令如下:

Union():并集,intersect():交集,setdiff():差集,setxor():异或,unique():最小等效集合,ismember():元素是否属于集合

2.2 数值精度

format short:默认格式,小数点后保留4位

format long:有效数字16位

format long e:有效数字16位加3位指数

format short e:有效数字5位加3位指数

format bank:保留两位小数位

format +:只给出正负

format rational:以分数的形式表示

format hex:以16进制数表示

format long g:15位有效数

format short g:5位有效数

2.3 常用keyword

clc:清空命令行窗口

clear:清空工作区所有变量,clear x:清空工作区中x变量

who:显示工作区所有变量

Whos:显示工作区所有变量的详细信息

三、矩阵

3.1 矩阵输入

行矩阵(Row vector):>> a = [1 2 3 4]

列矩阵(Column vector):>> b = [1;2;3;4]

3.2 索引向量(矩阵)

>>A(8) = 9,编号是按照一列一列数下来,在向量A中,“21”对应的编号是4

>>A([1 3 5]) = 1 31 17

>>A([1 3;1 3]) = 

>>A(3,2) = 2,以逗号隔开的两个数字,前面表示行,后面表示列

>>A([1 3],[1 3]) =

,前面的[1 3]表示,第一行和第三行,后面的[1 3]表示第一列和第三列

3.2.1 替换矩阵值

方法:A() = [],等号左边是索引,首先索引到需要替换的位置,然后用右边的值去赋值(替换)

如果想要删掉某一行,格式:A(x,:) = []

如果想要删掉某一列,格式:A(:,x) = []

3.2.2 “:”操作

如果要创建一个非常长的矩阵,例如从1到1000,手动输入非常麻烦,这时就可以利用“:”操作符

格式:A = [first:tolerance:end],从first开始,end为结束,tolerance为公差创造一个等差向量(tolerance默认值为1)

“:”操作符还有另一种用法,如果想取矩阵的某一行或者某一列,只需要A(x,:)或者A(:,x),x表示数值

3.2.3 矩阵合并操作

格式:F = [A B]或F = [A;B](这两种做法产生的结果是不一样的)

3.3 矩阵运算

3.3.1 矩阵与矩阵运算

Y1 = A+B = 

Y2 = A*B =

(满足矩阵乘法)

Y3 = A.*B =

(两矩阵对应位置上的元素相乘)

Y4 = A/B = A*inv(B)(两矩阵相除等于左边的矩阵乘以右边矩阵的逆矩阵)

Y5 = A./B(两矩阵对应位置上的元素相除)

3.3.2 矩阵与实数运算

X1 = A+a =

(将矩阵各位置上的值分别加上该实数)

X2 = A/a = A./a(将矩阵各位置上的值分别除以该实数)

X3 = A^a = A^2 = A*A(满足矩阵与矩阵相乘的法则)

X4 = A.^a = A.^2 =

(矩阵各位置上的元素进行a次方的运算)

X5 = A’ =

(矩阵转置)

3.4 特殊矩阵

eye(n):n×n的单位矩阵

zeros(n1,n2):n1×n2的矩阵,矩阵内元素全部为0

ones(n1,n2):n1×n2的矩阵,矩阵内元素全部为1

diag([x1 x2 x3]):主对角线为x1,x2,x3的矩阵

linspace(a,b,n):生成一个1×n的矩阵,第一个元素值为a,最后一个元素值为b,共有n个数据

rand(m,n):生成一个m×n阶的矩阵,矩阵内的值是0-1之间的随机值

3.5 常用矩阵函数

max(A) = 7 5 9(max函数的作用是求出矩阵每一列中的最大值)

max(max(A)) = 9(max外面嵌套一个max的作用是求出矩阵所有元素中的最大值)

min(A)= 0 0 3(min函数的作用是求出矩阵每一列中的最小值)

min(min(A)) = 0(min外面嵌套一个min的作用是求出矩阵所有元素中的最小值)

sum(A) = 8 7 18(sun函数的作用是计算矩阵每一列的和)

sum(sum(A)) = 33(sum外面嵌套一个sum的作用是求出矩阵内所有元素的和)

mean(A)(mean函数的作用是计算矩阵每一列的平均数)

mean(mean(A))(mean外面嵌套一个mean的作用是求出矩阵内所有元素的平均数)

sort(A) =

(sort函数的作用是将矩阵每一列元素从小到大进行排序)

sortrows(A) =

(sortrows函数的作用是按照第一列中数值从小到大的顺序把每一行进行排序)

size(A) = 3 3(size函数的作用就是计算出矩阵有多少行多少列)

length(A) = 3(length函数的作用是求出行数或者列数当中的较大值)

find(A==6) =8(find函数的作用是求出满足条件的值在矩阵当中的位置)

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-01-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、写在前面
  • 二、基本操作
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档