matlab习题(1)
中南大学matlab课后习题(1)

%用循环结构实现
a=0;
for i=1:n
a=a+1/(i^2);
end
disp(a);
j=1:n;
%用 sum 函数实现
b=sum(1./(j.^2)); 输入一个数:34
b=
(2)( )( )( ) (
) (= )
clear n=input('输入一个数:'); a=1; for i=1:n a=((2*i*i*2)/((2*i-1)*(2*i+1)))*a; end disp(a); 输入一个数:8
1/5 1/6 1/7 1/8
1/5
1/6
1/7
1/8
1/9
P=pascal(5)
P= 1 1 1 1 1
1
1
1
1
2
3
4
5
3
6
10
15
4
10
20
35
5
15
35
70
Hh=det(H)
Hh = 1/0000
Hp=det(P)
Hp = 1
Th=cond(H)
Th = 476607
Tp=cond(P)
Tp = 178868/21 P 矩阵性能更好,因为 Tp 更接近 1. 5.已知 A,求 A 的特征值及特征向量,并分析其数学意义。 A=[-29,6,18;20,5,12;-8,8,5]
min=a(i); end end max min 请输入二十个数[ 3 4 6 5 3 44 5 5 5 6 6 5 5 4 3 32 2 2 2 6]
max =
44
min =
2
4.
,当 a 取、、、…、、、时,求各点的函数值。要求分别用顺序结
MATLAB复习题(答案仅供参考)1

MATLAB复习题(答案仅供参考)1⼀、填空题1. MATLAB命令窗⼝中可⽤clear 命令清除⼯作区中的变量;⽤clc 命令清除命令窗⼝中的内容。
2. MATLAB中的运算符包括数学运算符、矩阵运算符、数组运算符。
3 MATLAB的含义为矩阵运算。
4. MATLAB中的函数类型有嵌套函数、主函数、⼦函数、私有函数和匿名函数。
5. MATLAB中⽤系统预定义的特殊变量nargin 表⽰函数输⼊参数个数。
6. size命令的功能确定数组⼤⼩。
7. MATLAB中⽤linspace 符号定义单元数组。
8. MATLAB中⽤hold on 命令打开图形保持功能。
9 MATLAB中如果⼀个变量名为123,该变量名是否合法否(填是或否)。
10. MATLAB中⽤inv 函数完成矩阵的求逆运算,⽤det 函数求矩阵的⾏列式。
11.已知C={2+5i,’Hi’;1:4,[1 2]} 输⼊s=C(3) 即s=__'_Hi__'___.12.先输⼊P=struct(‘name’,’Jack‘,’num’,43) ,再输⼊s= 即s=___Jack___.13.当x=[ 1 2 3; 4 5 6] , y=[ 5 8; 5 8 ] 时,__不能__(能﹨不能)使⽤plot 命令绘图。
14.sym 或syms _能_______(能﹨不能)创建符号矩阵。
15.已知x=3:2:24,则x有__11_个元素。
结构的开始是“if”命令,结束是_end____命令。
17.已知x为⼀个向量,计算ln(x)的MATLAB命令是计算_log(x)___。
18.命令:>>subplot(3,3,x)中有__9_个⼦图。
19.已知s=‘显⽰“hey”’,则s的元素个数是___9__。
y=f()global WW=2y=f1(5)function y=f()global Wy=w+W创建以上函数⽂件,在命令窗⼝中运⾏“y=f”命令则显⽰__出错___。
Matlab习题

习题 11. 执行下列指令,观察其运算结果, 理解其意义: (1) [1 2;3 4]+10-2i(2) [1 2; 3 4].*[0.1 0.2; 0.3 0.4] (3) [1 2; 3 4].\[20 10;9 2] (4) [1 2; 3 4].^2 (5) exp([1 2; 3 4]) (6)log([1 10 100]) (7)prod([1 2;3 4])(8)[a,b]=min([10 20;30 40]) (9)abs([1 2;3 4]-pi)(10) [1 2;3 4]>=[4,3;2 1](11)find([10 20;30 40]>=[40,30;20 10])(12) [a,b]=find([10 20;30 40]>=[40,30;20 10]) (提示:a 为行号,b 为列号) (13) all([1 2;3 4]>1) (14) any([1 2;3 4]>1) (15) linspace(3,4,5) (16) A=[1 2;3 4];A(:,2)2. 执行下列指令,观察其运算结果、变量类型和字节数,理解其意义: (1) clear; a=1,b=num2str(a),c=a>0, a= =b, a= =c, b= =c (2) clear; fun='abs(x)',x=-2,eval(fun),double(fun)3. 本金K 以每年n 次,每次p %的增值率(n 与p 的乘积为每年增值额的百分比)增加,当增加到rK 时所花费的时间为)01.01ln(ln p n rT +=(单位:年)用MA TLAB 表达式写出该公式并用下列数据计算:r =2, p =0.5, n =12.4.已知函数f (x )=x 4-2x 在(-2, 2)内有两个根。
取步长h =0.05, 通过计算函数值求得函数的最小值点和两个根的近似解。
matlab试题及答案

matlab试题及答案# MATLAB试题及答案一、选择题1. MATLAB的基本数据单位是:A. 矩阵B. 向量C. 标量D. 数组答案:A2. 下列哪个命令可以用来绘制函数图形?A. `plot`B. `graph`C. `draw`D. `chart`答案:A3. MATLAB中,以下哪个是正确的矩阵转置操作?A. `transpose(A)`B. `A'`C. `A^T`D. `flip(A)`答案:B二、简答题1. 简述MATLAB中矩阵的基本操作。
答案:在MATLAB中,矩阵是最基本的数据结构,可以进行加、减、乘、除等基本运算。
矩阵的创建可以使用方括号`[]`,例如`A = [1 2;3 4]`。
矩阵的转置使用单引号`'`,例如`A'`。
矩阵的求逆使用`inv`函数,例如`inv(A)`。
2. MATLAB中如何实现循环结构?答案:MATLAB中实现循环结构主要有两种方式:`for`循环和`while`循环。
`for`循环用于已知迭代次数的情况,例如:```matlabfor i = 1:5disp(i);end````while`循环用于迭代次数未知的情况,例如:```matlabi = 1;while i <= 5disp(i);i = i + 1;end```三、计算题1. 给定矩阵A和B,请计算它们的乘积C,并求C的行列式。
A = [1 2; 3 4]B = [5 6; 7 8]答案:首先计算矩阵乘积C:```matlabC = A * B;```然后计算C的行列式:```matlabdetC = det(C);```结果为:```matlabC = [19 22; 43 50]detC = -16```2. 编写一个MATLAB函数,计算并返回一个向量的范数。
答案:```matlabfunction norm_value = vector_norm(v)norm_value = norm(v);end```四、编程题1. 编写一个MATLAB脚本,实现以下功能:- 随机生成一个3x3的矩阵。
数字图像处理及应用(MATLAB)第1章习题答案

第一章:习题与思考题参考答案1-1 什么是数字图像? 数字图像处理有哪些特点?数字图像是将连续的模拟图像经过离散化处理后变成计算机能够辨识的点阵图像。
数字图像处理具有以下特点:(1)处理精度高,再现性好。
(2)易于控制处理效果。
(3)处理的多样性。
(4)数字图像中各个像素间的相关性大,压缩的潜力很大。
(5)图像数据量庞大。
(6) 占用的频带较宽。
(7) 图像质量评价受主观因素的影响。
(8)图像处理技术综合性强。
1-2 数字图像处理的目的及主要内容。
一般而言,对图像进行处理主要有以下三个方面的目的(1) 提高图像的视感质量,以达到赏心悦目的目的。
(2) 提取图像中所包含的某些特征或特殊信息,以便于计算机分析。
(3) 对图像数据进行变换、编码和压缩,以便于图像的存储和传输。
数字图像处理的主要研究内容:根据其主要的处理流程与处理目标大致可以分为图像信息的描述、图像信息的处理、图像信息的分析、图像信息的编码以及图像信息的显示等几个方面。
如:图像数字化、图像增强、图像几何变换、图像复原、图像重建、图像隐藏、图像正交变换、图像编码、图像分析等。
1-3 数字图像处理的主要应用图像处理技术广泛用于众多的科学与工程领域,主要有:(1)生物医学领域中的应用(2)工业应用(3)遥感航天中的应用(4)军事、公安领域中的应用(5)其他应用,例如:图像的远距离通信;多媒体计算机系统及应用;服装试穿显示;办公自动化、现场视频管理1-4 在理想情况下获得一幅数字图像时,采样和量化间隔越小,图像的画面效果越好,当一幅图像的数据量被限定在一个范围内时,如何考虑图像的采样和量化使得图像的质量尽可能好。
一般,当限定数字图像的大小时, 为了得到质量较好的图像可采用如下原则: (1)对缓变的图像,应该细量化,粗采样,以避免假轮廓。
(2)对细节丰富的图像,应细采样,粗量化,以避免模糊(混叠)。
1-5 想想在你的工作和生活中,遇见过哪些数字化设备?它们的主要用途是什么?主要有以下几种数字化设备:(1) 图像采集卡通常图像采集卡安装于计算机主板扩展槽中,通过主机发出指令,将某一帧图像静止在存储通道中,即采集或捕获一帧图像,然后可对图像进行处理或存盘。
MATLAB习题及参考答案

习题:1, 计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。
2, 对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。
3, 已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。
4, 角度[]604530=x ,求x 的正弦、余弦、正切和余切。
(应用sin,cos,tan.cot)5, 将矩阵⎥⎦⎤⎢⎣⎡=7524a 、⎥⎦⎤⎢⎣⎡=3817b 和⎥⎦⎤⎢⎣⎡=2695c 组合成两个新矩阵: (1)组合成一个4⨯3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即 ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡237912685574(2)按照a 、b 、c 的列顺序组合成一个行矢量,即 []2965318772546, 将(x -6)(x -3)(x -8)展开为系数多项式的形式。
(应用poly,polyvalm)7, 求解多项式x 3-7x 2+2x +40的根。
(应用roots)8, 求解在x =8时多项式(x -1)(x -2) (x -3)(x -4)的值。
(应用poly,polyvalm)9, 计算多项式9514124234++--x x x x 的微分和积分。
(应用polyder,polyint ,poly2sym)10, 解方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡66136221143092x 。
(应用x=a\b)11, 求欠定方程组⎥⎦⎤⎢⎣⎡=⎥⎦⎤⎢⎣⎡5865394742x 的最小范数解。
(应用pinv)12, 矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=943457624a ,计算a 的行列式和逆矩阵。
(应用det,inv)13, y =sin(x ),x 从0到2π,∆x =0.02π,求y 的最大值、最小值、均值和标准差。
matlab课后习题及答案详解

matlab课后习题及答案详解第1章练习题1.安装matlab时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?在安装matlab时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即matlab选项)必须安装。
第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。
2.matlab操作方式桌面存有几个窗口?如何并使某个窗口瓦解桌面沦为单一制窗口?又如何将瓦解过来的窗口再次置放至桌面上?与其他计算机语言相比较,matlab语言注重的特点就是什么?matlab系统由那些部分共同组成?在matlab操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的close按钮,一个是可以使窗口成为独立窗口的undock按钮,点击undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择dock……菜单项就可以将独立的窗口重新防止的桌面上。
matlab具备功能强大、使用方便、输出简便、库函数多样、开放性弱等特点。
matlab系统主要由开发环境、matlab数学函数库、matlab语言、图形功能和应用程序接口五个部分组成。
3.如何设置当前目录和搜寻路径,在当前目录上的文件和在搜寻路径上的文件存有什么区别?命令历史窗口除了可以观测前面键入的命令外,除了什么用途?当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的setpath菜单项来完成。
在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被matlab运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。
命令历史窗口除了用作查阅以前键入的命令外,还可以轻易执行命令历史窗口中选取的内容、将选取的内容拷贝到剪贴板中、将选取内容轻易拷贝到m文件中。
MATLAB实验习题1

例:求[100,200]之间第一个能被21整除的整数。 for i=100:200 if mod(i,21)==0 x=i; break; end end
• 柯雷茨(collatz)猜想 对于任意的正整数n,如果n是偶数则除以2, 如果还是偶数再除以2,直至成为奇数。把 这个奇数乘以3加1再除以2,如果是偶数继 续除以2,直至成为一个新的奇数。然后再 将这个奇数乘以3加1,按照同样的办法计 算下去。经过若干次计算之后,最后的得 数是1. func0 )
例1.某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示): price<200 没有折扣 200≤price<500 3%折扣 500≤price<1000 5%折扣 1000≤price<2500 8%折扣 2500≤price<5000 10%折扣 5000≤price 14%折扣 输入所售商品的价格,求其实际销售价格 price=input('请输入商品价格'); switch fix(price/100) case {0,1} %价格小于200 rate=0; case {2,3,4} %价格大于等于200但小于500 rate=3/100; case num2cell(5:9) %价格大于等于500但小于1000 rate=5/100; case num2cell(10:24) %价格大于等于1000但小于2500 rate=8/100; case num2cell(25:49) %价格大于等于2500但小于5000 rate=10/100; otherwise %价格大于等于5000 rate=14/100; end price=price*(1-rate) %输出商品实际销售价格
matlab习题及答案

matlab习题及答案Matlab习题及答案Matlab是一种强大的数学计算软件,被广泛应用于科学计算、数据分析和工程设计等领域。
在学习和使用Matlab的过程中,习题是一种非常有效的学习方式。
本文将给出一些常见的Matlab习题及其答案,帮助读者更好地掌握Matlab的使用技巧。
一、基础习题1. 计算1到100之间所有奇数的和。
解答:```matlabsum = 0;for i = 1:2:100sum = sum + i;enddisp(sum);```2. 编写一个函数,计算任意两个数的最大公约数。
解答:```matlabfunction gcd = computeGCD(a, b)while b ~= 0temp = b;a = temp;endgcd = a;end```3. 编写一个程序,生成一个5×5的随机矩阵,并计算矩阵的行和列的平均值。
解答:```matlabmatrix = rand(5);row_average = mean(matrix, 2);col_average = mean(matrix);disp(row_average);disp(col_average);```二、进阶习题1. 编写一个程序,实现插入排序算法。
解答:```matlabfunction sorted_array = insertionSort(array)n = length(array);for i = 2:nj = i - 1;while j > 0 && array(j) > keyarray(j+1) = array(j);j = j - 1;endarray(j+1) = key;endsorted_array = array;end```2. 编写一个程序,实现矩阵的转置。
解答:```matlabfunction transposed_matrix = transposeMatrix(matrix) [m, n] = size(matrix);transposed_matrix = zeros(n, m);for i = 1:mfor j = 1:ntransposed_matrix(j, i) = matrix(i, j);endendend```3. 编写一个程序,实现二分查找算法。
MATLAB平时作业(图文版)

MATLAB 平时作业第一章 习题16. 以下两种说法对吗?(1)“MATLAB 的数值表达精度与其指令窗中的数据显示精度相同。
”答:此种说法错误。
MATLAB 提供了控制数据显示格式的控制指format ,该指令并不改变MATLAB 内存中变量的精度,只是改变其显示精度。
(2)“MATLAB 指令窗中显示的数值有效位数不超过7位。
”答:此种说法错误。
当变量小于1000时,使用format 或format short 后,或者默认情况下,变量的显示精度最多不超过7位,但显示精度不等于变量的精度。
7. 想要在MATLAB 中产生二维数组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321S ,下面哪些指令能实现目的? S=[1,2,3;4,5,6;7,8;9]S=[1 2 3;4 5 6;7 8 9]S=[1,2,3;4,5,6;7,8,9] %整个指令在中文状态下输入 答:操作如图:第1、2条指令可以实现,第3条指令不可实现。
第三章 习题31.在MATLAB 中,先运行指令A=magic(3), B=[1,2,1;3,4,3;5,6,7], C=reshape(1:6,3,2)生成阵列33⨯A ,23⨯B ,23⨯C ,然后根据运行结果回答以下问题:运行结果如图:(1)计算A*B, B*A ,这两个乘积相同吗? 计算结果如图:答:不同。
(2)计算A\B, B/A ,左除、右除结果相同吗?计算结果如图:答:不同。
(3)计算B( : ,[1,2]).*C和C.*B( : , [1,2]),这两个乘积相同吗?计算结果如图答:相同。
(4)计算A\A和A.\A,这两个计算结果相同吗?计算结果如图:答:相同。
(5)计算A\eye(3)和inv(A),这两个计算结果相同吗?计算结果如图:答:不同。
(提示:根据对计算结果的目测回答问题)2.在MATLAB中,先运行A=[1, 2; 3, 4],b=0.5,C=[4, 2; 1, 0.5], 然后根据计算结果回答以下问题:创建数据步骤略(1)计算A^b和A.^b, 这两个计算结果相同吗?答:不同。
matlab习题及答案

matlab习题及答案《Matlab习题及答案:提升编程技能,解决实际问题》Matlab是一种强大的数值计算和数据分析工具,它被广泛应用于工程、科学和其他领域的计算和模拟。
为了帮助大家提升编程技能,解决实际问题,我们为大家准备了一些Matlab习题及答案,希望能够帮助大家更好地掌握Matlab的使用。
1. 习题一:编写一个Matlab程序,计算斐波那契数列的前20个数字,并将结果打印出来。
答案:下面是一个简单的Matlab程序,用于计算斐波那契数列的前20个数字。
```matlaba = 0;b = 1;fib = zeros(1, 20);fib(1) = a;fib(2) = b;for i = 3:20fib(i) = fib(i-1) + fib(i-2);enddisp(fib);```2. 习题二:编写一个Matlab程序,求解一个二次方程ax^2 + bx + c = 0的根。
答案:下面是一个简单的Matlab程序,用于求解二次方程的根。
```matlaba = 1;b = -3;c = 2;delta = b^2 - 4*a*c;if delta > 0x1 = (-b + sqrt(delta))/(2*a);x2 = (-b - sqrt(delta))/(2*a);disp(['The roots are ', num2str(x1), ' and ', num2str(x2)]);elseif delta == 0x = -b/(2*a);disp(['The root is ', num2str(x)]);elsedisp('The equation has no real roots');end```通过以上两个习题及答案的示例,我们可以看到Matlab的强大功能和灵活性。
通过练习这些习题,我们可以更好地掌握Matlab的基本语法和常用函数,从而在实际问题中更快更准确地解决数值计算和数据分析的挑战。
MATLAB复习题1

MATLAB期末考试题目------电气二班一.选择题。
1.以下哪个变量的定义是不合法的〔A〕A. abcd-3B. xyz_3C. abcdefD. x3yz2.在同一个图形窗口中画出三行两列的图形并指定当前可编辑图形为第3个图的正确的MATLAB命令是:A.subplot(3,2,1)B subplot(3,3,) C.subplot(3,2,3 )D.subplot(1,3,2)3.x=[1234],y=[1111],x.*y的结果是:(B)A.1234 B.出错信息 C.4 3 2 1 D.11114.角度x=[30 45 60],计算其正弦函数的运算为〔D〕A. sin(deg2rad(x))B. sin(x)C. sin(x)D. sin(deg2rad(x))5.i=2;a=2i;b=2*i;c=2*sqrt(-1);执行程序后,a,b,c的值分别是多少?〔C〕A.a=4,b=2,c=2.0000iB.a=4,b=2.0000i,c=2.0000iC.a=2.0000i,b=4,c=2.0000iD.a=2.0000i,b=2.0000i,c=2.0000i6. legend()命令是(A)A.在图中标注“图例〞 B..在图中加上网格线C.在图中加上标题 D.打印图形7.命令plot(x,y,′m:*′),其中字符串“m:o〞中,第一个字符“m〞(A)A. 表示曲线为m符号构成的线B. 表示曲线颜色为紫色C. 表示曲线x坐标的最大值为m变量的值D. 表示曲线y坐标的最大值为m变量的值8. 以下可作为matlab合法变量名的是(D)A、合计B、123C、@hD、xyz_2a9. 使用语句t=0:7生成的是()个元素向量(A)A、8B、7C、6D、510. 输入字符串或选项时,要用(D)括住A、()B、【】C、{}D、‘’11 . 清空 Matlab 工作空间内所有变量的指令是〔A〕。
Matlab 作业1

喻晓磊 200731510103 电子科学与技术习题一:编写M文件,计算以下问题:口口口口×口=口口口口以上9个口代表1~9这9个数字,不得遗漏或重复要求:给出解算思路和M文件代码注意算法的效率解题理念:1,设以上方框中的数字分别是1~9之间的数字a、b、c、d、e、f、g、h、i。
2,我们可以推出,个位数e肯定不是1或者5 ,否则两个四位数的个位必然相等,即d=i;再者,其不可能等于9,由不重复的1~9组成的四位数,最大为9876,最小为1234,故e的最大可能取值为9876/1234=8.003……,即最大取8 。
3,我们看到,e的最小取值为2,那么a肯定不能大于或等于5 ,否则乘法运算后的结果为5位数,所以a 只能取1~4。
4,在此基础上,我们采取“穷举法”,逐个试验,从 a 开始,每一位与前面出现位的数字不相等,然后检测其是否满足算式。
程序代码如下:global aglobal bglobal cglobal dglobal eglobal fglobal gglobal hglobal ifor a=1:4for b=1:9if b~=a;for c=1:9if (c~=b)&&(c~=a);for d=1:9if (d~=b)&&(d~=a)&&(d~=c);for e=2:8 e~=5;if (e~=a)&&(e~=b)&&(e~=c)&&(e~=d);for f=1:9if (f~=a)&&(f~=b)&&(f~=c)&&(f~=d)&&(f~=e);for g=1:9if(g~=a)&&(g~=b)&&(g~=c)&&(g~=d)&&(g~=e)&&(g~=f);for h=1:9if(h~=a)&&(h~=b)&&(h~=c)&&(h~=d)&&(h~=e)&&(h~=f)&&(h~=g);for i=1:9if(i~=a)&&(i~=b)&&(i~=c)&&(i~=d)&&(i~=e)&&(i~=f)&&(i~=g)&&(i~=h);x=1000*a+100*b+10*c+d;y=e*x;z=1000*f+100*g+10*h+i;if y==z;r=xs=et=yend;end;******end;end;得到的结果如下:我们看到,结果有两组:1738 * 4= 69521963 * 4= 7852这两组结果都显示到了MATLAB软件的命令窗(COMMAND WINDOW)中,我们是使用了一个小技巧:将x、e、y的值赋给r、s、t时并没有在句末加分号,所以计算的过程也显示出来了,但是看工作区(work space)中,r、s、t 的值却只对应后面一组,这是因为,当循环进行到算出第二组结果时,便替换掉了第一组的值。
MATLAB第一章练习题

MATLAB第 一 章 习 题
第一章 MATLAB 概述 练习题 知识点:1、Matlab 简介、特点和功能2、Matlab 的视窗环境3、Matlab 基本命令 1.标点符号____可以使命令行不显示结果,_______用来表示该行为注释行。 2. 用“format ”命令设置数据输出格式,____ ________将pi 显示为3.14159265358979,____ _______将pi 显示为 3.1416e+000. 3. 输入变量a=5.3,b=[1,2;3,4],在工作空间中使用who ,whos,clear 命令,并用save 命令将变量存入“c:\exe0101.mat ”文件。 4.学习设置MATLAB 搜索路径的方法,将“c:\exe ”目录添加到搜索路径中。
5.计算 6.计算 的值,其中x=4.92。 7计算 的值。
8.分别得到从0到4π步长为0.4π的变量x1和从0到4π分成10点的变量x2. 9.输入矩阵A=[1,2,3;4 ,5,6;7,8,9],使用全下标的方式取出元素“3”,使用单下标的方式取出元素“8”。 10.设两个复数a=1+2i,b=3-4i,计算a+b,a-b,a*b,a/b 。 ()2122743 +?-÷???? 2sin 0.3y π=
matlab课后习题答案1到6章

欢迎共阅习题二1.如何理解“矩阵是MATLAB 最基本的数据对象”? 答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。
(2) 删除矩阵A 的第7号元素。
答:A(7)=[](3) 将矩阵A 的每个元素值加30。
答:A=A+30;(4) 求矩阵A 的大小和维数。
答:size(A);ndims(A);(5) 将向量 t 的0元素用机器零来代替。
答:t(find(t==0))=eps; (6) 将含有12个元素的向量 x 转换成34⨯矩阵。
答:reshape(x,3,4); (7) 求一个字符串的ASCII码。
答:abs(‘123’); 或E 。
答:B=A(1:3,:); C=A(:,1:2); D=A(2:4,3:4);E=B*C;(2) 分别求E<D 、E&D 、E|D 、~E|~D 和find(A>=10&A<25)。
答:E<D=010001⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦,E&D=110111⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦,11⎡⎤⎢⎥答:student(1).id='0001';student(1).name='Tom'; student(1).major='computer';student(1).grade=[89,78,67,90,86,85]; 8.建立单元矩阵B 并回答有关问题。
B{1,1}=1;B{1,2}='Brenden';B{2,1}=reshape(1:9,3,3); B{2,2}={12,34,2;54,21,3;4 ,23,67};(1)size(B)和ndims(B)的值分别是多少?答:size(B) 的值为2, 2。
ndims(B) 的值为2。
(2)B(2)和B(4)的值分别是(2)建立5×6随机矩阵A,其元素为[100,200]范围内的随机整数。
MATLAB数学建模习题

MATLAB 数学建模习题1一、单项选择题(将选择答案写在答题纸上,每小题2分共20分)1.在MA TLAB 命令窗口中键入命令,Vname=prod(7:9)/prod(1:3),可计算组合数!6!3!939⨯=C ,如果省略了变量名Vname ,MA TLAB 表现计算结果将用下面的哪一变量名做缺省变量名A )ans ;B )pi ;C )NaN ;D )eps2.宝石切割问题中,石料左右长度、前后长度、上下高度分别为a 1、a 2、a 3,即a 1×a 2×a 3(cm 3),而精品尺寸为b 1×b 2×b 3(cm 3)。
操作时,同向切割连续两次再旋转刀具。
某一切割方案的切割面积依次为:2a 1a 2→ 2a 1b 3 → 2b 2b 3,则这一切割方案为A )左右→前后→上下;B )上下→前后→左右;C )前后→上下→左右;D )前后→ 左右→上下3.机场指挥塔位置:北纬30度35.343分,东经104度2.441分,在MA TLAB 中用变量B=[30 35.343]表达纬度,L=[104 2.441]表达经度。
将数据转化为以度为单位的实数,下面正确的语句是A ) P=B(1)+B(2)/60,Q=L(1)+L(2); B) P = 60*B(1) + B(2),Q=60*L(1)+L(2)C ) P = B(1) + B(2)/60,Q=L(1)+L(2)/60; D) P=B(1)+B(2),Q=L(1)+ L(2);。
4.用MA TLAB 随机产生60个1到365之间的正整数,应该使用下面的哪一条命令A ) fix(365*rand(1,60));B )1+fix(366*rand(1,60));C )1+fix(364*rand(1,60));D )1+fix(365*rand(1,60))5.用A 、B 、C 表示三角形的三条边,用MA TLAB 表示条件“任意两条边之和大于第三条边”的逻辑表达式应该用下面哪一行语句A ) A+B>C | A+C>B | B+C>A ; B ) A+B>=C | A+C>=B | B+C>=A ;C ) A+B>=C&A+C>=B&B+C>=A ;D ) A+B>C & A+C>B & B+C>A ;6.在MATLAB 命令窗口中,键入命令syms x ; y=int(6*x^4)。
matlab试题与答案

例8 绘制三维曲面图z=sin(x+sin(y))-x/10。 程序如下: [x,y]=meshgrid(0:0.25:4*pi); z=sin(x+sin(y))-x/10; mesh(x,y,z); axis([0 4*pi 0 4*pi -2.5 1]);
1.编程实现当α∈[-π,π],间隔为1°时求解 正弦和余弦的值。 2.利用rand函数产生(0,1)间均匀分布的 10×10随机矩阵A,然后统计A中大于等于 0.6的元素个数。 3.利用randn函数产生均值为0,方差为1的 10×10正态分布随机阵A,然后统计A中大 于-0.5且小于0.5的元素个数。
调用tran.m的命令文件main1.m: x=input('Please input x=:'); y=input('Please input y=:'); [rho,the]=tran(x,y); rho the
例1 在0≤x≤2p区间内,绘制曲线 y=2e-0.5xcos(4πx) 程序如下: x=0:pi/100:2*pi; y=2*exp(-0.5*x).*cos(4*pi*x); plot(x,y),grid on;
4.编程实现下表功能
b a A<1 a≥1 b≤0.5 语句 1 语句 3 B>0.5 语句 2 语句 4
5.有一矩阵A,找出矩阵中其值大于1的元素,并 将它们重新排列成列向量B。 6.在一测量矩阵A(100×3)中,存在有奇异值(假设 大于100的值认为是奇异值),编程实现删去奇异 值所在的行。 7.在给定的100×100矩阵中,删去整行内容全为0 的行,删去整列内容全为0的列。
0 0 8 a 0 7 5 2 3 0
MATLAB平时练习题(附答案)

一、填空题1、MATLAB常用操作界面包括、工作空间窗口、、、内存数组编辑器、M文件编辑/调试器、帮助导航/浏览器、图形窗口等。
2、MATLAB中Inf或inf表示、NaN或nan表示、nargout表示。
3、MATLAB中逗号主要用作;用作输入量与输入量之间的分隔符;。
4、工作空间浏览器主要用于内存变量的、和。
5、MATLAB实现将全下标转换为单下标的指令为、据单下标换算出全下标的指令为。
6、二维数组的标识有、、“逻辑1”标识。
二、简述下列命令在MATLAB中的作用1.clf %清除图对象clear %清除工作空间内的所有变量clc %清除当前屏幕上显示的所有内容,但不清除工作空间中的数据2.ceil %沿+∞方向取整factor %符号计算的因式分解3.sph2cart %球坐标变为直角坐标pow2 %2的幂4.digits(d) %设置当前的可变算术精度的位数为整数 d 位vpa(pi,100) %设置当前pi的小数位数为1005.box on %打开框状坐标轴开grid off %网格关6.logspace %对数分度向量cat %串接成高维数组7.sym2poly %符号多项式转变为双精度多项式系数向量poly2sym %双精度多项式系数转变为向量符号多项式8.plot3 %三维线图poly2str %以习惯方式显示多项式9.bar %二维直方图pie %二维饼图10.zoom on %打开图形缩放模式 edit %M文件编辑11.whos %对当前工作空间变量的信息进行列表figure %生成图形窗口12.cart2sph %直角坐标变为球坐标pol2cart % 极或柱坐标变为直角坐标13.diff %数值差分、符号微分14.ezplot3 %画三维曲线的简捷指令fix %向零取整factor %符号计算的因式分解三简答题1.叙述MATLAB的主要窗口包括哪些?其作用是什么?命令窗口(Commend Window)——供输入命令,实现计算或绘图功能。
MATLAB习题参考答案(胡良剑

第一章 MATLAB 入门4、求近似解解:>> x=-2:0.05:2;y=x.^4-2.^x两个近似解:y1=f(-0.85)= -0.0328; y2=f(1.250)= 0.0630第二章 MATLAB 编程与作图1、 设x 是数组,求均值和方差解:函数文件如下:function [xx,s]=func1(x)n=length(x);xx=sum(x)/n;s=sqrt((sum(x.^2)-n*xx^2)/(n-1));命令窗口:>> x=[1 2 3 4 5];[xx,s]=func1(x)2、求满足的最小m 值 100)1ln(0>+∑=m n n s=0;n=0;while(s<=100)s=s+log(1+n);n=n+1;endn,s3、用循环语句形成Fibonacci 数列,....4,3,,12121=+===−−k F F F F F k k k 。
并验证极限2511+→−k k F F (提示:计算至两边误差小于精度1e-8为止) 解: 求Fibonacci 数列的函数文件:function f=fun(n)if n<=2f=1;elsef=fun(n-1)+fun(n-2);end验证极限的函数文件:function [k,a]=funTest(e)a=abs(1-(1+sqrt(5))/2);k=2;while(a>e)k=k+1;a=abs(fun(k)/fun(k-1)-(1+sqrt(5))/2);end命令行:>> [k,a]=funTest(10^-8)k =21a =9.7719e-009或者M 文件如下:clear; F(1)=1;F(2)=1;k=2;x=0;e=1e-8; a=(1+sqrt(5))/2;while abs(x-a)>ek=k+1; F(k)=F(k-1)+F(k-2); x=F(k)/F(k-1);enda,x,k4、分别用for 和while 循环结构编写程序,求出∑==610123i i K ,并考虑一种避免循环语句的程序设计,比较各种算法的运行时间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.输入20个数,求其中最大数和最小数。
要求分别用循环结构和调用MA TLAB的max函数、min函数来实现。
a=rand(1,20);max1=max(a) %用max函数求最大值min1=min(a) %用max函数求最大值%以下用循环方法求解:max2=a(1);min2=a(1);for i=2:20if a(i)>max2max2=a(i);endif a(i)<min2min2=a(i);endendmax2min2调用MATLAB的max函数、min函数来实现:>> a=rand(1,20)zuidazhi=max(a)zuixiaozhi=min(a)a =Columns 1 through 80.7513 0.2551 0.5060 0.6991 0.8909 0.9593 0.5472 0.1386 Columns 9 through 160.1493 0.2575 0.8407 0.2543 0.8143 0.2435 0.9293 0.3500 Columns 17 through 200.1966 0.2511 0.6160 0.4733zuidazhi =0.9593zuixiaozhi =0.13862. 求Fibonacci数列(1)大于4000的最小项。
(2)5000之内的项数。
(1)function t=fibonacc1f=[1,1];n=2;while 1f=[f,f(n-1)+f(n)];n=length(f);if f(n)>4000break;endendt=f(n);return(2)function n=fibonacc2f=[1,1];n=2;while 1f=[f,f(n-1)+f(n)];n=length(f);if f(n)>4000break;endendn=n-1;return3. 写出下列程序的输出结果:s=0;a=[12,13,14;15,16,17;18,19,20;21,22,23];for k=afor j=1:4if rem(k(j),2)~=0s=s+k(j);endendendSAns=1081、解方程组Ax =b ,分别用求逆解法与直接解法求其解。
A=[2 -1 0 0 0;-1 2 -1 0 0;0 -1 2 -1 0;0 0 -1 2 -1;0 0 0 -1 2]; b=[1;0;0;0;0]; x=inv(A)*b2、编一个m 程序,求N 阶方阵A 的行列式的值 function s=mydet(A) n=size(A);if (n(1)~=n(2)) return ; endn=n(1); if (n==1) s=A; return ; end s=0;for i=1:ns=s-(-1)^i*A(1,i)*mydet(A(2:n,[1:i-1 i+1:n])); end3.今有多项式P1(x)=x4-2x+1,P2(x)=x2+4x-0.5,要求先求得P(x)=P1(x)+P2(x),然后计算xi=0.2*i 各点上的P(xi)(i=0,1,2,…,5)值。
p1=[1.0 0.0 0.0 -2.0 1.0]; p2=[0.0 0.0 1.0 4.0 -0.5]; p1x=poly2sym(p1); p2x=poly2sym(p2); p=p1x+p2x⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡--------=00001,2100012100012100012100012b A4.试编一个m程序,将一维数组x中的N个数按颠倒的次序重新存储。
如N=5,原来x 为:x=[ 1 3 5 7 9 ]而经过颠倒处理后x中数据的次序应该为:x=[ 9 7 5 3 1 ]x=[ 1 3 5 7 9 ]xx=rot90(rot90(x))1.在[0 2π]范围内绘制二维曲线图y=sin(x)*cos(5x)。
x = 0:pi/10:2*pi;y = sin(x).*cos(5*x)plot(x,y)2.在[0 2π]范围内绘制以Y轴为对数的二维曲线图。
y=|1000sin(4x)|+1x=linspace(0,2*pi,100);y=abs(1000*sin(4*x))+1;semilogy(x,y)3. 把自己姓名中的各个拼音字母(小写)所对应的ASCII值转换为二进制序列,并用二进制脉冲绘图表示出来mingzi='shaopengpeng';% b=dec2bin(int8(s))b=double(mingzi)c=dec2bin(b)c=c'stem(str2num(c(:)))1 Matlab介绍MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。
是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink 两大部分。
MATLAB应用非常之广泛!MATLAB和Mathematica、Maple并称为三大数学软件。
它在数学类科技应用软件中在数值计算方面首屈一指。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。
在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB 爱好者都编写了一些经典的程序,用户直接进行下载就可以用。
优势特点:1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2) 具有完备的图形处理功能,实现计算结果和编程的可视化;3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。
2 习题第三讲1.输入20个数,求其中最大数和最小数。
要求分别用循环结构和调用MATLAB的max函数、min函数来实现。
用循环结构的程序:>> a=[1 3 5 -1 20 23 -8 39 -3 7 -4 -11 34 -31 12 13 33 -43 -50 45]c=a(1);d=a(1);for n=1:20;if a(n)>cb=a(n);c=a(n);else b=c;end;end;for n=1:20;if a(n)<dc=a(n);d=a(n);else c=d;end;end;bc运行结果:a =Columns 1 through 171 3 5 -1 20 23 -8 39 -3 7 -4 -11 34 -31 12 13 33Columns 18 through 20-43 -50 45结果b =45c =-50调用MATLAB的max函数、min函数来实现:的程序>> a=[1 3 5 -1 20 23 -8 39 -3 7 -4 -11 34 -31 12 13 33 -43 -50 45]b=max(a);d=min(a);bd运行结果:a =Columns 1 through 171 3 5 -1 20 23 -8 39 -3 7 -4 -11 34 -31 12 13 33Columns 18 through 20-43 -50 45结果b =45d =-502. 求Fibonacci数列(1)大于4000的最小项。
(2)5000之内的项数。
3、写出下列程序的输出结果:s=0;a=[12,13,14;15,16,17;18,19,20;21,22,23]; for k=afor j=1:4if rem(k(j),2)~=0 s=s+k(j); end end end s运行结果:s=108第四章习题1、解方程组Ax =b ,分别用求逆解法与直接解法求其解。
⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡--------=00001,2100012100012100012100012b A2、编一个m程序,求N阶方阵A的行列式的值。
3、今有多项式P1(x)=x4-2x+1,P2(x)=x2+4x-0.5,要求先求得P(x)=P1(x)+P2(x),然后计算xi=0.2*i各点上的P(xi)(i=0,1,2, (5)值。
4.试编一个m程序,将一维数组x中的N个数按颠倒的次序重新存储。
如N=5,原来x为:x=[ 1 3 5 7 9 ]而经过颠倒处理后x中数据的次序应该为:x=[ 9 7 5 3 1 ]第五章习题1.在[0 2π]范围内绘制二维曲线图y=sin(x)*cos(5x)。
x=0:pi/100:2*pi;y=sin(x).*cos(5*x);plot(x,y)01234567-1-0.8-0.6-0.4-0.20.20.40.60.812.在[0 2π]范围内绘制以Y 轴为对数的二维曲线图。
y=|1000sin(4x)|+1x=(0:0.01:2*pi);y=abs(1000*sin(4*x))+1;semilogy(x,y);0200400600800100012003、把自己姓名中的各个拼音字母(小写)所对应的ASCII 值转换为二进制序列,并用二进制脉冲绘图表示出来a='shaopengpeng';b=dec2bin(a);stem(str2num(b(:)))3 心得体会Matlab是一个强大的数学工具,它的应用广泛,涉及到各个领域.它使用起来十分方便,不用麻烦去定义变量.它的绘图能力很强,甚至可以模拟出三维视图.矩阵是它应用的核心,许多工程繁琐的运算都需要靠矩阵来化简,这正是它的生命力所在.但是,他的函数很多,开始学时记的比较痛苦,我已经深深感觉到了.不过看多了也就熟了,感觉和学五笔差不多.它的语法简单,像我学过C语言的学起来还是蛮容易的.它的数组定义十分符合自然,是从1开始的,数组元素的调用也很接近数学的表达.此外,函数的名字也很符合英文规则,反正我用得很开心就是了.通过学习matlab,我又一次锻炼了自己的思维.它学起来得心应手也让我明白了学习一门语言(c语言)对学习其他语言的帮助指导作用.同时,它也加强了我理论联系实际的能力.这是一个专业课的基础工具,学好它是必要的。