实验3MATLAB矩阵分析与处理和字符串操作实...
MATLAB)课后实验答案
实验一 MATLAB 运算基础
1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 012
2sin 851z e =+
(2) 21ln(2
z x =,其中2
120.45
5i x +⎡⎤=⎢
⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022
a a e e a
z a a --+=
++=--L (4) 22
42011
122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩
,其中t =0:0.5:2.5 解:
4. 完成下列操作:
(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。解:(1) 结果:
(2). 建立一个字符串向量例如:
ch='ABC123d4e56Fg9';则要求结果是:
实验二 MATLAB 矩阵分析与处理
1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤
=⎢
⎥⎣⎦
,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22
E R RS A O S +⎡⎤
=⎢⎥⎣⎦
。 解: M 文件如下;
5. 下面是一个线性方程组:
1
231
1
12340.951110.673450.5211145
6x x x ⎡⎤
⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢
⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣
⎦
ch =
123d4e56g9
(1) 求方程的解。
(2) 将方程右边向量元素b 3改为0.53再求解,并比较b 3的变化和解的相对变化。 (3) 计算系数矩阵A 的条件数并分析结论。 解: M 文件如下:
MATLAB矩阵的分析与处理截图版实验报告
MATLAB矩阵的分析与处理截图版实验报告实验名称:MATLAB矩阵的分析与处理
实验步骤:
(1)打开matlab软件,进行操作界面的基本设置,转到矩阵的工作空间;
(2)创建矩阵并进行矩阵的分析操作,包括将矩阵拆分成2部分:A矩阵和B 矩阵,并运用函数求和、求积、求最大值等操作;
(3)进行矩阵的处理操作,包括矩阵的相乘、运算求值等操作,实现矩阵的转置操作;
(4)并进行图形处理,将计算数据和结果以函数图、标尺图、表格等方式展现出来,并进行分析;
(5)最后,根据实验的结果,总结实验的感悟和体会。
实验结果:
实验过程中,使用了MATLAB矩阵的基本操作,包括矩阵的求和、求积、求最大值、相乘、求值等操作,实现了矩阵的处理,并且将计算数据以图形的方式展示出来,有利于我们更好的理解数据,作出更准确的判断:
我们创建的矩阵如下图所示:
![图1](./矩阵1.jpg)
综上所述,我在本次实验中,掌握了MATLAB矩阵的基本操作,及其运用函数求和求积求最大值、相乘运算求值等方法,也通过图像数据展现来更好的了解矩阵的变化和分析结果。通过实验,我能够更好地掌握MATLAB矩阵的分析与处理方法,从而加深对MATLAB 矩阵的理解,并为以后的操作打下坚实的基础。
(完整版)MATLAB)课后实验答案[1]
1 + e
2 (2) z = 1 ln( x + 1 + x 2 ) ,其中 x = ⎡⎢ 2
⎣-0.45 ⎦
2 2 ⎪t 2 - 2t + 1 2 ≤ t <
3 ⎨
实验一
MATLAB 运算基础
1. 先求下列表达式的值,然后显示 MATLAB 工作空间的使用情
况并保存全部变量。
(1) z = 2sin 850
1
2
2
1 + 2i ⎤
5 ⎥
(3) z = e 0.3a - e -0.3a
sin(a + 0.3) + ln 0.3 + a ,
a = -3.0, - 2.9, L , 2.9, 3.0
3
⎧t 2 0 ≤ t < 1 (4) z = ⎪t 2 - 1
1 ≤ t <
2 ,其中 t=0:0.5:2.5 4
⎩
解:
M 文件:
z1=2*sin(85*pi/180)/(1+exp(2))
x=[2 1+2*i;-.45 5];
z2=1/2*log(x+sqrt(1+x^2))
a=-3.0:0.1:3.0;
3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2)
t=0:0.5:2.5;
z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)
4.完成下列操作:
(1)求[100,999]之间能被21整除的数的个数。
(2)建立一个字符串向量,删除其中的大写字母。
解:(1)结果:
m=100:999;
n=find(mod(m,21)==0);
matlab实验内容
2017年-matlab实验内容
2017年文化素质课 MATLAB实验
实验一、MATLAB基本操与运算基础
【实验目的】
(1)熟悉MATLAB基本环境,掌握MATLAB变量的使用
(2)掌握MATLAB数组的创建
(3)掌握MATLAB数组和矩阵的运算
【实验内容及步骤】
熟悉建立数组的方法:逐个元素输入法、冒号法、特殊方法(使用函数linspace建立)
1、有关向量、矩阵或数组的一些运算
(1)设A=15;B=20;求C=A+B与c=a+b?
(2)设A=[1 2 3;4 5 6;7 8 9],B=[9 8 7;6 5 4;3 2 1];求A*B与A.*B?
(3)设a=10,b=20;求i=a/b=?与j=a\b= ?
(4)设a=[1 -2 3;4 5 -4;5 -6 7]
(5)在MATLAB命令行窗口运行A=[1,2;3,4]+i*[5,6;7,8];看结果如何?如果改成运行A=[1,2;3,4]+i[5,6;7,8],结果又如何?
(6)请写出完成下列计算的指令:
a=[1 2 3;3 4 2;5 2 3],求a^2=?,a.^2=?
(7)有一段指令如下,请思考并说明运行结果及其原因
clear
X=[1 2;8 9;3 6];
X( : ) %转化为列向量
(8)写出下列指令的运行结果
>> A = [ 1 2 3 ]; B = [ 4 5 6 ];
>> C = 3.^A
>> D = A.^B
2、设有矩阵A和B,A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22
MATLAB实验3
实验三函数式M文件和MA TLAB绘图
一、实验目的:
1、掌握基本的绘图命令
2、掌握各种图形注释方法
3、掌握三维图形的绘制方法
4、了解一些特殊图形的绘制
5、了解图形的高级控制技巧
二、相关知识
1基本的绘图命令
1)、常用绘图命令
常用的统计图函数:
在MA TLAB 7中,使用plot函数进行二维曲线图的绘制
>> x=0:0.1:10;
>> y1=sin(x);
>> y2=cos(x-2.5);
>> y3=sqrt(x);
>> plot(x,y1,x,y2,x,y3)
3)、极坐标图形的绘制
MA TLAB提供了polar(x1,x2,s)函数来在极坐标下绘制图形:(参数1角度,参数2极半径,参数3颜色和线性)
>> x= 0:0.01:10;
>> y1=sin(x);
>> y2 = cos(x-2.5);
>> polar(y1,y2,'-r+')
4)、多个图形的绘制方法
subplot函数可以实现多个图形的绘制:
>>x = 0:.1:20;
>>subplot(2,2,1)
>>plot(x,sin(x));
>>subplot(2,2,2);
>>plot(x,cos(x))
5)、曲线的色彩、线型和数据点型
基本的绘图命令都支持使用字符串来给不同的曲线定义不同的线型,颜色和数据点型。
plot(x,sin(x),'-rd')
图形注释
对图形进行注释的方式
MATLAB实验指导书
具有短路作用的逻辑与操作,仅能处理标量 具有短路作用的逻辑或操作,仅能处理标量 元素与操作 元素或操作 逻辑非操作 逻辑异或操作 当向量中的元素有非零元素时,返回真 当向量中的元素都是非零元素时,返回真
上机练习 1:在 MATLAB 中生成一个随机数矩阵(数值范围 0-1000) ,然后再将各元素分 别转换成 double、Sparse、Single、 uint8、uint16、uint32、 uint64、int8、 int16、int32、 int64 等数据类型,然后用 whos 查看各变量的属性。 将转换后的各矩阵进行数学运算,掌握各不同数值类型变量的数学运算规律。 上机练习 2:在 MATLAB 中生成一个随机数矩阵,并判断各元素是否大于平均值,由该 逻辑值构成新的矩阵。提示:求平均值函数 mean 上机练习 3:熟悉稀疏矩阵常用函数的用法。 (表 2-9) 上机练习 4:创建多维数组。 思考题 教材第 132 页练习题 1、2。
∫ (x + x
1 −1
3源自文库
(使用 int 函数,先用 syms 函数定义变量) + x 5 dx 的值。
)
4、求函数 y=(sinx2)3 的微分。(使用 diff 函数,先用 syms 函数定义变量)
实验三
数据类型操作
一、 实验目的 1、掌握在 MATLAB 的基本数据类型:数值类型、逻辑类型和关系运算、字符串。 2、掌握在 MATLAB 中格式化输入输出的方法。 二、 主要仪器及耗材 计算机,MATLAB7.0。 三、 实验内容和步骤 1、MATLAB 的基本数值类型 数据类型 说 double sparse single uint8 uint16 uint32 uint64 int8 int16 int32 int64 明 字节数 取 值 范 围 8 N/A 4 1 2 4 8 1 2 4 8 0~255 0~65 535 0~4 294 967 295 0~18 446 744 073 709 551 615 −128~127 −32 768~32 767 −2 147 483 648~2 147 483 647 −9 223 372 036 854 775 808~9 223 372 036 854 775 807 双精度数据类型 稀疏矩阵数据类型 单精度数据类型 无符号 8 位整数 无符号 16 位整数 无符号 32 位整数 无符号 64 位整数 有符号 8 位整数 有符号 16 位整数 有符号 32 位整数 有符号 64 位整数 2、整数类型数据运算 函 数 说 明 bitand bitcmp bitor bitmax bitxor bitset bitget bitshift 常 ans eps realmax realmin 量 数据位“与”运算 按照指定的数据位数求数据的补码 数据位“或”操作 最大的浮点整数数值,一般为 253−1=9 007 199 254 740 991 数据位“异或”操作 将指定的数据位设置为 1 获取指定的数据位数值 数据位移操作 说 明
matlab实验
实验一 MATLAB基本操作
一、实验目的
1、了解MATLAB应用程序环境
2、掌握MATLAB语言程序的书写格式和MATLAB语言程序的结构。
3、掌握在MATLAB应用环境下编写程序
4、掌握MATALB调试过程,帮助文件
5、掌握MATLAB语言上机步骤,了解运行一个MATLAB程序的方法。
6、本实验可在学习完教材第一章后进行。
二、主要仪器及耗材
PC电脑,MATLAB6.5软件
三、实验内容和步骤
1、MATLAB语言上机步骤:
(1)、进入系统
在C盘或其他盘上找到MATLAB或MATLAB6.5,然后双击其图标打开文件夹。
然后进行编辑源程序->编译->连接->执行程序->显示结果
(2)、常用命令
编辑切换(F6),编译(F9),运行(CTRL+F9),显示结果(ALT+F5)其它常用命令见“附录一”。
2、有下面的MATLAB程序。
(1)数值计算功能:如,求方程 3x4+7x3 +9x2-23=0的全部根
p=[3,7,9,0,-23]; %建立多项式系数向量
x=roots(p) %求根
(2)绘图功能:如,绘制正弦曲线和余弦曲线
x=[0:0.5:360]*pi/180;
plot(x,sin(x),x,cos(x));
(3)仿真功能:如,
请调试上述程序。
3、熟悉MATLAB环境下的编辑命令,具体见附录一。
三、实验步骤
1、静态地检查上述程序,改正程序中的错误。
2、在编辑状态下照原样键入上述程序。
3、编译并运行上述程序,记下所给出的出错信息。
4、按照事先静态检查后所改正的情况,进行纠错。
5、再编译执行纠错后的程序。如还有错误,再编辑改正,直到不出现语法错误为止。
MATLAB课后实验答案[1]
MATLAB)课后实验答案[1]
实验一 MATLAB 运算基础
1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 012
2sin851z e
=+
(2) 21ln(2
z x =+,其中2
120.45
5i x +⎡⎤=⎢
⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a
z a a --+=
++=--
(4) 2242011
122123t t z t t t t t ⎧≤<⎪
=-≤<⎨⎪-+≤<⎩
,其中t =0:0.5:2.5 解:
4. 完成下列操作:
(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。解:(1) 结果:
(2). 建立一个字符串向量例如:
ch='ABC123d4e56Fg9';则要求结果是:
实验二 MATLAB 矩阵分析与处理
1. 设有分块矩阵
333223
22E R A O S ⨯⨯⨯⨯⎡⎤=⎢
⎥⎣⎦
,其中E 、R 、O 、S
分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证2
2E R RS A O S +⎡⎤=⎢
⎥⎣⎦
。
解: M 文件如下;
5. 下面是一个线性方程组:
123d4e56g9
1
2311
12340.9511
10.673450.521114
5
6x x x ⎡⎤
⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢
⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦
(1) 求方程的解。
(2) 将方程右边向量元素b 3改为0.53再求解,并比较b 3的变化和解的相对变化。 (3) 计算系数矩阵A 的条件数并分析结论。 解: M 文件如下:
CH3Matlab矩阵分析与处理1
输出结果:v =
0.7212 -0.6863 -0.0937
0.4443 0.5621 -0.6976
0.5315 0.4615 0.7103
D= -0.0166 0 0
0 1.4801
0
0 0 2.5365
例:用求特征值的方法解方程
3x5 7x4 5x2 2x 18 0
a22
a2n
an1
an2
ann
x1
x
x2
xn
b1
b
b2
bn
线性方程Ax=b的解 x A1b
例:用求逆矩阵的方法解线性方程组
x 2y 3z 5 x 4 y 9z 2 x 8 y 27z 6
Matlab程序:
A=[1 2 3;1 4 9;1 8 27]; b=[5;-2;6]; x=inv(A)*b
(2)构造对角矩阵
diag([1 2 -1 4])
输出结果:
ans = 1000 0200 0 0 -1 0 0004
diag(1:3,1) diag(1:3,-1)
例:建立一个5×5矩阵,然后将第1行乘1第
2行乘2,……
A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15 16 17 18 19 20;21 22 23 24 25] d=diag(1:5) B=d*A
matlab培训教程
MATLAB培训教程
一、引言
MATLAB(矩阵实验室)是一种高性能的数值计算和科学计算软件,广泛应用于工程计算、控制设计、信号处理和通信、图像处理、信号检测、财务建模和分析等领域。MATLAB具有强大的矩阵运算能力、丰富的工具箱和简单易学的编程语言,是科研和工程领域不可或缺的工具。本教程旨在帮助初学者快速掌握MATLAB的基本使用方法,为后续深入研究打下基础。
二、MATLAB安装与启动
1.安装MATLAB
从MATLAB官方网站适合您操作系统的MATLAB安装包。双击安装包,按照提示完成安装。安装过程中,您可以根据需要选择安装路径、组件和工具箱。
2.启动MATLAB
安装完成后,双击桌面上的MATLAB图标或从开始菜单中找到MATLAB并启动。启动后,您将看到一个包含命令窗口、工作空间、命令历史和当前文件夹等区域的界面。
三、MATLAB基本操作
1.命令窗口
>>a=3;
>>b=4;
>>c=a+b;
执行后,变量c的值为7。
2.工作空间
工作空间用于存储当前MATLAB会话中的所有变量。您可以在工作空间中查看、编辑和删除变量。在工作空间窗口中,右键变量名,选择“Open”以查看变量内容。
3.命令历史
命令历史记录了您在命令窗口中输入的所有命令。您可以通过命令历史窗口查看、编辑和重新执行之前的命令。
4.当前文件夹
当前文件夹是MATLAB的工作目录,用于存储和访问MATLAB文件。您可以通过当前文件夹窗口浏览文件系统,打开、创建和保存MATLAB文件。
四、MATLAB编程基础
MATLAB矩阵分析及符号运算
MATLAB矩2阵4 分析及符号运算
2. 数组乘除(,./,.\) ab —— a,b两数组必须有相同的行
和列两数组相应元素相乘。
a=[1 2 3;4 5 6;7 8 9];
b=[2 4 6;1 3 5;7 9 10];
a.*b
ans =
2
8
18
4
15 30
49
72 90
a*b
ans =
25
37
46
❖ A1=subs(S, 'old' ,'new')
MATLAB矩阵分析及符号运算
例如:A =[ a, 2*b]
幂;如a,p都是矩阵,a^p则无意义。
MATLAB矩阵分析及符号运算
13
a=[1,2,3;4,5,6;7,8,9];a^2
ans =30 36 42
66 81 96
102 126 150
※当一个方阵有复数特征值或负实
实验三 MATLAB矩阵分析与处理、m文件
实验三、MATLAB 矩阵分析与处理、函数文件
一、 实验目的
1.掌握生成特殊矩阵的方法。
2.掌握矩阵分析的方法。
3.用矩阵求逆法解线性方程组。
4.理解函数文件的概念。
5.掌握定义和调用MATLAB 函数的方法。
二、 实验内容及结果
1.设有分块矩阵⎥⎦
⎤
⎢⎣⎡=⨯⨯⨯⨯223
2233
3E
A S O R ,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证⎥⎦⎤
⎢⎣⎡+=2
2S O RS R E A 。 程序:
E=eye(3); %建立单位矩阵 R=rand(3,2); %建立随机矩阵 O=zeros(2,3); %建立零矩阵 S=diag([1,2]); %建立对角阵 A=[E,R;O,S]; X1=A*A
X2=[E,R+R*S;O,S*S] 结果:
X1和X2结果相等,即可证明原式成立。
2.产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,且求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好。为什么?
程序:
format rat
H=hilb(5) %建立希尔伯特矩阵
P=pascal(5) %建立帕斯卡矩阵
Hh=det(H) %求行列式的值
Hp=det(P)
Th=cond(H) %求条件数
Tp=cond(P)
结果:
P矩阵的条件数比矩阵H的条件数更接近于1,因此,矩阵P的性能要好于矩阵H。
3.建立一个5×5矩阵,求它的行列式值、迹、秩和范数。
程序:
a=rand(5)
b=det(a) %求行列式的值
c=trace(a) %求迹
d=rank(a) %求秩
Matlab实验报告13
% sa=circle(r,s) 计算圆面积,并画半径为 r 的 s 色圆面
%
if nargin>2
% nargin 表示输入宗量的变量个数,是系统保留变量
error('输入宗量太多。'); % error 把引号的内容在命令窗口前加问号输
end
if nargin==1
s='b';
end
clf
% 清图形窗口
t=0:pi/100:2*pi;
x=r*exp(i*t);
if nargout==0
% nargin 表示输出宗量的变量个数,是系统保留变量
plot(x,s);
else
sa=pi*r*r;
fill(real(x),imag(x),s)
% fill 指令是填充颜色指令,具体看帮助
end
axis('square')
whos
% 观察变量 a,b 在内存中所占字节
2 .已知串数组 a=”This is an example.”, 试将其到序输出。
3 .接上题,试执行 ascii_a=double(a),观察其 ASCII 码,并将 ASCII 码变回字符串。
4 .设 A=”这是一个算例”,重复上面的 2-3。
5 .尝试用直接输入法在命令窗口创建字符串 s ,第一行时“ This string array ” , 第
(完整版)Matlab矩阵分析与处理
1
程序:
E=eye(3); %E为3行3列的单位矩阵
R=rand(3,2); %R为3行2列的随机矩阵
O=zeros(2,3); %O为2行3列的全0矩阵
S=diag([2,3]); %S为对角矩阵
A=[E R;O S];
B1=A^2
B2=[E R+R*S;O S^2] %验证B1=B2,即:A2=[E R+R*S;O S2]结果:
B1=B2,原式得证。
2
程序:
H=hilb(5);
P=pascal(5);
Hh=det(H) %矩阵H的行列式值
Hp=det(P) %矩阵P的行列式值
Th=cond(H) %矩阵H的条件数
Tp=cond(P) %矩阵P的条件数
结果:
所以,矩阵H的性能更好。因为H的条件数Th更接近1。
3
程序:
A=[1 25 45 58 4;45 47 78 4 5;2 58 47 25 9 ;58 15 36 4 96;58 25 12 1 35]; Ha=det(A) %矩阵A的行列式值
Ja=trace(A) %矩阵A的迹
Za=rank(A) %矩阵A的秩
Fa=norm(A) %矩阵A的范数
结果:
4
程序:
A=[-29 6 18;20 5 12;-8 8 5];
[V D]=eig(A) %D为全部特征值构成的对角阵;V的列向量分别为相应的特征向量结果:
5
程序:
A=[1/2 1/3 1/4;1/3 1/4 1/5;1/4 1/5 1/6];
b=[0.95 0.67 0.52]';
X=A\b %方程的解
c=[0.95 0.67 0.53]'; %将b3=0.52改为0.53
Y=A\c %b3改变后的解
实验三 MATLAB矩阵分析
闽 江 学 院 电 子 系 实 验 报 告
学生姓名: 班级: 学 号:
课程: matlab
一、实验题目: MATLAB 矩阵分析 二、实验地点:A210
三、实验目的: 1.掌握MATLAB 矩阵分析
2.掌握字符串、结构数据和单元数据
3.熟悉MATLAB 稀疏矩阵及其操作
四、实验内容:
1、已知23100.778041
45655
3250326
9.54
54
3.14A -⎡⎤⎢⎥-⎢
⎥=⎢⎥
⎢⎥-⎣⎦
,完成下列操作: (1)输出A 在[10,25]范围内的全部元素
(2)取出A 前3行构成矩阵B ,前两列构成矩阵C ,右下角3*2子矩阵构成矩阵D ,B 与C 的乘积构成矩阵E
(3)分别求表达式E
2、产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,求其行列式的值Hh 和Hp 以及它们的条件数Th 和Tp ,判断哪个矩阵性能更好,为什么?
3、已知:
2961820
5128
8
5A -⎡⎤
⎢⎥=⎢⎥⎢⎥-⎣⎦
求A 的特征值及特征向量,并分析其数学意义。
4、求下列矩阵的主对角元素,上三角矩阵,下三角矩阵,逆矩阵,行列式的值,秩,范数,条件数,迹。
(1)
1123
5142
3052
111509
A
-
⎡⎤
⎢⎥
-
⎢⎥
=
⎢⎥
⎢⎥
⎣⎦
(2)
0.43432
8.9421
B
⎡⎤
=⎢⎥
-⎣⎦
5、建立一个字符串向量ch=’ABc123d4e56Fg9’,然后对该向量做以下处理:
(1)统计其中阿拉伯数字的个数
(2)删除字符串中数字,并将字符串中大写字母改为小写字母。
五、实验环境(使用的软硬件):
Matlab6.5
六、实验步骤及操作
1.(1)在matlab命令窗口中输入
MATLAB实验
实验一 MATLAB 集成环境使用与基本操作命令练习
一 实验目的
熟悉MATLAB 语言编程环境;熟悉MATLAB 语言命令 二 实验仪器和设备
装有MATLAB6.0以上计算机一台 三 实验原理
MATLAB 是以复杂矩阵作为基本编程单元的一种程序设计语言。它提供了各种矩阵的运算与操作,并有较强的绘图功能。 1.1 基本规则
1.1.1 一般MATLAB 命令格式为
[输出参数1,输出参数2,……]=(命令名)(输入参数1,输入参数2,……) 输出参数用方括号,输入参数用圆括号如果输出参数只有一个可不使用 括号。
1.1.2 %后面的任意内容都将被忽略,而不作为命令执行,一般用于为代码加注
释。
1.1.3 可用↑、↓键来重现已输入的数据或命令。用←、→键来移动光标进行修改。 1.1.4 所有MATLAB 命令都用小写字母。大写字母和小写字母分别表示不同的
变量。
1.1.5 常用预定义变量,如pi 、Inf 、NaN 、ans
1.1.6 矩阵的输入要一行一行的进行,每行各元素用空格或“,”分开,每行用
“;”分开。如
⎥⎥⎥⎦
⎤
⎢⎢⎢⎣⎡=987654321A
MATLAB 书写格式为A=[1 2 3 ;4 5 6 ;7 8 9] 在MATLABZ 中运行如下程序可得到A 矩阵 a=[1 2 3;4 5 6;7 8 9] a =
1 2 3 4 5 6 7 8 9
1.1.7 需要显示命令的计算结果时,则语句后面不加“;”号,否则要加“;”号。
运行下面两种格式可以看出它们的区别:
a=[1 2 3;4 5 6;7 8 9] a=[1 2 3;4 5 6;7 8 9];
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三 MATLAB 矩阵分析与处理、字符串操作
一、实验目的
1.掌握生成特殊矩阵的方法
2.熟练掌握矩阵的特殊操作及一些特殊函数
3.熟练掌握MATLAB 的字符串操作
4.掌握MATLAB 矩阵的关系运算及逻辑运算法则
二、实验内容
1.特殊矩阵分析与处理操作
常用的产生通用特殊矩阵的函数有:zeros( );ones( );eye( );rand( );randn( ). 下面建立随机矩阵。
(1) 在区间[20,50]内均匀分布的5阶随机矩阵。
(2) 均值为0.6、方差为0.1的5阶随机矩阵。
说明:产生(0 ,1)区间均匀分布随机矩阵使用rand 函数,假设得到了一组满
足(0,1)区间均匀分布的随机数x i ,则若想得到任意[a,b]区间上均匀分布的随机数,只需要用i i x a b a y )(-+=计算即可。产生均值为0、方差为1的标准正态分布随机矩阵使用randn 函数,假设已经得到了一组标准正态分布随机数x i ,如果想要更一般地得到均值为i i x y ,、σμσμ+=可用的随机数方差为2计算出来。针对本例,命令如下:
x=20+(50-20)*rand(5)
y=0.6+sqrt(0.1)*randn(5)
建立对角阵。
diag( )函数除了可以提取矩阵的对角线元素以外,还可以用来建立对角矩阵。 设V 为具有m 个元素的向量,diag(V)将产生一个m*m 对角矩阵,其主对角线元素即为向量V 的元素。例如:
diag([1,2,-1,4])
ans= 40000
10000
20000
1 diag(V)函数也有另一种形式diag(V ,k),其功能是产生一个n*n(n=m+|k|)的对角矩阵,其第k 条对角线的元素即为向量V 的元素。例如:
diag(1:3,-1)
ans=03000
0200
0010
000
矩阵的旋转
函数rot90(A,k)表示将矩阵A 以90度为单位对矩阵按逆时针方向进行k 倍的旋转。
rem 与mod 函数的区别
练习:
1> 写出完成下列操作的命令。
(1)建立3阶单位矩阵A 。eye(3)
(2)建立5*6随机矩阵A ,其元素为[100,200]范围内的随机整数。
A=100+(200-100)*rand(5,6)
(3)产生均值为1,方差为0.2的500个正态分布的随机数。
B=1+sqrt(0.2)*randn(50,10)
(4)产生和A 同样大小的零矩阵。
zeros(size(A))
(5)将矩阵A 主对角线的元素加30。
B=eye(5,6)*30
A+B
(6)从矩阵A 提取主对角线元素,并以这些元素构成对角阵。
B=diag(diag(A)’) 注:转置是把列向量转变成行向量。
2> 先建立5*5的矩阵A ,然后将A 的第一行元素乘以1,第二行元素乘以2,…,第五行乘以5。(提示:用一个对角矩阵左乘一个矩阵时,相当于用对角阵的
第一行元素乘以该矩阵的第一行,用对角阵的第二行乘以该矩阵的第二行,…,依次类推。因此,只需按要求构造一个对角矩阵D ,并用D 左乘A 即可。如果要对A 的每列元素乘以同一个数,可以用一个对角阵右乘矩阵A 。)矩阵A 中的元素自已随便建立。
A=rand(5)
D=diag(1:5)
D*A
3> 使用函数,实现方阵左旋90度或右旋90度的功能。原矩阵为A ,A 左旋后得到B ,右旋后得到C 。
⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=129631185210741A ,⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=1011
12789456123321654987121110,C B B=rot90(A)
C=rot90(A,3) 4> 将矩阵⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡--=90
1511250324153211A 用flipud 、fliplr 、rot90、diag 、triu 和tril 函数进行操作。 5> 将矩阵⎥⎦
⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡=03410,61195,71521c b a 组合成两个新矩阵。 (1) 组合成一个3*4的矩阵,第一行为按列顺序排列的a 矩阵元素,第二
行为按列顺序排列的b 矩阵元素,第三行为按列顺序排列的c 矩阵元
素,即⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡043106911572151 a1=reshape(a,1,4)
b1=reshape(b,1,4)
c1=reshape(c,1,4)
d=[a1;b1;c1]
(2)按照a,b,c的列顺序组合成一个行矢量,即[1 15 2 7 5 11 9 6 10 3 4 0] d=[a1 b1 c1]
6>输入a=[2.59 –1.49 3.1 -0.2],分别使用数学函数ceil、fix、floor、round
查看各种取整的运算结果。
7> 在[0,3π]区间,求y=sin(x)的值。(从函数值着手进行处理)要求:
(1)消去负半波,即(π,2π)区间内的函数值置0。
(2)(π/3, 2π/3 )和( 7π/3, 8π/3 )区间内取值均为sin π/3 。
2、字符串操作
建立一个字符串向量,然后对该向量做如下处理:
(1)取第1~5个字符组成的子字符串。
(2)将字符串倒过来重新排列。
(3)将字符串中的小写字母变成相应的大写字母,其余字符不变。
(4)统计字符串中小写字母的个数。
命令如下:
ch=‘ABc123d4e56Fg9’;
subch=ch(1:5) %取子字符串
revch=ch(end:-1:1) %将字符串倒排
k=find(ch>=‘a’&ch<=‘z’) %找小写字母的位置
ch(k)=ch(k)-(‘a’-’A’) %将小写字母变成相应的大写字母char(ch)
length(k) %统计小写字母的个数
练习:
1.输入字符串变量a为“hello”,将a的每个字符向后移4个,例如“h”变为
“l”,然后再逆序排放赋给变量b。
a=’hello’
a=abs(a)+4或者a(1:5)=a(1:5)+4则直接省略char(a)的过程。或者a=a(1:5)+4不能省略下一个语句
a=char(a)
b=a(end:-1:1)