2 MATLAB基础知识

发布于:2021-11-30 23:53:00

MATLAB 基础知识
数据类型 基本矩阵操作 运算符和特殊符号 矩阵的基本运算 多项式的运算 字符串处理函数

数据类型
数值类型 逻辑类型 字符和字符串 结构体类型 单元数组类型

数值类型
整数 4种有符号和4中无符号类型 类型转换函数:用于把其他类型的数值强制转换 为整数类型。 int8() int16() int32() int64() uint8() uint16() uint32() uint64() 浮点数:双精度浮点数,单精度浮点数 double() ——MATLAB默认的数据类型; single()

数值类型
复数 虚部用i或j来表示 可以通过直接赋值或complex函数产生复数 Inf和NaN两个特殊数值 inf,-inf表示正无穷大和负无穷大; NaN: Not a Number,表示一个既不是实 数又不是复数的数值。

逻辑类型
用1和0表示true和false两种状态; 可用logical()得到逻辑类型的数值,可以 把任何非零的数值转换为1,把数值0转 换为0

字符和字符串
用数据类型char表示一个字符,一个char类 型的1×n数组表示一个字符串string; 用’ ’表示字符串,字符串的每个字符 (包括空格)都是字符数组的一个元素; 字符串和字符数组基本等价,可以用char构 造字符串或字符数组; 字符串和数组之间可以相互转换: num2str str2num

结构体类型
结构体是根据属性名组织起来的不同类型数据的 集合; 结构体变量的定义 (1)直接赋值 Personal.Name 结构体变量名+指针操作符+属性名 (2)struct函数两种方式定义 s= struct('field1', values1, 'field2', values2, ...) s = struct('field1', {}, 'field2', {}, ...)

结构体类型
结构体也是一种数组,可以构造任意维数和形 状的结构体数组; 使用结构体数组的下标引用,可以访问结构体 数组任何元素及其属性; 常用的结构体函数: struct—创建转换结构体变量; fieldnames—得到结构型变量的属性名; getfield—获得属性值; setfield—设置属性值;

单元数组类型
单元数组中每个元素为一个单元的数组,每 个单元都可以包括任意数据类型的数组; 单元数组的构造(需要使用大括号): (1)大括号在左边 c{1,1}='Clayton'; c{1,2}=eye(3,3); c{2,1}=@sin; c{2,2}=true;

单元数组类型
(2)大括号在右边 c(1,1)={'Clayton'}; c(1,2)={eye(3,3)}; c(2,1)={@sin}; c(2,2)={true}; c1={'Clayton',eye(3,3);@sin,true}; celldisp:单元数组显示函数

单元数组类型
(3)用cell函数预先分配存储空间,然后对单 元元素逐个赋值 cell(m,n):建立一单元数组,其大小为m×n 矩阵,每个单元元素为空矩阵,可采用上面 的方法赋值。 单元数组的相关函数自己查阅

基本矩阵操作
矩阵的构造 矩阵大小的改变 矩阵下标引用 矩阵信息的获取 矩阵结构的改变

向量的构造
若是行向量,矩阵元素用空格或逗号隔开; 可用:生成向量,格式为: 首元素:步长:尾元素 linspace(x1,x2,n)—生成n维行向量,首元素为 x1,尾元素为x2;若不指定n,则默认生成100维。 logspace(x1,x2,n)—生成n维对数等分向量,首 元素为10x1,尾元素为10x2,不指定n,默认生成 50维

矩阵的构造
直接输入小矩阵: (1)输入矩阵用[ ] (2)同行元素用空格或,分隔,行之间用回车 或;间隔 (3)矩阵大小可不预先定义,元素可为运算表 达式 (4)若不想获得中间结果,可以用;结束 (5)无任何元素的空矩阵也合法

矩阵的构造
特殊矩阵的构造: ones:产生矩阵元素为1的矩阵; zeros:产生矩阵元素为0的矩阵; eye:产生单位矩阵,即主对角线上的元素 为1; diag:把向量转化为对角矩阵或得到矩阵的对角 线; magic:产生魔方矩阵,即每行、每列之和相等 rank:产生0-1均匀分布的随机数

矩阵的构造
tril(A):提取矩阵A的主下三角部分(包括主对 角线元素); tril(A,k):提取矩阵A的第k条对角线下面的部 分,包括第k条对角线; triu(A):提取矩阵A的主上三角部分; triu(A,k):提取矩阵A的第k条对角线上面的 部分,包括第k条对角线;

矩阵元素的引用
矩阵下标的引用 A(i,j)表示第i行第j列的元素; A(i,:)表示第i行的所有元素; A(:,j)表示第j列的所有元素 注意: MATLAB中矩阵的存储按列优先排列。 例如对于一个3阶矩阵,A(3,2)=A(6)

矩阵大小的改变
矩阵的合并 把两个或两个以上的矩阵数据连接起来得到一个 新的矩阵,表达式: C=[A B] 在水*方向合并矩阵,A、B要 有相同行数; C=[A,B] 在竖直方向合并矩阵,A、B要 有相同列数; 相关合并函数自己查阅

矩阵大小的改变
矩阵行列的删除 若要删除某行或某列,只要把该行或列赋予一个空矩阵[ ] 即可,例如 C= 0 4 7 10 0 5 8 11 0 6 9 12 C(:,1)=[] C= 4 7 10 5 8 11 6 9 12

矩阵信息的获取
矩阵尺寸信息 length—矩阵最长方向的长度; ndims—矩阵的维数; numel—矩阵元素的个数; size—矩阵在各个方向的长度

矩阵信息的获取
矩阵元素的数据类型 class—返回输入数据的数据类型 is+…—判断输入数据是否为…类型

矩阵结构的改变
变维 通过:和reshape函数实现矩阵的变维 旋转 rot90(A,k)-逆时针旋转90*k度 rot90(A k)90*k 翻转 fliplr-左右翻转;flipud-上下翻转 转置 transpose(A)-矩阵的转置

运算符和特殊符号
算术运算符 + 加 减 * 乘 / 右除 \ 左除 ^ 矩阵乘方 ’ 转置

.* 点乘 ./ 右点除 .\ 左点除 .^ 点乘方

关系运算符
== ~= < > <= >= & | ~ 等于 不等于 小于 大于 小于等于 大于等于 与 或 非

逻辑关系函数
any—若向量的任意元素不为0则返回真; all—若向量的所有元素不为0则返回真; find—寻找非零元素坐标

运算优先级
由高到低: 括号 乘除 加减 冒号运算符 小于,小于等于,大于,大于等于,等于,不 等于 逻辑与 逻辑或

矩阵的运算
特征值函数 eig—给出特征值和特征向量的值; 秩函数 rank 迹函数 矩阵特征值的和称为矩阵的迹(对角线元素的和) trace

矩阵的基本运算
逆运算函数 inv(A) 行列式函数 det(A) 其他函数,如范数计算,矩阵的分解,正交计算 参考相关资料

多项式运算
多项式的表示方法: (1)系数向量的直接输入法 系数用行向量表示,然后通过poly2sym转换 (2)由根创建多项式 给出特定根,若有复数,必是共轭根,然后通过 poly函数生成。

多项式运算
求多项式的值 两种情况: (1)输入变量以数组为单元进行计算,计算函 数用polyval (2)输入变量以矩阵为单元进行计算,计算函 数用polyvalm 当进行矩阵运算时,变量矩阵需为方阵

多项式运算
求多项式的根 两种方法: (1)直接调用roots函数 (2)建立多项式的伴随矩阵再求特征值得到多项 式的所有根

多项式运算
多项式的乘除法 乘法函数conv 除法函数deconv 多项式的微积分 微分(导数)函数:polyder(p) 积分函数:polyint

多项式运算
多项式的拟合 polyfit(x,y,n): x,y为拟合数据,n为拟合多项 式的阶数; 例如:x=0:pi/20:pi/2; y=sin(x); a=polyfit(x,y,5) 运行:a = 0.0057 0.0060 -0.1721 0.0021 0.9997 0.0000

字符串处理函数
字符串比较函数 strcmp(s1,s2):比较两个字符串是否相等 strncmp(s1,s2,n):比较两个字符串前n个字母是 否相等; strcmpi(s1,s2):忽略大小写比较两个字符串是否 相等 strncmpi(s1,s2,n):忽略大小写比较两个字符串 前n个字母是否相等

字符串处理函数
字符串查找替换函数 strrep(s1,s2,s3):在s1中,用s3代替s2 findstr(s1,s2):在s1中,查找s2,返回s2的位置 strmatch(s1,s2):在字符串数组s2中找出匹配s1 的字符,返*ヅ渥址诘男

练*题
1.建立一个结构体变量student,属性名 包括姓名,学号,考试成绩等 2.生成一个5阶魔方矩阵,并提取其主对 角线 3. 任意生成一个24维向量,将其变维成 4*6矩阵,并旋转90度后,抽取主对角线 元素生成新的向量(每一步结果都保存)

练*题
4.求解线性方程:

2 x1 + x2 ? 3x3 ? x4 = 2 3 x1 + x2 + 7 x4 = 3 ? x1 + 2 x2 + 4 x3 ? 2 x4 = 5 x1 ? x3 + 5 x4 = 7

练*题
5.练*求矩阵的行列式、秩、特征值、特征 向量等(自己任举一个4阶矩阵进行计算) 6.试计算矩阵 ? ?1 1 0 ?
A = ? ?4 3 4 ? ? ? ? 1 0 2? ? ?

的特征值,特征值对角阵D与特征向量矩阵V。 7.用8阶多项式对[0, π / 2 ] 上的余弦函数进行 最小二乘拟合,求出拟合的多项式。


相关推荐

最新更新

猜你喜欢