Matlab的基本操作及变量、数组及其答案

合集下载

matlab期末复习题及答案

matlab期末复习题及答案

matlab期末复习题及答案1. MATLAB基础操作在MATLAB中,如何创建一个名为"myMatrix"的3x3矩阵,其元素分别为1, 2, 3, 4, 5, 6, 7, 8, 9?答案:在MATLAB中,可以通过直接输入矩阵元素来创建矩阵。

例如,要创建一个名为"myMatrix"的3x3矩阵,可以使用以下命令:```matlabmyMatrix = [1 2 3; 4 5 6; 7 8 9];```这样,MATLAB就会创建一个3x3的矩阵,其元素按照行顺序排列。

2. 矩阵运算给定两个矩阵A和B,其中A = [1 2; 3 4],B = [5 6; 7 8],计算矩阵A和B的和。

答案:在MATLAB中,可以使用加号(+)来计算两个矩阵的和。

对于给定的矩阵A和B,可以使用以下命令来计算它们的和:```matlabA = [1 2; 3 4];B = [5 6; 7 8];C = A + B;```执行上述命令后,矩阵C的结果将是:```C = [6 8;10 12];```3. 条件语句编写一个MATLAB脚本,判断一个给定的数n是否为质数,并输出相应的信息。

答案:在MATLAB中,可以使用if-else语句来判断一个数是否为质数。

以下是一个简单的脚本示例:```matlabn = input('请输入一个数:');if mod(n, 2) == 0 && n > 2disp('该数不是质数');elseif n == 1disp('1不是质数');elseisPrime = true;for i = 2:sqrt(n)if mod(n, i) == 0isPrime = false;break;endendif isPrimedisp('该数是质数');elsedisp('该数不是质数');endend```该脚本首先接收用户输入的数n,然后通过一个for循环检查n是否有除了1和它自身以外的因数,从而判断n是否为质数。

MATLAB实验:运算基础,并且附有答案

MATLAB实验:运算基础,并且附有答案

实验二、MATLAB运算基础一、实验目的掌握MATLAB各种表达式的书写规则及常用函数的使用。

掌握MATLAB中字符串、元胞数组和结构的常用函数的使用。

二、实验内容及步骤1、设有矩阵A和B,A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 1718 19 20;21 22 23 24 25],B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 1311]1)求它们的乘积C >>C=A*B2)将矩阵C的右下角3x2子矩阵赋给D >>I=[3 4 5];J=[2 3];D=C(I,J)也可以用>>D=C([3 4 5],[2 3])D =520 397705 557890 7172、完成下列操作1)求[100,999]之间能被61整除的数及其个数(提示:先利用冒号表达式,再利用find和length函数。

)>> a=100:999;find(rem(a,61)==0)ans =23 84 145 206 267 328 389 450 511572 633 694 755 816 877>> b=a(ans)b =122 183 244 305 366 427 488 549 610 671 732 793 854 915 976>> length(b)ans =152)建立一个字符串向量,删除其中的大写字母(提示:利用find函数和空矩阵。

)a=’I am maying’;a( find(a>’A’&a<’Z’))=[]3、已知A=[23 10 -78 0;41 -45 65 5;32 5 0 32;6 -54 92 14],取出其前3行构成矩阵B,其前两列构成矩阵C,其左下角3x2子矩阵构成矩阵D,B与C的乘积构成矩阵E,分别求E<D、E&D、E|D、~E|~D。

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

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

1 + e2 (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 8501221 + 2i ⎤5 ⎥(3) z = e 0.3a - e -0.3asin(a + 0.3) + ln 0.3 + a ,a = -3.0, - 2.9, L , 2.9, 3.03⎧t 2 0 ≤ t < 1 (4) z = ⎪t 2 - 11 ≤ 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);length(n)ans=43(2).建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:ch='ABC123d4e56Fg9';k=find(ch>='A'&ch<='Z');ch(k)=[]ch=⎣O2⨯3⎥,其中E、R、O、S分别为单位矩阵、随机矩阵、零矩S⎦阵和对角阵,试通过数值计算验证A=⎢⎥。

MATLAB上机答案

MATLAB上机答案

X
1
2
3
4
5
6
7
8
9
10
Y
16
32
70
142 260 436 682 1010 1432 1960
>> x=1:10;y=[16 32 70 142 260 436 682 1010 1432 1960];
>> p1=polyfit(x,y,1)
>>
p1 =
p2=polyfit(x,y,2),y2=polyval(p2,9.5)
0.01
0.005
0
-0.005
-0.01
-0.015
0
1
2
3
4
5
6
7
(3)大气压强 p 随高度 x 变化的理论公式为
,为验证这一公式,
测得某地大气压强随高度变化的一组数据如表所示。试用插值法和拟合法进行计算并绘图,
看那种方法较为合理,且总误差最小。
高度/m
0
300
600
1000
1500
2000
压强/Pa
equally spaced points between X1 and X2. 以 X1 为首元素,X2 为末元素平均生成 100 个元素的行向量。
LINSPACE(X1, X2, N) generates N points between X1 and X2. For N < 2, LINSPACE returns X2.
ans =
pi =
ans =
5
0
3.1416
答:3 次执行的结果不一样。exist()函数是返回变量搜索顺序的一个函数。在第一次

matlab基本操作及答案

matlab基本操作及答案

1、计算23(85log 4)sin37+⨯-.相应的MATLAB 代码及运算结果如下: >> clear>> format %结果以小数形式输出>> sin((8+5*log2(4))/(abs(3-7))^3) %输入表达式 ans =0.27762、已知634,2,2,ia ib ic eπ=+=-=计算/ab c .相应的MATLAB 代码及运算结果如下: >> clear>> a=3+4*i;b=2-i;c=2*exp(i*pi/6); >> x=a*b/c x =5.5801 - 0.3349i3、求方程3x 5-7x 4+5x 2+2x-18=0的全部根。

相应的MATLAB 代码及运算结果如下: >> clear>> p=[3,-7,0,5,2,-18]; %建立多项式系数向量,向量中的元素不多时可直接赋值 >> x=roots(p) %求根 x =2.1837 1.0000 + 1.0000i 1.0000 - 1.0000i -0.9252 + 0.7197i -0.9252 - 0.7197i4、建一个3*3矩阵,然后将第一行乘1,第二行乘2,第三行乘3。

相应的MATLAB 代码及运算结果如下: >> clear>> A=[1 2 3;2 3 4;3 4 5]; %随机3*3矩阵>> B=diag(1:3); %用diag 函数生成矩阵100020003⎛⎫ ⎪⎪ ⎪⎝⎭,此处如果不会用diag 函数的话,也可以直接把矩阵的值赋给B 矩阵>> C=B*A %用B 左乘A C =1 2 3 4 6 8 9 12 155、求积分 相应的MATLAB 代码及运算结果如下: >> clear >> syms x; %定义符号变量x >> int(x^2+x+3,1,2) %int 函数用于求积分 ans = 41/66、线性方程组的求解相应的MATLAB 代码及运算结果如下: >> clear>> A=[1 1 1;1 2 3;1 3 6];B=[3;1;4];X=A\B X = 10 -12 57、使用plot 函数在同一个坐标系中绘制[0,2π]内的正弦和余弦曲线,要求正弦曲线线型为实线、颜色为红色、数据点型为十字型,余弦曲线线型为双划线、颜色为绿色、数据点型为六角星,图形的X 轴注解为“Input Value ”,Y 轴注解为“Function Value ”,图形标题为“Two Trigonometric Functions ”,图形注解为sin()cos()y x y x ==,要求显示格线。

MATLAB基本使用方法

MATLAB基本使用方法

MATLAB基本使用方法MATLAB是一种用于科学计算和工程设计的高级编程语言和环境。

它提供了强大的数值计算、数据可视化以及矩阵和数组操作的功能。

本文将介绍MATLAB的基本使用方法,包括变量和数据类型、运算符、控制流、函数和脚本等方面。

1.变量和数据类型:在MATLAB中,变量可以存储各种类型的数据,包括数字、字符串和矩阵。

变量的命名遵循一定规则,以字母开头,不能包含空格或特殊字符。

赋值操作使用等号(=)运算符,并可用于创建新的变量。

例如:a=5;%创建变量a并赋值为5b = 'Hello'; % 创建字符串变量b并赋值为"Hello"c=[1,2,3;4,5,6];%创建矩阵变量c2.运算符:MATLAB支持各种算术和逻辑运算符,用于对变量进行操作。

常见的运算符包括加法(+)、减法(-)、乘法(*)、除法(/)、取模(mod)、取整(floor)等。

此外,还有逻辑运算符如与(&)、或(,)、非(~)等。

例如:a=5;b=2;c=a+b;%加法运算d=a>b;%比较运算3.控制流:if语句用于在满足一些条件时执行一些代码,可以包含多个条件。

例如:a=5;b=10;if a < bdisp('a小于b');elseif a == bdisp('a等于b');elsedisp('a大于b');endfor循环用于迭代执行一段代码,可以根据已知的起始值和结束值确定循环次数。

例如:for i = 1:5disp(i);endwhile循环用于在满足一些条件时重复执行一段代码,直到条件不再满足。

例如:i=1;while i <= 5disp(i);i=i+1;end4.函数和脚本:函数的定义格式如下:function [output] = function_name(input)%函数体end例如:function [c] = add_numbers(a, b)c=a+b;end脚本文件可以包含一系列命令,可以按顺序执行。

matlab入门习题答案

matlab入门习题答案

matlab入门习题答案Matlab入门习题答案Matlab是一种强大的数值计算和科学编程语言,广泛应用于工程、科学和数学领域。

对于初学者来说,掌握Matlab的基本语法和功能是非常重要的。

在这篇文章中,我将为大家提供一些Matlab入门习题的答案,帮助大家更好地理解和掌握Matlab的使用。

1. 编写一个Matlab程序,计算并输出1到100之间所有偶数的平方。

```matlabfor i = 2:2:100disp(i^2);end```2. 编写一个Matlab程序,计算并输出1到100之间所有奇数的和。

```matlabsum = 0;for i = 1:2:100sum = sum + i;enddisp(sum);```3. 编写一个Matlab程序,计算并输出一个数组中所有元素的平均值。

```matlabarray = [1, 2, 3, 4, 5];mean_value = mean(array);disp(mean_value);```4. 编写一个Matlab程序,将一个字符串反转并输出。

```matlabstr = 'Hello World';reverse_str = fliplr(str);disp(reverse_str);```5. 编写一个Matlab程序,计算并输出斐波那契数列的前20个数。

```matlabfibonacci = zeros(1, 20);fibonacci(1) = 0;fibonacci(2) = 1;for i = 3:20fibonacci(i) = fibonacci(i-1) + fibonacci(i-2);enddisp(fibonacci);```6. 编写一个Matlab程序,生成一个3x3的随机矩阵,并计算其转置矩阵。

```matlabmatrix = rand(3, 3);transpose_matrix = matrix';disp(transpose_matrix);```7. 编写一个Matlab程序,计算并输出一个数组中的最大值和最小值。

matlab第二版习题答案

matlab第二版习题答案

matlab第二版习题答案Matlab是一种强大的数学软件工具,被广泛应用于科学计算、数据分析和工程设计等领域。

对于学习和掌握Matlab的人来说,习题是不可或缺的一部分。

本文将为大家提供Matlab第二版习题的答案,帮助读者更好地理解和应用Matlab。

第一章:基本操作1.1 Matlab的启动和退出启动Matlab的方法有多种,可以通过桌面图标、命令行或者启动器来打开Matlab。

退出Matlab可以直接关闭窗口或者使用命令"exit"。

1.2 Matlab的基本语法Matlab的基本语法与其他编程语言相似,包括变量的定义、运算符的使用、条件语句和循环语句等。

例如,定义一个变量x并赋值为5可以使用语句"x = 5;"。

1.3 Matlab的数据类型Matlab支持多种数据类型,包括数值型、字符型和逻辑型等。

数值型可以是整数或者浮点数,字符型用单引号或双引号表示,逻辑型只有两个值true和false。

第二章:向量和矩阵操作2.1 向量的定义和运算向量是一维数组,可以通过一对方括号来定义。

Matlab提供了丰富的向量运算函数,如加法、减法、乘法和除法等。

2.2 矩阵的定义和运算矩阵是二维数组,可以通过方括号和分号来定义。

Matlab提供了矩阵的加法、减法、乘法、转置和求逆等运算。

2.3 矩阵的索引和切片可以使用索引和切片来访问矩阵中的元素。

索引从1开始,可以使用冒号表示全部元素。

切片可以用来选择矩阵的一部分。

第三章:函数和脚本文件3.1 函数的定义和调用函数是一段独立的代码块,可以接受输入参数并返回输出结果。

在Matlab中,函数的定义以关键字"function"开头,调用函数使用函数名和参数。

3.2 脚本文件的编写和运行脚本文件是一系列Matlab语句的集合,可以保存为.m文件。

通过运行脚本文件,可以一次性执行多个语句,提高效率。

第四章:图形绘制和数据可视化4.1 图形绘制函数Matlab提供了丰富的图形绘制函数,可以绘制线图、散点图、柱状图等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一Matlab的基本操作及变量、数组
一、实验目的:
1. 熟悉Matlab的开发环境,基本类型的Matlab窗口、工作空间和如何获得在线帮助。

2. 熟悉和掌握Matlab变量和数组的基本操作
二、实验内容:
1. Matlab的基本操作
1.3 先自定义一个变量,然后分别用8种不同的数字显示格式显示查看。

>> format compact
>> a=3.14159265358979
a =
3.14159265358979
>> format long
>> a
a =
3.141592653589790
>> format short e
>> a
a =
3.1416e+000
>> format long e
>> a
a =
3.141592653589790e+000 >> format hex
>> a
a =
400921fb54442d11
>> format bank
>> a
a =
3.14
>> format +
>> a
a =
+
>> format rat
>> a
a =
355/113
>> format short
>> a
a =
3.1416
1.4 下面的语句用于画出函数()0.2
2x
y x e-
=在[0,10]区间的值
x = 0:0.1:10;
y = 2*exp(-0.2*x);
plot(x,y)
用Matlab编辑器创建一个m文件,把上述语句写入这个m文件并命名为“test1.m”,保存在当前路径中,然后在命令窗中键入test1,观察结果和运行程序后工作空间的变化.
如何清空工作区间数据? 键入 clear ;
如何关闭图像窗口? 键入close ;
除了在命令窗输入文件名,还可以怎样运行一个m 文件程序?
点击file ,打开m 文件,点击Run 按钮,运行m 文件程序。

如果希望在命令窗中显示x 和y 的所有取值,应对程序做出怎么样的修改?
x = 0:0.1:10;
y = 2*exp(-0.2*x); plot(x,y); x,y
1.5 通过以下两种方式得到关于exp 函数的帮助:
(1) 在命令窗中输入help exp 命令; (2) 运用帮助空间窗口。

思考,用什么指令可以直接打开帮助空间中关于exp 函数的说明?
键入doc exp ;或者点击help ,再点击product help ,键入exp 搜索. 1.6 假设x =3,y = 4,用Matlab 计算下列表达式: (1)
()
23
2
x y x y - (2)
43x
y
(3) 24x x π-
(4) 3
3x
x x y -
>> format compact >> x=3,y=4 x = 3 y = 4
>> x^2*(y^3)/(x-y)^2
ans = 576
>> 4*x/(3*y) ans = 1
>> 4/x*(pi*x^(-2)) ans =
0.4654
>> x^3/(x^3-y^x) ans =
-0.7297
1.7 在当前目录下创建一个m 文件,
键入以下程序并保存,先把文件保存为“2.m ”,运行后观察结果,总结m 文件的文件名(包括Matlab 标识符)命名规则。

对该文件重新命名后运行,保存运行结果。

t = -2*pi:pi/10:2*pi; y = abs(sin(t)); plot(t,y) >> 2 ans = 2
重新命名m 文件后运行的结果:
总结m文件的文件名(包括Matlab标识符)命名规则。

在Matlab中,不能够区别以数字命名的文件是文件名还是数字,不能以单独的数字命名。

变量和常量的标识符最长允许19个字符,函数和文件名则通常不超过8个字符,这些字符包括全部的英文字母,阿拉伯数字和下划线等符号。

标识符中的第一个字符必须是英文字母。

Matlab对大小写敏感。

2. 变量及数组
2.1 在命令窗中输入数组
123
456
789
⎡⎤
⎢⎥
=⎢⎥
⎢⎥
⎣⎦
A,观察输出结果,然后依次实现:
1. 把第4行第2列元素赋值为11
2. 把第五行元素赋值为-13、-14、-15
3. 把第4行第2列元素赋值为第5行第1列元素的绝对值
4. 抽取A的第2行和第5行
5. 把第4
(4+5)/6*2、-7
6. 把A的第1、4行和2、3列相交的元素构成矩阵赋给A1
7. 把A的第1-4行和2-3列相交的元素构成矩阵赋给A2
>> format compact
>> A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> A(4,2)=11
A =
1 2 3
4 5 6
7 8 9
0 11 0
>> A(5, : )=[-13,-14,-15]
A =
1 2 3
4 5 6
7 8 9
0 11 0
-13 -14 -15
>> A(4,2)=abs(A(5,1))
A =
1 2 3
4 5 6 7 8 9
0 13 0
-13 -14 -15
>> A([1,3,4], :)=[]
A =
4 5 6
-13 -14 -15
>> A(4, :)= [sqrt(3),(4+5)/6*2,-7]
A =
4.0000
5.0000
6.0000
-13.0000 -14.0000 -15.0000
0 0 0
1.7321 3.0000 -7.0000 >> A1=A([1,4],[2,3])
A1 =
5 6
3 -7
>> A2=A([1,2,3,4],[2,3])
A2 =
5 6
-14 -15
0 0
3 -7
2.2 在Matlab命令窗口输入:B=[3+4i,1+2i;7+8i,5+6i],观察输出的结果。

1. 试一试还能够用什么形式输出一个矩阵C,结果和上式一样?
2. 求复数2+3i的开方,赋给D
3. 计算D*D
4. 求C的共轭转置矩阵
5. 求C的转置矩阵
6. 求C的共轭矩阵
>> format compact
>> B=[3+4i,1+2i;7+8i,5+6i]
B =
3.0000 +
4.0000i 1.0000 + 2.0000i
7.0000 + 8.0000i 5.0000 + 6.0000i
>> C=[3,1;5,7]+[4,2;8,6]*i
C =
3.0000 +
4.0000i 1.0000 + 2.0000i
5.0000 + 8.0000i 7.0000 +
6.0000i
>> D=sqrt(2+3i)
D =
1.6741 + 0.8960i
>> D*D
ans =
2.0000 +
3.0000i
>> C'
ans =
3.0000 -
4.0000i
5.0000 - 8.0000i
1.0000 -
2.0000i 7.0000 - 6.0000i
>> conj(C)
ans =
3.0000 -
4.0000i 1.0000 - 2.0000i
5.0000 - 8.0000i 7.0000 -
6.0000i
>> conj(C)'
ans =
3.0000 +
4.0000i
5.0000 + 8.0000i
1.0000 +
2.0000i 7.0000 + 6.0000i。

相关文档
最新文档