实验一 matlab 的开发环境与基本运算一、实验学时 4学时(课内2学时,课外2学时) 二、实验类型 验证性实验 三、实验目的1、熟悉matlab 的开发环境2、掌握矩阵、变量、表达式的各种运算 四、所需设备及软件 1、安装了windows xp/win7/win8/win10的计算机 2、matlab 开发工具 五、实验基本原理1、熟悉MATLAB 环境:MATLAB 桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器。
2、掌握MATLAB 常用命令表1 MATLAB 常用命令3、MATLAB 变量与运算符 1)变量命名规则2)MATLAB 的各种常用运算符表2 MATLAB 算术运算符 表3 MATLAB 关系运算符表4 MATLAB 逻辑运算符 表5 MATLAB 特殊运算4、MATLAB 的一维、二维数组的寻访(约定大写字母为矩阵)表6 子数组访问与赋值常用的相关指令格式指令 含义指令 含义 A=a 把标量a 赋值给A 的每个元素 a+A 标量a 分别与A 元素之和 a-A 标量a 分别与A 元素之差a.*A 标量a 分别与A 元素之积 a *A 标量a 分别与A 每个元素之积 A.^n A 的每个元素自乘n 次 A ^n A 为方阵,自乘n 次 A.*B 对应元素相乘 A*B 内维相同,矩阵相乘 指令 含义指令 含义Exp(A) 以自然数e 为底,分别以A 的元素为指数,求幂log(A) 对A 的各元素求对数 Sqrt(A) 对A 的各元素求平方根 Diag(A ) A 矩阵的对角线元素 Rank 矩阵的秩Det 方阵的行列式值 Ones 产生全1的数组或矩阵 Zeros 产生全0的数组或矩阵 Rand 产生均匀分布的随机数组或矩阵 Randn 产生正态分布的随机数组 Size 返回指定矩阵的行数和列数 Rot90 矩阵逆时针旋转90度 Factor因式分解Expand展开表达式六、实验内容1、建立一个以学号命名的文件夹;将该文件夹添加到matlab 的路径管理器中2、启动matlab ,熟悉 命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器3、学习使用help 命令4、使用窗口命令:clc 、close 、close all 、clear ,了解其功能和作用,观察各个窗口[command window 、command history 、workspace]的变化结果。
要求用文字说明。
5、练习“五”中各运算符、函数的应用。
注意观察运算结果。
在实验报告中必须完成以下内容。
(1)矩阵运算12344347873657A -⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,131203327B -⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求下列表达式的值:1)A+3==B和A-B+I(单位矩阵)2)A*B和A.*B3)A^4和A.^44)A/B和B/A5)[A,B]和[A([1,3],:);B^3](2)另一矩阵运算A=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡25242322212019181716151413121110987654321, B=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡--111347942396171631)计算它们的乘积C2)矩阵C右下角3*2子矩阵赋值给D3)查看matlab工作空间的使用情况(3)创建一个二维数组A(4×8)。
查询数组A第4行、第5列的元素;查询数组A第6行的所有元素;查询数组A第8列的所有元素。
(4)生成下列矩阵,取出方框内的数组元素。
(5)随机生成一个2×6的矩阵,写出实现矩阵左旋(以第1行第1列为中心逆时针)90°的命令。
(6)使用load命令装载数据文件data.mat,使用size命令返回矩阵的行数和列数;使用help命令查看max,min,sum的用法,并运用三个函数进行运算。
(7)对于BAX=,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B,求解X。
(8)因式分解:(1)6555234-++-xxxx;(2)f=x9-1(9)展开表达式f=(x+1)5和f=sin(x+y)(10)求[100,999]之间能被31整除的数的个数。
提示:先利用冒号表达式,再利用find和length函数。
(11)其他练习(学生自己设计):主要是针对前面的练习中没有用到“五”的运算符和函数部分需要自己设计进行练习。
七、实验结果1)将“六”中每个内容认真完成以后,结果复制到这部分。
2)提交实验报告,命名“实验一+学号+姓名”5.(1)1).A+3=B>> A=[12,34,-4;34,7,87;3,65,7;]A =12 34 -434 7 873 65 7>> B=[1,3,-7;2,0,3;3,-2,7;]B =1 3 -72 0 33 -2 7>> A+3==Bans =0 0 00 0 00 0 0A-B+I(单位矩阵)A-B+[1,1,1;1,1,1;1,1,1;]ans =12 32 433 8 851 68 12).A*Bans =68 44 -10309 -72 392154 -5 223A.*Bans =12 102 2868 0 2619 -130 493)。
A^4ans =8542540 6061712 205340129843130 48504686 1619523816741544 13577686 40027342A.^4ans =20736 1336336 256133**** **** 5728976181 17850625 24014)。
A/Bans =-4.3158 43.3684 -23.4737-9.4211 48.1579 -17.6316-17.6316 98.7368 -58.9474B/Aans =0.2772 -0.0603 -0.09240.0617 0.0403 -0.03660.0205 0.0855 -0.05075)[A,B]和[A([1,3],:);B^3][A,B]ans =12 34 -4 1 3 -734 7 87 2 0 33 65 7 3 -2 7[A([1,3],:);B^3]ans =12 34 -43 65 7-121 52 -18032 19 -2876 16 -1(2)1)计算它们的乘积CA=[1:5;6:10;11:15;16:20;21:25;]A =1 2 3 4 56 7 8 9 1011 12 13 14 1516 17 18 19 2021 22 23 24 25>> B=[3,0,16;17,-6,9;0,23,-4;9,7,0;4,13,11;]B =3 0 1617 -6 90 23 -49 7 04 13 11C=A*BC =93 150 77258 335 237423 520 397588 705 557753 890 7172)。
D=C(3:5,2:3)D =520 397705 557890 7173)。
(3)创建一个二维数组A(4×8)。
查询数组A第4行、第5列的元素;查询数组A第1行的所有元素;查询数组A第2列的所有元素。
A=rand(4,8)A =0.8147 0.6324 0.9575 0.9572 0.4218 0.6557 0.6787 0.65550.9058 0.0975 0.9649 0.4854 0.9157 0.0357 0.7577 0.17120.1270 0.2785 0.1576 0.8003 0.7922 0.8491 0.7431 0.70600.9134 0.5469 0.9706 0.1419 0.9595 0.9340 0.3922 0.0318查询4行5列A(4,5)ans =0.9595查询数组A第1行的所有元素;A(1,:)ans =0.8147 0.6324 0.9575 0.9572 0.4218 0.6557 0.6787 0.6555查询数组A第2列的所有元素。
A(:,2)ans =0.63240.09750.27850.5469(4)生成下列矩阵,取出方框内的数组元素。
A=[1:5;10,9,8,7,6;11:15;16:20;21:25;]A =1 2 3 4 510 9 8 7 611 12 13 14 1516 17 18 19 2021 22 23 24 25A(2,2:3)ans =9 8A(2:4,4)ans =71419A(4:5,1:3)ans =16 17 1821 22 23(5)随机生成一个2×6的矩阵,写出实现矩阵左旋(以第1行第1列为中心逆时针)90°的命令。
A=rand(2,6)A =0.8147 0.1270 0.6324 0.2785 0.9575 0.15760.9058 0.9134 0.0975 0.5469 0.9649 0.9706rot90(A)ans =0.1576 0.97060.9575 0.96490.2785 0.54690.6324 0.09750.1270 0.91340.8147 0.9058(6)使用load命令装载数据文件data.mat,使用size命令返回矩阵的行数和列数;使用help 命令查看max,min,sum的用法,并运用三个函数进行运算。
A=rand(3,6)A =0.8147 0.9134 0.2785 0.9649 0.9572 0.14190.9058 0.6324 0.5469 0.1576 0.4854 0.42180.1270 0.0975 0.9575 0.9706 0.8003 0.9157>> load data.matsize(A)ans =3 6 sum(A)ans =2.4074 1.8188 2.1796 1.2189 1.0148 0.9668min(A); min(A)ans =0.6557 0.0357 0.6787 0.1712 0.0318 0.0462>> max(A)ans =0.9595 0.9340 0.7577 0.6555 0.7060 0.8235(7)对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
x=A\B 是方程A*X =B 的解,而X=B/A 是方程X*A=B 的解。
注意:(1)左除A\B 必须保证矩阵A 、B 的行数相等;右除(/):A 、B 两矩阵的列数相等。
(2)A 可逆X=A\B>> A=[4,9,2;7,6,4;3,5,7;]A =4 9 27 6 43 5 7>> B=[37;26;28;]B =372628X=A\BX =-0.51184.04271.3318(8)因式分解:(1)6555234-++-x x x x ;(2)f=x 9-1factor(表达式) 因式分解(1)>>syms x>> p=(x^4-5*x^3+5*x^2+5*x-6)p =x^4 - 5*x^3 + 5*x^2 + 5*x - 6>> factor(p)ans =(x - 1)*(x - 2)*(x - 3)*(x + 1)(2)>> syms x>> f=x^9-1f =x^9 - 1>> factor(f)ans =(x - 1)*(x^2 + x + 1)*(x^6 + x^3 + 1) (9)展开表达式f=(x+1)5和f=sin(x+y) expand(表达式)展开多项式(1).>> syms x>> f=(x+1)^5f =(x + 1)^5>> p=expand(f)p =x^5 + 5*x^4 + 10*x^3 + 10*x^2 + 5*x + 1 (2).>> syms x>> syms y>> f=sin(x+y)f =sin(x + y)>> p=expand(f)p =cos(x)*sin(y) + cos(y)*sin(x)(10)求[100,999]之间能被21整除的数的个数。