实验一 Matlab基本操作及运算.docx
实验一 Matlab基本操作及运算实验一Matlab基本操作及运算 一、实验目的: 1熟悉MATLAB基本操作 2掌握矩阵、变量、表达式的各种基本运算 二、实验基本知识: 1.熟悉MATLAB环境 熟悉MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器文件和搜索路径浏览器。 2.掌握MATLAB常用命令 clc clear help lookfor who 清除命令窗口中内容 清除工作空间中变量 对所选函数的功能、调用格式及相关函数给出说明 查找具有某种功能的函数但却不知道该函数的准确名称 查询工作空间中的变量信息 3.MATLAB变量与运算符 变量命名规则如下: 变量名可以由英语字母、数字和下划线组成 变量名应以英文字母开头 长度不大于31个 区分大小写 MATLAB中设置了一些特殊的变量与常量,列于下表。 变量名 ANS i或j pi eps realmax 表1 MATLAB的特殊变量与常量 功能说明 变量名 默认变量名,以应答 realmin 最近一次操作运算结果 虚数单位 INF(inf) 圆周率 NAN(nan) 浮点数的相对误差 最大的正实数 nargin nargout 功能说明 最小的正实数 无穷大 不定值 函数实际输入参数个数 函数实际输出参数个数 MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符 表2 MATLAB算术运算符 操作符 + - * .* . 功能说明 加 减 矩阵乘 数组乘 矩阵乘方 数组乘方 操作符 . / ./ ' .' 功能说明 矩阵左除 数组左除 矩阵右除 数组右除 矩阵转置 数组转置 表3 MATLAB关系运算符 操作符 = = > < >= <= 表4 MATLAB逻辑运算符 逻辑运算符 & | Xor 逻辑运算 And Or Not 说明 逻辑与 逻辑或 逻辑非 逻辑异或 功能说明 等于 不等于 大于 小于 大于等于 小于等于 表5 MATLAB特殊运算 符号 : ; , 功能说明示例 1:1:4;1:2:11 分隔行 分隔列 构成向量、矩阵 构成单元数组 符号 功能说明示例 . . % 注释 ! 调用操作系统命令 用于赋值 = 4. MATLAB的一维、二维数组的访问 表6 子数组访问与赋值常用的相关指令格式 指令格式 A(r,c) A(r,:) A(:,c) A(:) A(i) A(r,c)=Sa A(:)=D(:) 指令功能 数组A中r指定行、c指定列之元素组成的子数组 数组A中r指定行对应的所有列之元素组成的子数组 数组A中c指定列对应的所有行之元素组成的子数组 数组A中各列元素首尾相连组成的“一维长列”子数组 "一维长列"子数组中的第i个元素 数组A中r指定行、c指定列之元素组成的子数组的赋值 数组全元素赋值,保持A的行宽、列长不变,A、D两组元素 总合应相同 5. MATLAB的基本运算 表7 两种运算指令形式和实质内涵的异同表 数组运算 指令 A' A=s s+B s-B,B-s s.*A s./B,B.s A.n A.p A+B A-B A.*B A./B B.A exp(A) log(A) sqrt(A) 含义 非共轭转置 把标量s赋给A的每个元素 标量s分别与B元素之和 标量s分别与B元素之差 标量s分别与A元素之积 标量s分别被B的元素除 A的每个元素自乘n次 对A各元素分别求非整数幂 对应元素相加 对应元素相减 对应元素相乘 A的元素别B的对应元素除 与上相同 以自然数e为底,分别以A的元素为指数,求幂 对A的各元素求对数 对A的各元素求平方根 矩阵运算 指令 A s*A S*inv(B) An Ap A+B A-B A*B A/B BA expm(A) logm(A) sqrtm(A) 含义 共轭转置 标量s分别与A每个元素之积 B阵的逆乘s A阵为方阵,自乘n次 方阵A的非整数乘方 矩阵相加 矩阵相减 内维相同矩阵相乘 A右除B A左除B A的矩阵指数函数 A的矩阵对数函数 A的矩阵平方根函数 6.MATLAB的常用函数 表8 标准数组生成函数 指令 含义 指令 产生对角形数组 产生单位数组 randn eye zeros magic 产生魔方数组ones 产生全1数组 size( ) 表9 数组操作函数 指令 diag flipud fliplr reshape rot90 det rank inv eig 含义 提取对角线元素,或生成对角阵 以数组“水平中线”为对称轴,交换上下对称位置上的数组元素 以数组“垂直中线”为对称轴,交换左右对称位置上的数组元素 在总元素数不变的前提下,改变数组的“行数、列数” 矩阵逆时针旋转90度 方阵的行列式值 矩阵的秩 矩阵求逆 矩阵的特征值 矩阵转置 含义 产生均匀分布随机数组 产生正态分布随机数组 产生全0数组 返回指定矩阵的行数和列数 7.多项式运算 poly 产生特征多项式系数向量 roots 求多项式的根 p=poly2str(c,x) conv, convs 多项式乘运算 deconv多项式除运算 polyder(p) 求p的微分 polyder(a, b) 求多项式a,b乘积的微分 p,q=polyder(p1,p2) 求解多项式p1/p2微分的有理分式 poly(p,A) 按数组运算规则求多项式p在自变量A的值 polym(p,A) 按矩阵运算规则求多项式p在自变量A的值 三、实验内容 1、新建一个文件夹 2、 启动MATLAB,将该文件夹添加到MATLAB路径管理器中。方法如下: 3、保存,关闭对话框4、学习使用help命令,例如在命令窗口输入help eye,然后根据帮助说明,学习使用指令eye 5、使用clc、clear,观察command window、command history和workspace等窗口的变化结果。、 1> 执行clc后,command window内容被清空,command history多出一行clc,workspace无变化 2> 执行clear后,command window内容不变,command history多出一行clear,workspace无变化 6、假设x =3,y = 4,用Matlab计算下列表达式: (1) x2y3(x-y)2=576 (2) 44x =1 (3) px-2 =0.4654 (4) x3yx3=-0.7297 x3-yx>> x=3;y=4;z=(x2*y3)/(x-y)2 z = 576 >> x=3;y=4;z=(4*x)/(3*y) z = 1 >> x=3;y=4;z=4/x*pi*x(-2) z = 0.4654 >> x=3;y=4;z=x3/(x3-yx) z = -0.7297 7、求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 2sin850z1=0.2375 1+e2z1=2*sin(85/180*pi)/(1+exp(2) z1 = 0.2375 1+2iùé21z2=ln(x+1+x2),其中x=ê= ú5û2ë-0.45>> x=2,1+2i;-0.45,5 x = 2.0000 1.0000 + 2.0000i -0.4500 5.0000 >> z2=1/2*log(x+sqrt(1+x2) z2 = 0.7114 - 0.0253i 0.8968 + 0.3658i 0.2139 + 0.9343i 1.1541 - 0.0044i 8、练习使用MATLAB的基本运算符、数组访问指令、标准数组生成函数和数组操作函数。 输入help rand,然后随机生成一个2×6的数组,观察command window、command history和workspace等窗口的变化结果。 分别输入clc、clear,了解其功能和作用。 输入clc时候,command window里的内容被清空 输入clear时候,workspace的变量被清除了 输入C=1:2:20,则C表示什么?其中i=1,2,3,10。 从1到20中,每相邻两个数相差2.即C(i+1)-C(i)=2 C(i)表示C数组中第i个元素,C = 1 3 5 7 9 11 13 15 17 19 输入A=7 1 5;2 5 6;3 1 5,B=1 1 1; 2 2 2; 3 3 3,在命令窗口中执行下列表达式,记录输出结果并说明其含义: 输入A=7 1 5;2 5 6;3 1 5 输出一个3行3列的矩阵 A = 7 1 5 2 5 6 3 1 5 输入B=1 1 1; 2 2 2; 3 3 3 输出一个3行3列的矩阵 B = 1 1 1 2 2 2 3 3 3 二维数组的创建和访问,创建一个二维数组A, 查询数组A第2行、第3列的元素,查询数组A第2行的所有元素,查询数组A第6列的所有元素。 clc; A=1 2 3 4 5 6 7 8;5 6 7 8 9 0 4 3;3 4 5 6 7 8 9 0;7 8 9 0 6 4 1 2 A(2,3) A(2,:) A(:,6)使用表8列出的常用函数来创建二维矩阵。 clc; A=1 2;3 4;5 6;7 8 A = 1 2 3 4 5 6 7 8 9、下面的语句用于画出函数y(x)=2e-0.2x在0,10区间的值 x = 0:0.1:10; y = 2*exp(-0.2*x); plot(x,y) 用Matlab编辑器创建一个m文件,把上述语句写入这个m文件并命名为“test1.m”,保存在当前路径中,然后在命令窗中键入test1,观察结果和运行程序后工作空间的变化 。 10、 多项式运算 求多项式 p(x)=x3-2x-4的根 clc; p=1,0,-2,-4 roots(p) 已知 A=1.2 3 5 0.9; 5 1.7 5 6; 3 9 0 1; 1 2 3 4 , 求矩阵 A 的特征多项式; clc; A=1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4 B=poly(A) ps=poly2str(B,'x)11、 完成下列操作: 求100,999之间能被21整除的数的个数。 clc; m=0; for n=100:999 if n/21=round(n/21) m=m+1; k(m)=n; else end end k,m 实验报告提交格式: 1、 实验题目 2、 实验目的 3、 实验内容