实验二Matlab矩阵的初等运算与其答案
百度文库 - 好好学习,天天向上
-1 实验二 Matlab矩阵的初等运算
实验目的:掌握Matlab的运算方法
实验内容:
在Matlab命令窗口输入:
H1=ones(3,2) H2=zeros(2,3) H3=eye(4)
观察以上各输入结果,并在每式的后面标注其含义。
>> format compact
>> H1=ones(3,2),disp('3行2列的全1矩阵')
H1 =
1 1
1 1
1 1
3行2列的全1矩阵
>> H2=zeros(2,3),disp('2行3列的全零矩阵')
H2 =
0 0 0 0 0 0
2行3列的全零矩阵
>> H3=eye(4),disp('4阶的单位矩阵')
H3 =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
4阶的单位矩阵
已知123456Q,789P,10R,3S,试把这四个矩阵组合为一个大矩阵,看看有几种组合方式?8
>> format compact
>> Q=[1 2 3;4 5 6];P=[7 8 9];R=[1;0]; S=3;
>> [Q,R;P,S]
ans =
1 2 3 1
4 5 6 0
7 8 9 3
>> [R,Q;P,S]
ans =
1 1 2 3
0 4 5 6
7 8 9 3
>> [Q,R;S,P]
ans =
1 2 3 1
4 5 6 0
3 7 8 9
>> [R,Q;S,P]
ans =
1 1 2 3 0 4 5 6
3 7 8 9
>> [S,P;R,Q]
ans =
3 7 8 9
1 1 2 3
0 4 5 6
>> [S,P;Q,R]
ans =
3 7 8 9
1 2 3 1
4 5 6 0
>> [P,S;R,Q]
ans =
7 8 9 3
1 1 2 3
0 4 5 6
>> [P,S;Q,R]
ans =
7 8 9 3 百度文库 - 好好学习,天天向上
-2 1 2 3 1 4 5 6 0 建立一个字符串向量,删除其中的大写字母。提示:利用find函数和空矩阵。
>> a='ABCDefgijKLMN123'
a =
ABCDefgijKLMN123
>> k=find(a>='A'&a<='Z')
k =
1 2 3 4 10 11 12 13
>> a(k)=[]
a =
efgij123
在命令窗中分别输入who和whos,观察检查结果是否与所得结果相符。
>> who
Your variables are:
H1 H2 H3 P Q R S a ans k
>> whos
Name Size Bytes Class Attributes
H1 3x2 48 double
H2 2x3 48 double
H3 4x4 128 double
P 1x3 24 double
Q 2x3 48 double
R 2x1 16 double
S 1x1 8 double
a 1x8 16 char
ans 3x4 96 double
k 1x8 64 double
已知矩阵131254709716282113S,计算以下表达式的结果,体会*,^,sqrtm,expm与.*,.^,sqrt,exp的区别。
(1) r1=S^2, r2=2.^S , r3=S.^2,
(2) u1=sqrtm(S), v1=u1*u1
(3) u2=sqrt (S), v2=u2.*u2
(4) u3=expm(S), v3=logm(u3)
(5) u4=exp(S), v4=log(u4) 百度文库 - 好好学习,天天向上
-3 >> S=[1 3 12 5;4 7 0 9;7 1 6 2;8 2 11 3]
S =
1 3 12 5
4 7 0 9
7 1 6 2
8 2 11 3
>> r1=S^2
r1 =
137 46 139 71
104 79 147 110
69 38 142 62
117 55 195 89
>> r2=2.^S
r2 =
2 8 4096 32
16 128 1 512
128 2 64 4
256 4 2048 8
>> r3=S.^2
r3 =
1 9 144 25
16 49 0 81
49 1 36 4
64 4 121 9
>> u1=sqrtm(S)
u1 =
+ - - -
+ + + -
- + + +
- + - +
>> v1=u1*u1
v1 =
- + - +
+ - - +
+ - + -
+ - -
>> u2=sqrt (S)
u2 =
0
百度文库 - 好好学习,天天向上
-4 >> u3=expm(S)
u3 =
+008 *
>> v3=logm(u3)
v3 =
>> u4=exp(S)
u4 =
+005 *
>> v4=log(u4)
v4 =
1 3 12 5
4 7 0 9
7 1 6 2
8 2 11 3
对中定义的矩阵S完成以下变换,输出变换后的矩阵:
(1) 将矩阵S上下翻转
(2) 将矩阵S左右翻转
(3) 将矩阵S重组为一个2行8列的矩阵
(4) 将矩阵S整体逆时针旋转90°
(5) 提取矩阵S对角线上的元素
(6) 建立一个对角阵T,对角线上的元素为S对角线上的元素,其余元素为0
(7) 取出矩阵S的左下三角部分
(8) 取出矩阵S的右上三角部分
(9) 把矩阵S的元素按列取出排成一行
>> S=[1 3 12 5;4 7 0 9;7 1 6 2;8 2 11 3]
S =
1 3 12 5
4 7 0 9
7 1 6 2
8 2 11 3 >> flipud(S)
ans =
8 2 11 3
7 1 6 2
4 7 0 9
1 3 12 5
>> fliplr(S) 百度文库 - 好好学习,天天向上
-5 ans =
5 12 3 1
9 0 7 4
2 6 1 7
3 11 2 8
>> reshape(S,2,8)
ans =
1 7 3 1 12 6 5 2
4 8 7 2 0 11 9 3
>> rot90(S)
ans =
5 9 2 3
12 0 6 11
3 7 1 2
1 4 7 8
>> diag(S)
(完整版)MATLAB)课后实验[1]
(完满版)MATLAB)课后实验[1]
实验一 MATLAB 运算基础
1. 先求以下表达式的值,尔后显示 MATLAB 工作空间的使用情
况并保存全部变量。
(1) 0
2sin 85
z
1 2
1 e
(2) 1
2
z ln( x 1 x ) ,其中
2
2 x 2 1 2i
5
(3) a
e e a
z sin( a 0.3) ln , a 3.0, 2.9, L , 2.9,
3
2 2
2
t 0 t 1
(4) 2
z t 1 1 t 2
4
2
t 2t 1 2 t 3 ,其中
解:
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;
z3=(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)(完满版)MATLAB)课后实验[1]
4. 完成以下操作:
(1) 求[100,999] 之间能被 21 整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:
m=100:999;
n=find(mod(m,21)==0);
length(n)
ans =
43
(2). 建立一个字符串向量 比方:
ch='ABC123d4e56Fg9'; 那么要求结果是:
ch='ABC123d4e56Fg9';
k=find(ch>='A'&ch<='Z');
ch(k)=[]
ch =(完满版)MATLAB)课后实验[1]
123d4e56g9
实验二 MATLAB矩阵解析与办理
Matlab与数学实验(第二版)(张志刚 刘丽梅 版) 习题答案
Matlab与数学实验(第二版)(张志刚 刘丽梅 版) 习题答案
(1,3,4,5章)
第一章
d1zxt1
用format的不同格式显示2*Pi,并分析格式之间的异同。
a=2*pi ;
disp('***(1) 5位定点表示 2*pi: ')
format short , a % 5位定点表
disp('***(2) 15位定点表示 2*pi: ')
format long , a % 15位定点表
disp('***(3) 5位浮点表示 2*pi: ')
format short e , a % 5位浮点表示
disp('***(4) 15位浮点表示 2*pi: ')
format long e , a % 15位浮点表示
disp('***(5) 系统选择5位定点和5位浮点中更好的表示 2*pi: ')
format short g , a % 系统选择5位定点和5位浮点中更好的表示
disp('***(6) 系统选择15位定点和15位浮点中更好的表示 2*pi: ')
format long g , a % 系统选择15位定点和15位浮点中更好的表
disp('***(7) 近似的有理数的表示 2*pi: ')
format rat , a % 近似的有理数的表
disp('***(8) 十六进制的表示: ')
format hex , a % 十六进制的表
disp('***(9) 用圆角分(美制)定点表示 2*pi: ')
MATLAB程序设计与应用(刘卫国编)课后实验答案
实验一 MATLAB运算基础
1. 先求以下表达式的值,然后显示MATLAB工作空间的利用情形并保留全数变量。
(1) 0122sin851ze
(2) 221ln(1)2zxx,其中2120.455ix
(3) 0.30.330.3sin(0.3)ln,3.0,2.9,,2.9,3.022aaeeazaa
(4) 2242011122123ttzttttt,其中t=0::
解:
M文件:
z1=2*sin(85*pi/180)/(1+exp(2))
x=[2 1+2*i; 5];
z2=1/2*log(x+sqrt(1+x^2))
a=::;
z3=(exp.*a)-exp.*a))./2.*sin(a++log(+a)./2)
t=0::;
z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)
运算结果:
z1=2*sin(85*pi/180)/(1+exp(2)) x=[2 1+2*i; 5];
z2=1/2*log(x+sqrt(1+x^2))
a=::;
z3=(exp.*a)-exp.*a))./2.*sin(a++log(+a)./2)
t=0::;
z4=(t>=0&t<1).*(t.^2)+(t>=1&t<2).*(t.^2-1)+(t>=2&t<3) .*(t.^2-2*t+1)
z1 =
z2 =
- +
+ -
z3 =
Columns 1 through 4
+ + + +
Columns 5 through 8
+ + + +
Columns 9 through 12
MATLAB矩阵实验报告
MATLAB程序设计实验
班级:电信1104班 姓名:龙刚 学号:1404110427
实验内容:了解MATLAB基本使用方法和矩阵的操作
一.实验目的
1.了解MATLAB的基本使用方法。
2.掌握MATLAB数据对象的特点和运算规则。
3.掌握MATLAB中建立矩阵的方法和矩阵的处理方法。
二.实验内容
1. 浏览MATLAB的start菜单,了解所安装的模块和功能。
2. 建立自己的工作目录,使用MATLAB将其设置为当前工作目录。使用path命令和工作区浏览两种方法。
3. 使用Help帮助功能,查询inv、plot、max、round等函数的用法和功能。使用help命令和help菜单。
4. 建立一组变量,如x=0:pi/10:2*pi,y=sin(x),在命令窗口显示这些变量;在变量窗口打开这些变量,观察其值并使用绘图菜单绘制y。
5. 分多行输入一个MATLAB命令。
6. 求表达式的值
6210.3424510w
22tanbcaeabcxbca,a=3.5,b=5,c=-9.8
220.5ln1tzett,21350.65it
7.已知
1540783617A,831253320B
求
A+6B,A2-B+I
A*B,A.*B,B*A
A/B,B/A
[A,B],[A([1,3], :); B^2]
8.已知
23100.7780414565532503269.54543.14A
输出A在[10,25]范围内的全部元素
取出A的前三行构成矩阵B,前两列构成矩阵C,右下角3x2子矩阵构成矩阵D,B与C的乘积构成矩阵E
分别求表达式E
9.已知
2961820512885A
MATLAB程序的设计与应用(刘卫国编)课后实验答案
实验一 MATLAB运算基础
1. 先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。
(1) 0122sin851ze
(2) 221ln(1)2zxx,其中2120.455ix
(3) 0.30.330.3sin(0.3)ln,3.0,2.9,,2.9,3.022aaeeazaaL
(4) 2242011122123ttzttttt,其中t=0:0.5:2.5
解:
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;
z3=(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)
运算结果: 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;
z3=(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)
z1 =
0.2375
z2 =
0.7114 - 0.0253i 0.8968 + 0.3658i
0.2139 + 0.9343i 1.1541 - 0.0044i
MATLAB实验报告
1 实验二 MATLAB语言基础
一、实验目的
基本掌握MATLAB向量矩阵数组的生成及基本运算(区分数组运算和矩阵预算)、常用的数学函数。了解字符串的操作。
二、实验内容
(1) 向量的生成和运算。
(2) 矩阵的创建、引用和运算。
(3) 多维数组的创建和运算。
(4) 字符创的操作。
三、实验步骤
1. 向量的生成和运算
1) 向量的生成
<1>、直接输入法
<2> 冒号表达式法
<3> 函数法: 2 Linspace()是线性等分函数,logspace()是对数等分函数。
2) 向量的运算
1> 维数相同的行、列向量之间可以相加减,标量可以与向量直接相乘除。
2> 向量的点积与叉积运算
E1和E2虽然表达式相同,但E1是标量,E2是矩阵。
2. 矩阵的创建、引用和运算
1) 矩阵的创建和引用
矩阵是由m*n元素构成的矩形结构,行向量和列向量是矩阵的特殊形式。
1> 直接输入法:
3
2> 抽取法:包括单下标抽取和全下表抽取两种方式,且两种方式抽取的元素都必须以小括号括起来。
3> 函数法:利用ones(m;n)创建全1矩阵,zeros()创建全0矩阵,eyes()创建单位矩阵等等。
4> 拼接法: 4
纵向拼接
横向拼接
5> 利用拼接函数cat()repmat()和变形函数reshape()
>> A1=[1 2 3;9 8 7 ;4 5 6];A2=A1.';
>> cat(1,A1,A2) 沿行向拼接
ans =
1 2 3
9 8 7
4 5 6
1 9 4
2 8 5
3 7 6
>> cat(2,A1,A2) 沿列向拼接
ans =
1 2 3 1 9 4
MATLAB的矩阵运算
MATLAB的矩阵运算阅读⽬录
MATLAB是基于矩阵和数组计算的,可以直接对矩阵和数组进⾏整体的操作,MATLAB有三种矩阵运算类型:矩阵的代数运算、矩阵的关系运算和
矩阵的逻辑运算。其中,矩阵的代数运算应⽤最⼴泛。本⽂主要讲述矩阵的基本操作,涉及矩阵的创建、矩阵的代数运算、关系运算和逻辑运算等基本知识。矩阵的创建直接输⼊法创建矩阵
% 1. 直接输⼊法创建矩阵>> A = [1,2,3; 4,5,6; 7,8,9]A =
1 2 3
4 5 6
7 8 9函数法创建矩阵简单矩阵
% 2. 函数法创建矩阵
>> zeros(3)
% ⽣成3x3的全零矩阵
ans =
0 0 0
0 0 0
0 0 0
>> zeros(3,2)
% ⽣成3x2的全零矩阵
ans =
0 0
0 0
0 0
>> eye(3)
% ⽣成单位矩阵
ans =
1 0 0
0 1 0
0 0 1
>> ones(3)
% ⽣成全1矩阵
ans =
1 1 1 1 1 1
1 1 1
>> magic(3)
% ⽣成3x3的魔⽅阵
ans =
8 1 6
3 5 7
4 9 2
>> diag(1:3)
% 对⾓矩阵
ans =
1 0 0
0 2 0
0 0 3
>> diag(1:5,1)
% 对⾓线向上移1位矩阵
ans =
0 1 0 0 0 0
0 0 2 0 0 0
0 0 0 3 0 0
0 0 0 0 4 0
0 0 0 0 0 5
0 0 0 0 0 0
>> diag(1:5,-1)
% 对⾓线向下移1位矩阵
ans =
0 0 0 0 0 0
1 0 0 0 0 0
0 2 0 0 0 0
0 0 3 0 0 0
0 0 0 4 0 0
0 0 0 0 5 0
>> triu(ones(3,3))
% 上三⾓矩阵
ans =
1 1 1
0 1 1
0 0 1
>> tril(ones(3,3))
% 下三⾓矩阵
ans =
1 0 0
1 1 0
1 1 1 随机矩阵
matlab2022实验2参考答案
matlab2022实验2参考答案
报告名称:MATLAB试验二符号计算
姓名:学号:专业:班级:
MATLAB实验二MATLAB符号计算
试验报告说明:
1做试验前请先预习,并独立完成试验和试验报告。
2报告解答方式:将MATLAB执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅。3在页眉上写清报告名称,学生姓名,学号,专业以及班级。3报告以Word文档书写。
一目的和要求
1熟练掌握MATLAB符号表达式的创建2熟练掌握符号表达式的代数运算3掌握符号表达式的化简和替换4熟练掌握符号微积分5熟练掌握符号方程的求解
二试验内容
1多项式运算(必做)
1.1解方程:f(某)=某^4-10某某^3+34某某^2-50某某+25=0
%采用数值方法:>>f=[1-1034-5025];>>root(f)
%采用符号计算方法:
f1=ym('某^4-10某某^3+34某某^2-50某某+25')olve(f1) 1.2求有理分式R=(3某^3+某)(某^3+2)/((某^2+2某-2)(5某^3+2某^2+1))的商多项式和余多项式.
a1=[3010];a2=[1002];a=conv(a1,a2);b1=[12-2];b2=[5201];b=conv(b1,b2);
[p,r]=deconv(a,b);%注意:ab秩序不可颠倒。
%reidue用于实现多项式的部分分式展开,此处用deconv函数
报告名称:MATLAB试验二符号计算
姓名:学号:专业:班级:%%此题,有同学程序如下:
某1=[3010],某2=[1002],某3=[12-2],某4=[5201]某5=conv(某1,某2)
[y6,r]=deconv(某5,某3)R=deconv(y6,某4)
%%这种方法较第一种解法缺点:在除法运算中,会产生误差,故此题应先将分母的多项式相乘后,再与分子部分的多项式进行运算。
MATLAB数学实验课后答案
整理为word格式 数学实验MATLAB参考答案(重要部分)
P20,ex1
(5) 等于[exp(1),exp(2);exp(3),exp(4)]
(7) 3=1*3, 8=2*4
(8) a为各列最小值,b为最小值所在的行号
(10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture
(11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10)
(12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10)
P20, ex2
(1)a, b, c的值尽管都是1, 但数据类型分别为数值,字符, 逻辑, 注意a与c相等, 但他们不等于b
(2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码
P20,ex3
>> r=2;p=0.5;n=12;
>> T=log(r)/n/log(1+0.01*p)
T =
11.5813
P20,ex4
>> x=-2:0.05:2;f=x.^4-2.^x;
>> [fmin,min_index]=min(f)
fmin =
-1.3907 %最小值
min_index =
54 %最小值点编址
>> x(min_index)
ans =
整理为word格式 0.6500 %最小值点
>> [f1,x1_index]=min(abs(f)) %求近似根--绝对值最小的点
f1 =
0.0328
x1_index =
24
>> x(x1_index)
ans =
-0.8500
>> x(x1_index)=[];f=x.^4-2.^x; %删去绝对值最小的点以求函数绝对值次小的点
>> [f2,x2_index]=min(abs(f)) %求另一近似根--函数绝对值次小的点
MATLAB应用实验指导书1234-结果
MATLAB语言实验指导书
中国矿业大学信息与电气工程学院
2014年3月
实验一 MATLAB工作环境熟悉及基本运算
一、实验目的:熟悉MATLAB的工作环境,学会使用MATLAB进行一些简单的运算。掌握基本的矩阵运算及常用的函数。
二、实验内容:MATLAB的启动和退出,熟悉MATLAB的桌面(Desktop),包括菜单(Menu)、工具条 (Toolbar)、命令窗口(Command Window)、历史命令窗口、工作空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。
三、实验步骤:
1、启动MATLAB,熟悉MATLAB的桌面。
2、在命令窗口执行命令完成以下运算,观察workspace的变化,记录运算结果。
(1)(365-522-70)3 =
(2)area=pi*^2 =
(3)已知x=3,y=4,在MATLAB中求z:
232yxyxz= 576
(4)将下面的矩阵赋值给变量m1,在workspace中察看m1在内存中占用的字节数。
m1=11514412679810115133216
执行以下命令
>>m1( 2 , 3 )=10
>>m1( 11 )=6
>>m1( : , 3 )= 3 10 6 15
>>m1( 2 : 3 , 1 : 3 )=[ 5 11 10;9 7 6]
>>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1)=34
(5)执行命令>>help abs
查看函数abs的用法及用途,计算abs( 3 + 4i )=5
(6)执行命令
>>x=0::6*pi;
>>y=5*sin(x);
>>plot(x,y)
(7)运行MATLAB的演示程序,>>demo,以便对MATLAB有一个总体了解。
