实验3MATLAB矩阵分析与处理和字符串操作实...

合集下载

MATLAB)课后实验答案

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矩阵的分析与处理截图版实验报告实验名称:MATLAB矩阵的分析与处理

实验步骤:

(1)打开matlab软件,进行操作界面的基本设置,转到矩阵的工作空间;

(2)创建矩阵并进行矩阵的分析操作,包括将矩阵拆分成2部分:A矩阵和B 矩阵,并运用函数求和、求积、求最大值等操作;

(3)进行矩阵的处理操作,包括矩阵的相乘、运算求值等操作,实现矩阵的转置操作;

(4)并进行图形处理,将计算数据和结果以函数图、标尺图、表格等方式展现出来,并进行分析;

(5)最后,根据实验的结果,总结实验的感悟和体会。

实验结果:

实验过程中,使用了MATLAB矩阵的基本操作,包括矩阵的求和、求积、求最大值、相乘、求值等操作,实现了矩阵的处理,并且将计算数据以图形的方式展示出来,有利于我们更好的理解数据,作出更准确的判断:

我们创建的矩阵如下图所示:

![图1](./矩阵1.jpg)

综上所述,我在本次实验中,掌握了MATLAB矩阵的基本操作,及其运用函数求和求积求最大值、相乘运算求值等方法,也通过图像数据展现来更好的了解矩阵的变化和分析结果。通过实验,我能够更好地掌握MATLAB矩阵的分析与处理方法,从而加深对MATLAB 矩阵的理解,并为以后的操作打下坚实的基础。

(完整版)MATLAB)课后实验答案[1]

(完整版)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实验内容

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

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实验指导书

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实验

实验一 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. 先求下列表达式的值,然后显示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

CH3Matlab矩阵分析与处理1
[v,D]=eig(A)
输出结果: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的基本使用方法,为后续深入研究打下基础。

二、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矩阵分析及符号运算
0.4498 + 0.7623i 0.5526 + 0.2068i 0.6555 -0.3487i 1.0185 + 0.0842i 1.2515 + 0.0228i 1.4844 - 0.0385i 1.5873 - 0.5940i 1.9503 - 0.1611i 2.3134 + 0.2717i
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矩阵分析与处理、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

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矩阵分析与处理

(完整版)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

一、实验题目: 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 语言编程环境;熟悉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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

相关文档
最新文档