MATLAB答案
matlab考试题库及答案大学
matlab考试题库及答案大学# MATLAB考试题库及答案大学一、选择题1. MATLAB中用于生成0到1之间均匀分布随机数的函数是: - A. rand- B. randi- C. randperm- D. randn答案:A2. 下列哪个命令可以用于绘制函数图像?- A. plot- B. text- C. title- D. xlabel答案:A3. MATLAB中,以下哪个不是矩阵的属性?- A. size- B. length- C. rank- D. transpose答案:D4. 以下哪个函数可以用于求解线性方程组?- A. solve- B. linsolve- C. linprog- D. fsolve答案:A5. MATLAB中,用于计算矩阵特征值的函数是:- A. eig- B. eign- C. eigen- D. eigenvalue答案:A二、填空题1. MATLAB的基本数据单位是________。
答案:矩阵2. 使用MATLAB进行数值计算时,可以利用________来存储数据。
答案:变量3. MATLAB中的向量可以是________或________。
- 答案:行向量;列向量4. 矩阵的转置可以通过________操作实现。
答案:.'5. MATLAB中,使用________函数可以计算矩阵的行列式。
答案:det三、简答题1. 简述MATLAB中使用循环结构的注意事项。
答案:在MATLAB中使用循环结构时,应注意以下几点:确保循环体内部逻辑正确,避免无限循环;使用for循环时,循环变量的初始化和步长设置要合理;使用while循环时,循环条件要明确,确保循环能够正常退出。
2. 描述MATLAB中如何实现数组的多维索引。
答案:在MATLAB中,多维数组的索引可以通过使用圆括号来实现,每个维度的索引用逗号分隔。
例如,对于一个三维数组A,可以使用A(i,j,k)来访问第i行、第j列、第k层的元素。
大学matlab考试题及答案
大学matlab考试题及答案大学MATLAB考试题及答案一、选择题1. MATLAB的全称是什么?A. Matrix LaboratoryB. Microprocessor Application Tool SetC. Microsoft Advanced Tool SetD. Microprocessor Application Test System答案:A2. 在MATLAB中,以下哪个命令用于绘制三维图形?A. plotB. scatterC. surfD. bar答案:C3. MATLAB中用于求解线性方程组的函数是?A. solveB. linsolveC. linprogD. fsolve答案:A二、简答题1. 简述MATLAB的基本数据类型有哪些,并给出至少两个每种类型的示例。
答案:MATLAB的基本数据类型包括数值数组、字符数组和单元数组。
数值数组可以是向量、矩阵或多维数组。
例如,向量 `v = [1 2 3]`,矩阵 `M = [1 2; 3 4]`。
字符数组是由单引号或双引号括起来的字符序列,如 `C = 'Hello'`。
单元数组可以包含不同类型的数据,如`{1, 'text', [1; 2; 3]}`。
2. 描述如何在MATLAB中实现矩阵的转置和翻转。
答案:矩阵的转置可以通过 `'T'` 来实现,例如 `A'` 表示矩阵A 的转置。
矩阵的翻转可以通过 `flip` 函数实现,例如 `flip(A)` 可以翻转矩阵A的所有行和列,`flipud(A)` 仅翻转矩阵A的行,而`fliplr(A)` 仅翻转矩阵A的列。
三、编程题1. 编写一个MATLAB函数,该函数接受一个向量作为输入,并返回向量中所有元素的和以及平均值。
```matlabfunction [sumVal, avgVal] = calculateSumAndAverage(V)sumVal = sum(V);avgVal = mean(V);end```2. 设计一个MATLAB脚本来解决以下问题:给定一个3x3的矩阵,找出其中最大的元素,并显示其位置。
MATLAB课后习题集附标准答案
第2章MATLAB概论1、与其他计算机语言相比较,MA TLAB语言突出的特点是什么?答:起点高、人机界面适合科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强.2、MA TLAB系统由那些部分组成?答:开发环境、MATLAB数学函数库、MATLAB语言、图形功能、应用程序接口3、安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?答:在安装MATLAB时,安装内容由选择组件窗口中各复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装.第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可.4、MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?答:在MATLAB操作桌面上有五个窗口,在每个窗口的右下角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口称为独立的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面称为独立窗口,在独立窗口的view菜单中选择Dock,菜单项就可以将独立的窗口重新防止的桌面上.5、如何启动M文件编辑/调试器?答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动.在命令窗口中键入edit命令时也可以启动M文件编辑/调试器.6、存储在工作空间中的数组能编辑吗?如何操作?答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可.7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中.8、如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别?答:当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的Set Path菜单项来完成.在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上.9、在MA TLAB中有几种获得帮助的途径?答:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器.(2)help命令:在命令窗口键入“help”命令可以列出帮助主题,键入“help 函数名”可以得到指定函数的在线帮助信息.(3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数.(4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数.注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息.第3章 MATLAB 数值运算3.1在MA TLAB 中如何建立矩阵⎥⎦⎤⎢⎣⎡194375,并将其赋予变量a ? 答:在Command Window 窗口输入操作:>> a=[5 7 3;4 9 1]3.2有几种建立矩阵的方法?各有什么优点? 答:(1)直接输入法,如a=[1 2 3 4],优点是输入方法方便简捷;(2)通过M 文件建立矩阵,该方法适用于建立尺寸较大的矩阵,并且易于修改; (3)由函数建立,如y=sin(x),可以由MATLAB 的内部函数建立一些特殊矩阵; (4)通过数据文件建立,该方法可以调用由其他软件产生数据.3.3在进行算术运算时,数组运算和矩阵运算各有什么要求?答:进行数组运算的两个数组必须有相同的尺寸.进行矩阵运算的两个矩阵必须满足矩阵运算规则,如矩阵a 与b 相乘(a*b )时必须满足a 的列数等于b 的行数.渗釤呛俨匀谔鱉调硯錦。
大学matlab考试题及答案
大学matlab考试题及答案一、选择题(每题2分,共10分)1. MATLAB中用于创建向量的命令是?A. vectorB. arrayC. linspaceD. [ ]答案:D2. 以下哪个函数用于计算矩阵的行列式?A. detB. rankC. invD. eig答案:A3. 在MATLAB中,以下哪个命令用于绘制三维曲面?A. plot3B. surfC. meshD. contour答案:B4. MATLAB中,以下哪个函数用于求解非线性方程?A. fsolveB. fzeroC. linsolveD. solve答案:A5. 如何在MATLAB中创建一个全为1的3x3矩阵?A. ones(3,3)B. zeros(3,3)C. eye(3,3)D. rand(3,3)答案:A二、填空题(每题3分,共15分)1. 在MATLAB中,使用________函数可以计算矩阵的逆。
答案:inv2. 要将向量[1, 2, 3]转置成行向量,可以使用________运算符。
答案:.'3. MATLAB中,________函数用于计算两个矩阵的点乘。
答案:dot4. 若要在MATLAB中生成一个从0到1的100个等间隔的数,可以使用________函数。
答案:linspace5. 使用________函数可以在MATLAB中创建一个随机数矩阵。
答案:rand三、简答题(每题5分,共20分)1. 描述MATLAB中矩阵的基本操作有哪些?答案:矩阵的基本操作包括矩阵的创建、转置、加法、减法、乘法、点乘、求逆、行列式计算、特征值和特征向量的计算等。
2. MATLAB中如何实现循环结构?答案:MATLAB中可以使用for循环、while循环和switch-case结构来实现循环结构。
3. 简述MATLAB中函数定义的基本语法。
答案:MATLAB中函数定义的基本语法是:function [输出参数列表] = 函数名(输入参数列表)函数体end4. MATLAB中如何实现条件判断?答案:MATLAB中可以使用if-else语句、switch-case语句来实现条件判断。
matlab课后习题答案(附图)
matlab课后习题答案(附图)习题2.1画出下列常见曲线的图形y (1)⽴⽅抛物线3x命令:syms x y;ezplot('x.^(1/3)')(2)⾼斯曲线y=e^(-X^2);命令:clearsyms x y;ezplot('exp(-x*x)')(3)笛卡尔曲线命令:>> clear>> syms x y;>> a=1;>> ezplot(x^3+y^3-3*a*x*y)(4)蔓叶线命令:>> clear>> syms x y;>> a=1ezplot(y^2-(x^3)/(a-x))(5)摆线:()()tsin-=,=-by1命令:>> clear>> t=0:0.1:2*pi;>> x=t-sin(t);>>y=2*(1-cos(t)); >> plot(x,y)7螺旋线命令:>> clear >> t=0:0.1:2*pi; >> x=cos(t); >> y=sin(t); >> z=t;>>plot3(x,y,z)(8)阿基⽶德螺线命令:clear>> theta=0:0.1:2*pi;>> rho1=(theta);>> subplot(1,2,1),polar(theta,rho1)(9) 对数螺线命令:cleartheta=0:0.1:2*pi;rho1=exp(theta);subplot(1,2,1),polar(theta,rho1)(12)⼼形线命令:>> clear >> theta=0:0.1:2*pi; >> rho1=1+cos(theta); >> subplot(1,2,1),polar(theta,rho1)练习2.21. 求出下列极限值(1)nnn n3→命令:>>syms n>>limit((n^3+3^n)^(1/n)) ans = 3(2))121(lim n n n n ++-+∞→命令:>>syms n>>limit((n+2)^(1/2)-2*(n+1)^(1/2)+n^(1/2),n,inf) ans = 0(3)x x x 2cot lim 0→命令:syms x ;>> limit(x*cot(2*x),x,0) ans = 1/2 (4))(coslimcm xx ∞→命令:syms x m ; limit((cos(m/x))^x,x,inf) ans = 1(5))111(lim 1--→exx x命令:syms x>> limit(1/x-1/(exp(x)-1),x,1) ans =(exp(1)-2)/(exp(1)-1) (6))(2lim x x xx -+∞>> limit((x^2+x)^(1/2)-x,x,inf)ans = 1/2练习2.41. 求下列不定积分,并⽤diff 验证:(1)+x dxcos 1>>Clear >> syms x y >> y=1/(1+cos(x)); >> f=int(y,x) f =tan(1/2*x) >> y=tan(1/2*x); >> yx=diff(y ,x); >> y1=simple(yx) y1 =1/2+1/2*tan(1/2*x)^2 (2)+exdx1clear syms x yy=1/(1+exp(x));f=int(y,x) f =-log(1+exp(x))+log(exp(x)) syms x yy=-log(1+exp(x))+log(exp(x)); yx=diff(y,x); y1=simple(yx) y1 = 1/(1+exp(x)) (3)dx x x ?sin 2syms x yy=x*sin(x)^2; >> f=int(y,x) f =x*(-1/2*cos(x)*sin(x)+1/2*x)-1/4*cos(x)^2-1/4*x^2 clearsyms x y y=x*(-1/2*cos(x)*sin(x)+1/2*x)-1/4*cos(x)^2-1/4*x^2; yx=diff(y,x); >> y1=simple(yx) y1 = x*sin(x)^2 (4)xdx ?sec3syms x y y=sec(x)^3;f=int(y,x) f =1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x)) clear syms x yy=1/2/cos(x)^2*sin(x)+1/2*log(sec(x)+tan(x)); yx=diff(y,x); y1=simple(yx) y1 =1/cos(x)^32. 求下列积分的数值解 1)dx x-10clearsyms xy=int(x^(-x),x,0,1) y =int(x^(-x),x = 0 .. 1) vpa(y,10) ans =1.291285997 2)xdx e x cos3202?πclearsyms xy=int(exp(2*x)*cos(x)^3,x, clear syms xy=int((1/(2*pi)^(1/2))*exp(-x^2/2),x,0,1) y =7186705221432913/36028797018963968*erf(1/2*2^(1/2))*2^(1/2)*pi^(1/0,2*pi) y =22/65*exp(pi)^4-22/65vpa(ans,10)(3)dx xe21221-π>> clear >> syms x>> y=int(1/(2*pi)^(1/2)*exp(-x^2/2),0,1); >> vpa(y,14) ans =.341344746068552(4)>> clear >> syms x>> y=int(x*log(x^4)*asin(1/x^2),1,3); Warning: Explicit integral could not be found. > In sym.int at 58 >> vpa(y,14) ans = 2.45977212823752(5) >> clear >> syms x1判断下列级数的收敛性,若收敛,求出其收敛值。
MATLAB)课后实验答案
实验一 MATLAB 运算基础1、 先求下列表达式得值,然后显示MATLAB 工作空间得使用情况并保存全部变量。
(1) 0122sin 851z e =+(2) 21ln(2z x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--L (4) 2242011122123t 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 分别为单位矩阵、随机矩阵、零矩阵与对角阵,试通过数值计算验证22E R RS A OS +⎡⎤=⎢⎥⎣⎦。
解: M 文件如下;5、 下面就是一个线性方程组:1231112340.951110.673450.52111456x x x ⎡⎤⎢⎥⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦(1) 求方程得解。
(2) 将方程右边向量元素b 3改为0、53再求解,并比较b 3得变化与解得相对变化。
(3) 计算系数矩阵A 得条件数并分析结论。
解: M 文件如下:实验三 选择结构程序设计1、 求分段函数得值。
2226035605231x x x x y x x x x x x x ⎧+-<≠-⎪=-+≤<≠≠⎨⎪--⎩且且及其他用if 语句实现,分别输出x=-5、0,-3、0,1、0,2、0,2、5,3、0,5、0时得y 值。
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期末考试题及答案
matlab期末考试题及答案MATLAB期末考试题及答案一、选择题(每题2分,共20分)1. MATLAB中用于创建向量的函数是:A. vectorB. arrayC. linspaceD. ones答案:D2. 下列哪个命令可以计算矩阵的行列式?A. detB. diagC. traceD. rank答案:A3. 在MATLAB中,以下哪个选项是用于绘制三维图形的?A. plotB. plot3C. barD. scatter答案:B4. MATLAB中,用于计算向量范数的函数是:A. normB. meanC. medianD. std答案:A5. 下列哪个命令可以用于创建一个二维数组?A. array2dB. matrixC. create2dD. make2d答案:B6. MATLAB中,用于求解线性方程组的函数是:A. solveB. linsolveC. equationD. linprog答案:A7. 以下哪个函数可以用于生成随机数?A. randB. randomC. randnD. randi答案:A8. MATLAB中,用于实现循环结构的关键字是:A. loopB. forC. whileD. repeat答案:B9. 下列哪个命令可以用于绘制函数图形?A. plotB. graphC. drawD. functionplot答案:A10. MATLAB中,用于计算矩阵特征值的函数是:A. eigB. eigenvalueC. characteristicD. eigen答案:A二、简答题(每题5分,共30分)1. 简述MATLAB中矩阵的基本操作有哪些?答案:矩阵的基本操作包括矩阵的创建、矩阵的加法、减法、乘法、转置、求逆、求行列式等。
2. MATLAB中如何实现条件语句?答案:MATLAB中实现条件语句主要使用if-else结构,也可以使用switch-case结构。
3. 请解释MATLAB中的函数定义方式。
Matlab习题答案
参考答案: (1) >> (3-5*i)*(4+2*i) ans =
22.0000 -14.0000i
(2) >> sin(2-8*i) ans =
1.3553e+003 +6.2026e+002i
5.判断下面语句的运算结果。 (1) 4 < 20 (2) 4 <= 20 (3) 4 == 20 (4) 4 ~= 20 (5) 'b'<'B' 参考答案: (1) >> 4<20 ans =
y_nearest(i)=interp1(x,y,scalar_x(i),'nearest'); y_linear(i) =interp1(x,y,scalar_x(i),'linear'); y_spline(i) =interp1(x,y,scalar_x(i),'spline'); y_cubic(i) =interp1(x,y,scalar_x(i),'cubic'); end subplot(2,2,1),plot(x,y,'*'),hold on,plot(scalar_x,y_nearest),title('method=nearest'); subplot(2,2,2),plot(x,y,'*'),hold on,plot(scalar_x,y_linear),title('method=linear'); subplot(2,2,3),plot(x,y,'*'),hold on,plot(scalar_x,y_spline),title('method=spline'); subplot(2,2,4),plot(x,y,'*'),hold on,plot(scalar_x,y_cubic),title('method=cubic'); 得到结果为:
matlab 部分答案
⎡ 3sin x ⎤ 11.设 y = cos x ⎢0.5 + ⎥ ,把 x = 0 ~ 2π 间分为 125 点,画出以 x 为横坐标, y 为纵坐标 (1 + x 2 ) ⎦ ⎣
的曲线。 MATLAB:x=0:2*pi/125:2*pi; y=cos(x*(0.5+3*sin(x)/(1+x.*x))); plot(x, y) 12.设 x = z sin 3z , y = z cos 3 z ,要求画出在 z = −45 ~ 45 区间内画出 x, y, z 三维曲线。 MATLAB: z=-45:0.02:45; x=z.*sin(3*z); y=z.*cos(3*z);
2.在某处测得海洋不同深度处水温如下:
深度(M) 水温 446 7.04 714 4.28 950 3.40 1422 2.54
利用分段线性插值函数,求在深度 500 米、1000 米、1500 米处的水温。 3. 已知四点 P1(1,0) ,P2(0,1),P1(-1,0),P4(0,-1),利用样条插值函数画一通过这四点的 圆。
ww w
.k
hd a
w. c
方法二:建立函数文件myfun.m
om
MATLAB:方法一:>> y=quad('exp(-x)+x.^2',0,1)
⎧12 y 2 f ( x, y ) = ⎨ ⎩ 0
求 E ( X ) 、 E (Y ) 、 E ( XY ) 。
0 ≤ y ≤ x ≤1 其它
18.生成一个 4 × 4 的随机矩阵,并对其进行三角分解和正交分解。
10.设有对称实矩阵
⎡2 4 9 ⎤ ⎥ a=⎢ ⎢4 2 4 ⎥ ⎢ ⎣9 4 18⎥ ⎦
Matlab考试题库答案
一、选择题共10小题二、填空题共10空三、看程序填空四、编程题 3题填空题(计算部分)1、标点符号; _______可以使命令行不显示运算结果,%——用来表示该行为注释行。
2、x为0~4pi,步长为0.1pi的向量,使用命令_______创建。
x=0:0.1*pi:4*pi3、输入矩阵A=,使用全下标方式用A(2,2) 取出元素“-5”,使用单下标方式用_______取出元素“-5”。
A(5)4、符号表达式sin(2*a+t)+m 中独立的符号变量为_______。
t5、M脚本文件和M函数文件的主要区别是M脚本文件没有函数定义和M函数文件有函数定义_______。
6. 设x是一维数组,x的倒数第3个元素表示为_______;设y为二维数组,要删除y的第34行和48列,可使用命令_______; _______;x(_end-2_)y(34,:)=[]y(:,48)=[]7. 将变量x以Ascii文本格式存储到文件fname.txt,应使用命令_________ _;save _x8. 在while 表达式, 语句体, End 循环语句中,表达式的值__ __时表示循环条件为真,语句体将被执行,否则跳出该循环语句;非零9.要从键盘读入一个字符串并赋值给变量x,且给出提示“Who is she?”,应使用命令_________;x=input(‘Who is she?’,’s’)_10.设A=和B=和C=均为m*n矩阵,且存在于WorkSpace中,要产生矩阵D=,可用命令________ _,计算可用命令________;D=(A-C)/B.^Cdet(inv(A’*B)11. 在MATLAB命令窗口中的“>>”标志为MATLAB的_______提示符,“│”标志为_______提示符。
命令行输入12.已知A=[1 2 3;4 5 0;7 8 9];B=[1 0 3;1 5 0;0 1 2];写出下列各指令运行的结果。
matlab课后答案完整版
matlab课后答案完整版ones表⽰1矩阵zeros表⽰0矩阵ones(4)表⽰4x4的1矩阵zeros(4)表⽰4x4的0矩阵zeros(4,5)表⽰4x5的矩阵eye(10,10)表⽰10x10的单位矩阵rand(4,5)表⽰4x5的伴随矩阵det(a)表⽰计算a的⾏列式inv(a)表⽰计算a的逆矩阵Jordan(a)表⽰求a矩阵的约当标准块rank(a)表⽰求矩阵a的秩[v,d]=eig(a)对⾓矩阵b=a’表⽰求a矩阵的转置矩阵sqrt表⽰求平⽅根exp表⽰⾃然指数函数log⾃然对数函数abs绝对值第⼀章⼀、5(1)b=[97 67 34 10;-78 75 65 5;32 5 -23 -59]; >> c=[97 67;-78 75;32 5;0 -12]; >> d=[65 5;-23 -59;54 7];>> e=b*ce =5271 11574-11336 6641978 3112(2)a=50:1:100⼆、1 、x=-74;y=-27;z=(sin(x.^2+y.^2))/(sqrt(tan(abs(x+y)))+pi) z =-0.09012、a=-3.0:0.1:3.0;>> b=exp(-0.3*a).*sin(a+0.3)y =0.7218 1.0474-0.2180 1.15624、a*b表⽰a矩阵和b矩阵相乘a.*b表⽰a矩阵和b矩阵单个元素相乘A(m,n)表⽰取a矩阵第m⾏,第n列A(m,:)表⽰取a矩阵第m⾏的全部元素A(:,n)表⽰取a矩阵的第n列全部元素A./B表⽰a矩阵除以b矩阵的对应元素,B.\A等价于A./BA.^B表⽰两个矩阵对应元素进⾏乘⽅运算A.^2表⽰a中的每个元素的平⽅A^2表⽰A*A例:x=[1,2,3];y=[4,5,6];z=x.^yz=1 32 729指数可以是标量(如y=2).底数也可以是标量(如x=2)5、a=1+2i;>> b=3+4i;>> c=exp((pi*i)/6)c =0.8660 + 0.5000id=c+a*b/(a+b)d =1.6353 + 1.8462i第⼆章⼆、4、(1)y=0;k=0;>> while y<3k=k+1;>> display([k-1,y-1/(2*k-1)])ans =56.0000 2.9944第三章⼆1(1) x=0:pi/10:2*pi; >> y=x-x.^3/6; >> plot(x,y)1234567-40-35-30-25-20-15-10-505(2)x=0:pi/10:2*pi; y=(exp(-x.^2/2))/2*pi;plot(x,y)012345670.20.40.60.811.21.41.6(3)x=-8:0.01:8; y=sqrt((64-x.^2)/2);plot(x,y)-8-6-4-2024680123456(4)t=0:0.1:8*pi; >> x=t.*sin(t); >> y=t.*cos(t);-25-20-15-10-50510152025-30-20-10102030例3.4x=0:pi/100:2*pi; y1=exp(-0.5*x);y2=exp(-0.5*x).*sin(2*x); plot(x,y1,x,y2)>> title('x from 0 to 2{\pi} '); >> xlabel('variable x'); >> ylabel('variable y'); >> text(1.5,0.5,'曲线y1=e^(-0.5x)'); >> text(3,0.1,'曲线y2=cos(4{\pi}x)e^{-0.5x}'); >> legend('y1','y2')1234567-0.4-0.20.20.40.60.81x from 0 to 2πvariable xv a r i a b l e y曲线y1=e (-0.5x)曲线y2=cos(4πx)e -0.5xy1y22、(1)y1=2*x-0.5;t=linspace(0,pi,100); x=sin(3*t).*cos(t); y=sin(3*t).*sin(t);>> k=find(abs(y-x)<1e-2); >> t1=t(k) t1 =0 0.7933 1.04722.0944>> z=sin(3.*(t1)).*cos(t1) z =0 0.4841 0.0000 0.0000 -0.0000>> plot(t,x,t,y,'k:',t1,z,'bp');0.511.522.533.5-1-0.8-0.6-0.4-0.200.20.40.60.81(2)subplot(1,2,1); >> scatter(x1,y1,10); >> title('y=2x-0.5'); >> subplot(1,2,2); >> scatter(x,y,10)-1-0.8-0.6-0.4-0.200.20.40.60.81-1-0.8-0.6-0.4-0.200.20.40.63、subplot(1,2,1); x=0:0.01:pi; y=sin(1./x); plot(x,y)subplot(1,2,2);fplot('sin(1./x)',[1,100])1234-1-0.8-0.6-0.4-0.200.20.40.60.81204060801000.10.20.30.44、t=0:pi:2*pi; y=1./(1+exp(-t));subplot(2,2,1);%图形窗⼝的分割bar(t,'group'); %绘制柱形图(分组) subplot(2,2,2);barh(t,'stack');%绘制柱形图(堆积) subplot(2,2,3);loglog(t,y); %函数使⽤全对数坐标,x,y 均采⽤常⽤对数刻度 subplot(2,2,4); semilogy(t,y); %函数使⽤半对数坐标,y 轴为常⽤对数刻度,x 轴仍为线性刻度1230246802468123100.5100.710-0.01810-0.0010246810-0.310-0.210-0.15、(1)theta=linspace(-pi,pi,100); ro=5.*cos(theta)+4; polar(theta,ro); (2)x=linspace(0,2*pi,100);a=1>> r=a.*(1+cos(x)); polar(x,r);3021060240902701203001503301806、(1)t=0:pi/10:2*pi;>> x=exp((-t)/20).*cos(t); >> y=exp((-t)/20).*sin(t); >> z=t; >> plot3(x,y,z);-1-0.50.51-1-0.50.5102468(2)t=0:0.01:1; x=t;>> y=t.^2; >> z=t.^3;>> plot3(x,y,z);0.20.40.60.800.20.40.60.817、x=-30:0.1:0; >> y=0:0.1:30;>> [x,y]=meshgrid(x,y); >>z=10.*sin(sqrt(x.^2+y.^2))./sqrt(1+x.^2+y.^2);>> meshc(x,y,z);绘制曲⾯图和等⾼线-30-20-10102030-4-202468、x=linspace(-3,3,100); >> y=linspace(-3,3,100); >> [x y]=meshgrid(x,y); %可以将向量转化为矩阵 >> fxy=-5./(1+x.^2+y.^2); >> i=find(abs(x)<=0.8 & abs(y)<=0.5); >> fxy(i)=NaN; >>surf(x,y,fxy) %绘制三维曲⾯图-4-224-4-224-4-3-2-19、u=linspace(1,10,100); v=linspace(-pi,pi,100);[u v]=meshgrid(u,v); x=3.*u.*sin(v); y=2.*u.*cos(v); z=4*u.^2; surf(x,y,z); shading interp;-40-20-1010200100200300400第五章⼆1、a=rand(1,30000);mean(a) %求平均数 ans =0.5010 >>b=std(a) %求标准差 b =0.2882 >> c=max(a) c =0.9999 >> d=min(a) d =3.5706e-005size(find(a>0.5))/size(a) %求⼤于0.5的随机数个数占总数的百分⽐ans =0.50322、h=[466,715,950,1422,1635]; >> w=[7.04,4.28,3.40,2.52,2.13]; >> hh=[500,900,1500]; >> ww=interp1(h,w,hh,'spline')ww =6.4903 3.5226 2.3845 3、x=linspace(1,10,50); y=log(x);f=polyfit(x,y,5); %求曲线的拟合 >> yy=polyval(f,x); >> plot(x,y,'r-',x,yy,'g.') 123456789100.511.522.55、(1)、(2) p1=[1,2,0,7]; p2=[1,-2]; p3=[1,0,5,1]; p12=conv(p1,p2); >>p=p12+[zeros(1,size(p12,2)-size(p3,2)),p3]; >> roots(p) ans =-3.4656 0.6128 + 1.6278i 0.6128 - 1.6278i 1.2400-29 291 95 19 -3 697 -13 697 1427 >>y2=polyvalm(p,a)%以矩阵a 为⾃变量 y2 =391 2084 3273 502 2693 4207 720 3775 5892 6、(1)z=fzero('3*x-sin(x)+1',0) %求x=0时附近的根 z =-0.4903 第⼋章⼆、2t=0:pi/20:2*pi; x=sin(t); y=cos(t); x1=sin(7*t); y1=cos(7*t);h=plot(x,y,x1,y1);set(h,'marker','x','linewidth',2); set(gca,'xtick',-1:0.1:1); title('篮筐')-1-0.9-0.8-0.7-0.6-0.5-0.4-0.3-0.2-0.100.10.20.30.40.50.60.70.80.91 -1-0.8-0.6-0.4-0.200.20.40.60.81篮筐3、x=0:pi/10:5*pi;y=exp(-0.2*x).*cos(x)+2; h=plot(x,y);set(gca,'color','red','linestyle','-','linewidth',3);text(5,2.4,'y=exp(-0.2*x).*cos(x)+2');02468101214161.41.61.822.22.42.62.83y=exp(-0.2*x).*cos(x)+24、t=-pi:pi/100:pi; x=cos(t); y=sin(t); z=t;h=plot(t,x,t,y,t,z);set(h,'linestyle','-','linewidth',3);-4-3-2-101234-4-3-2-101234字符串例ch='Welcome to Beijing';subch=ch(12:18) 选12~18个字符串(空格也算)ans =WELCOME TO BEIJING >> length(k)统计⼩写字母的个数ans = 14 例:已知y=1-1/2+1/3-1/4.........-1/100求y 的值y=0; >> n=100; >> for i=1:100; y=y+(-1)^(i-1)/i; end>> disp(y)0.6882绘制⼆维曲线图x=0:pi/100:2*pi; >> y1=0.2*exp(-0.5*x).*cos(4*pi*x); >> y2=1.5*exp(-0.5*x).*cos(pi*x); >> plotyy(x,y1,x,y2); 7-0.20.20123456-202绘制三维图像例:x=sint+tcost y=cost-tsint z=tt=0:pi/10:10*pi; x=sin(t)+t.*cos(t); y=cos(t)-t.*sin(t); z=t; plot3(x,y,z); axis([-30 30 -30 30 0 35]); 坐标轴的最⼤值与最⼩值title('line in 3-D space'); 图形的题⽬ >> xlabel('x');ylabel('y');zlabel('z'); 标注坐标>> grid on; 加⽹格线 -30-20-10102030-20205101520253035xline in 3-D spaceyz三维例]2/,0[],,0[,cos sin 22ππ∈∈+=y x y x z [x,y]=meshgrid(0:pi/100:pi,0:pi/100:pi/2);>> z=sin(x.^2)+cos(y.^2);>> mesh(x,y,z);>> axis([0 4 0 1.8 -1.5 1.5]); 012340.511.5-1.5-1-0.500.511.5例3.16t=0:pi/20:2*pi; subplot(1,2,1);[x,y,z]=cylinder(sin(t),30);surf(x,y,z); 绘制三维曲⾯图subplot(1,2,2);>> [x,y,z]=peaks(100);>> mesh(x,y,z); 绘制三维⽹格图-11-10100.20.40.60.81-55-505-10-5510多项式求导例:f(x)=1/x^2+5 p=[1];>> q=[1,0,5];>> [p,q]=polyder(p,q)注:c=conv(a,b) 表⽰a 多项式与b 多项式乘积[p,r]=deconv(a,b) 表⽰a 多项式与b 多项式相除其中p 为商向量 r 为余数向量p=polyder(p) 表⽰求p 的导数 p=poleder(p,q) 表⽰求p 乘以q 的导数[p,q]=poleder(p,q) 表⽰p 除以q 的导数多项式求根例:f(x)=2x^4-12x^3+3x^2+5 p=[2,-12,3,0,5]; >> x=roots(p); >> p=[2,-12,3,0,5]; x=roots(p) 求⽅程f(x)=0的根 x =5.7246 0.8997 -0.3122 + 0.6229i -0.3122 - 0.6229i>> g=poly(x) 已知多项式的根求多项式 g =1.0000 -6.0000 1.5000 -0.00002.5000符号求导例7.3x=a(t-tsint)y=b(1-cost) 求y 对x 的⼀阶导数 syms x y a b t;>> f21=a*(t-sin(t)); >> f22=b*(1-cos(t));>> diff(f22)/diff(f21) 求y 对x 的⼀阶导数ans =b*sin(t)/a/(1-cos(t))注:diff(f1,x,2) 表⽰f1对x 的⼆阶导数diff (f3,x )表⽰z 对x 的偏导 diff (f3,y )表⽰z 对y 的偏导求不定积分int(f) 求f 的不定积分 f1=int(f,a,b) 求f 在a ,b 之间的定积分eval (f1)计算积分值符号求极限例7.2 syms x h>> f=(sin(x+h)-sin(x))/h;>> limit(f,h,0) h 趋向于0ans =cos(x)例2f=sym('(1+t/x)^x');limit(f,inf) f趋向于⽆穷ans =exp(t)例3f=sym('x*(sqrt(x^2+1)-x)');limit(f,sym('x'),inf,'left') x 趋向于正⽆穷ans =1/2⼤⼩写ch='Welcome to Beijing';subch=ch(12:18)subch =Beijing>> k=find(ch>='A'&ch<='Z'); ch(k)=ch(k)-('A'-'a');>> char(ch)ans =welcome to beijing>> length(k)ans =2。
MATLAB课后题答案整理
第一章1.利用MATLAB 的帮助功能分别查询inv 、plot 、max 、round 等函数的功能及用法。
Help+函数2.简述MATLAB 的主要功能。
①数值计算和符号计算功能。
②绘图功能。
③编程语言功能。
④扩展功能。
3.help 命令和lookfor 命令有何区别?Help 命令只搜索出那些与关键字完全匹配的结果,lookfor 命令对搜索范围内的M 文件进行关键字搜索,条件比较宽松。
Lookfor 命令只对M 文件的第一行进行关键字搜索。
若在lookfor 命令后加上-all 选项,则可对M 文件进行全文搜索。
第二章1(1))1034245.01(26-⨯+⨯=ww=sqrt(2)*(1+0.34245*10^(-6)) w = 1.4142(2)ac b e abc c b a x ++-+++=)tan(22ππ,其中a=3.5,b=5,c=-9.8。
a=3.5;b=5;c=-9.8;x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/(tan(b+c)+a) x =0.9829(3)])48333.0()41[(22απβππα---=y ,其中α=3.32,β=-7.9。
a=3.32;b=-7.9;y=2*pi*a^2*((1-pi/4)*b-(0.8333-pi/4)*a) y = -128.4271(4))1ln(2122t t e z t ++=,其中t=]65.05312[--i 。
t=[2,1-3i;5,-0.65];z=0.5*exp(2*t)*log(t+sqrt(1+t.*t)) z = 1.0e+004 * 0.0048 + 0.0002i 0.0048 - 0.0034i1.58992.0090 - 1.3580i2.已知]023352138[],7613870451[--=--=B A 求下列表达式的值。
(1)B A 6+和I B A +-2。
MATLAB第一章作业答案
第一章M A T L A B概况与基本操作1.选择题:(1)最初的MATLAB核心程序是采用A语言编写的。
(2)即将于2011年9月发布的MATLAB新版本的编号为D。
2011Ra 2011Rb R2011a R2011b(3)在默认设置中,MATLAB中的注释语句显示的颜色是D。
A.黑色B.蓝色C.红色D.绿色(4)如果要以科学计数法显示15位有效数字,使用的命令是B。
long long e long g long d(5)在命令窗口新建变量a、b,如果只查看变量a的详细信息,使用的命令为B。
a a(6)如果要清除工作空间的所有变量,使用的命令为 C 。
all C.两者都可 D.两者都不可(7)在创建变量时,如果不想立即在命令窗口中输出结果,可以在命令后加上D。
A.冒号B.逗号C.空格D.分号(8)如果要重新执行以前输入的命令,可以使用B键。
A.下箭头↓B.上箭头↑C.左箭头←D.右箭头→(9)如果要查询函数inv的相关信息,并显示在命令窗口,应使用命令A。
D.三者均可(10)如果要启动Notebook文档,下列D操作是可行的。
A.在命令窗口输入notebook命令B.在命令窗口输入notebook filename命令C.在Word中启动M-book文档D.三者均可2.填空题:(1)MATLAB是MATrix和LABoratory两个单词前三个字母的组合,意为“矩阵实验室”,它的创始人是Cleve Moler和Jack Little。
(2)在MATLAB的默认设置中,关键字显示的字体为蓝色,命令、表达式、计算结果显示的字体为黑色,字符串显示的字体为紫色,注释显示的字体为绿色,错误信息显示的字体为红色。
(3)在命令窗口中,输出结果显示为各行之间添加空行的命令为format compact,各行之间不添加空行的命令为format compact。
备注:本题布置给大家时有一点小错误,现在予以更正。
matlab答案
大于0.5的元素的全下标
行号1 3 2 3 3 2 3 1 2
列号1 1 2 2 3 4 4 5 5
大于0.5的元素的单下标
1 3 5 6 9 11 12 13 14
25.在使用123作为rand随机数发生器的初始化状态的情况下,写出产生长度为1000的“等概率双位(即取-1,+1)取值的随机码”程序指令,并给出-1码的数目。
a
ans =
z
4.求符号矩阵 的行列式值和逆,所得结果应采用“子表达式置换”简洁化。
〖答案〗
A =
[ a11, a12, a13]
[ a21, a22, a23]
[ a31, a32, a33]
DA =
a11*a22*a33-a11*a23*a32-a21*a12*a33+a21*a13*a32+a31*a12*a23-a31*a13*a22
for k=10:-1:1
A=reshape(1:10*k,k,10);
Sa(k,:)=sum(A);
end
Sa
习题
31.根据题给的模拟实际测量数据的一组 和 试用数值差分diff或数值梯度gradient指令计算 ,然后把 和 曲线绘制在同一张图上,观察数值求导的后果。(模拟数据从prob_data401.mat获得)
f =
exp(3*t)*sin(4*t)
g =
exp(3*t)*cos(4*t)
习题
23.要求在闭区间 上产生具有10个等距采样点的一维数组。试用两种不同的指令实现。
24.由指令rand('state',0),A=rand(3,5)生成二维数组A,试求该数组中所有大于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。
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于1984年由美国Mathworks公司推出,其后每年更新(两次。
2. MATLAB是一种以(矩阵)运算为基础的交互式程序设计语言。
3. MATLAB具有卓越的数值计算能力和符号计算、文字处理、可视化建模仿真和实时控制等众多功能,其每个变量代表一个(矩阵),每个元素都看作(复数)。
4.通过命令(help)、(lookfor),可以查找所有命令或函数的使用方法。
5.执行语句a=1:2:10,得到的一维数组是(1 3 5 7 9).6.执行语句b=linspace(1,10,10)后,一维数组b包含(10)个元素,最大值是10)7.函数rem()的功能是取(余)数。
8.若p=[1 0 0;1 1 0],则p|〜p=([1 1 1;1 1 1]).(注:填空时请用本题的p的方式表示结果)9.若p=[1 0 0;1 1 0],则all(p)=([1 0 0]).10.矩阵的加减运算,要求相加减的矩阵阶数相同。
若A=[1 2 3 4;2 3 1 8],则执行语句:[n,m]=size(A),则n=(2 ),m=(4 ).11.对于一维矩阵,求其长度的函数是(length()).12.数组和数组之间的运算,尤其是对于乘除运算和乘方运算,如果采用点方式进行计算,表明是数组的(元素)之间的运算关系。
13.求矩阵运算A*B时,要求在维度上,A的(列)数与B的(行)数相等。
二、判断题1.MATLAB只有一种数据类型,一种标准的输入输出语句,不需编译,可直接运行。
(对2.MATLAB的特殊常量是一些预选定义好的数值变量。
(对3.MATLAB变量名不区分大小写。
(错4.i是特殊常量。
(对5.NAN是非数。
(对6.MATLAB中所有的变量都表示一个矩阵或一个向量。
(对7.MATLAB中变量不需要先定义后使用,会自动根据实际赋值的类型对变量类型进行定义。
(对8.clc命令可以从内存中删除一个、多个和所有变量。
MATLAB课后习题集附标准答案
第2章MATLAB概论1、与其他计算机语言相比较,MA TLAB 语言突出的特点是什么?答:起点高、人机界面适合科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强.2、MA TLAB 系统由那些部分组成?答:开发环境、MATLAB数学函数库、MATLAB语言、图形功能、应用程序接口3、安装MATLAB 时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?答:在安装MATLAB时,安装内容由选择组件窗口中各复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装. 第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可. 矚慫润厲钐瘗睞枥庑赖。
4、MATLAB 操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上?聞創沟燴鐺險爱氇谴净。
答:在MATLAB 操作桌面上有五个窗口,在每个窗口的右下角有两个小按钮,一个是关闭窗口的Close 按钮,一个是可以使窗口称为独立的Undock 按钮,点击Undock 按钮就可以使该窗口脱离桌面称为独立窗口,在独立窗口的view 菜单中选择Dock,菜单项就可以将独立的窗口重新防止的桌面上.残骛楼諍锩瀨濟溆塹籟。
5、如何启动M 文件编辑/调试器?答:在操作桌面上选择“建立新文件”或“打开文件”操作时,M 文件编辑/调试器将被启动.在命令窗口中键入edit 命令时也可以启动M 文件编辑/调试器.酽锕极額閉镇桧猪訣锥。
6、存储在工作空间中的数组能编辑吗?如何操作?答:存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可.彈贸摄尔霁毙攬砖卤庑。
7、命令历史窗口除了可以观察前面键入的命令外,还有什么用途?答:命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中. 謀荞抟箧飆鐸怼类蒋薔。
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)。
MATLAB作业姓名:董静
班级:通信本092 学号:2009412208
1 、在你的机器上安装MATLAB 语言环境,并键入demo 命令,由给出的菜单系统和对话框原型演示程序,领略MATLAB 语言在求解数学问题方面的能力与方法。
如图1所示
图1
2、启动MATLAB 环境,并给出语句tic, A=rand(500); B=inv(A); norm(A*B-eye(500)),toc,试运行该语句,观察得出的结果,并利用help 命令对你不熟悉的语句进行帮助信息查询,逐条给出上述程序段与结果的解释。
如图2所示
语句如下所示
tic
A=rand(500);B=inv(A);norm(A*B-eye(500))
Toc
Tic和toc是用于计算程序运行时间的
图2
3、试用符号元素工具箱支持的方式表达多项式
5432
()34236
f x x x x x x
=+++++,并令
1
1
s
x
s
-
=
+
,将f(x) 替换成s 的函数。
语句如下:
syms s x;
f=x^5+3*x^4+4*x^3+2*x^2+3*x+6; F=subs(f,x,(s-1)/(s+1))
运行窗口如图3所示
图3
4、用MATLAB 语句输入矩阵A 和B
123414233241432141322314,2341233241143
24
132234114j j j j j j j j A B j j j j j
j j
j ++++⎡⎤⎡⎤⎢⎥⎢⎥++++⎢
⎥⎢
⎥==⎢⎥⎢⎥
++++⎢⎥⎢
⎥++++⎣⎦⎣⎦
前面给出的是4 ×4 矩阵,如果给出A(5:6) = 5 命令将得出什么结果? 语句如下所示:
A=[1 2 3 4;4 3 2 1;2 3 4 1;3 2 4 1];
B=[1+4j 2+3j 3+2j 4+1j;4+1j 3+2j 2+3j 1+4j;2+3j 3+2j 4+1j 1+4j;3+2j 2+3j 4+1j 1+4j;];
运行窗口如图4所示
图4
5、假设已知矩阵A ,试给出相应的MATLAB 命令,将其全部偶数行提取出来,赋给B 矩阵,用A =magic(8) 命令生成A 矩阵,用上述的命令检验一下结果是不是正确。
语句如下所示:
A=magic(8);
B=A([2 4 6 8],[1 2 3 4 5 6 7 8]);
运行窗口如图5所示
图5
6、用MATLAB 语言实现下面的分段函数
,
()/,
,
h x D y f x h Dx x D
h x D
>
⎧
⎪
==≤
⎨
⎪-<-
⎩
语句如下:
for i=1:length(x)
if x(i)>D, y(i)=h;
elseif abs(x(i))<=D, y(i)= h/D*x(i);
else, y(i)=-h;
end
end
7、用数值方法可以求出
63
6263
2124822
i
i
S
=
==++++++
∑ ,试不采用循环的形式求出
和式的数值解。
由于数值方法采用double 形式进行计算的,难以保证有效位数字,所以结果不一定精确。
试采用符号运算的方法求该和式的精确值。
语句如下所示:
sum(2.^[0:63])
sum(sym(2).^[0:63]) sum(sym(2).^[0:199])
运行窗口图6所示
图6
8、编写一个矩阵相加函数mat_add() ,使其具体的调用格式为A=mat_add(A1 ,A2 ,A3 ,…) ,要求该函数能接受任意多个矩阵进行加法运算。
(注:varargin 变量的应用)
9 已知Fibonacci 数列由式12,3,4,k k k a a a k --=+= 可以生成,其中初值为121a a ==,试编写出生成某项Fibonacci 数值的MATLAB 函数,要求
①函数格式为y=fib(k) ,给出k 即能求出第k 项k a 并赋给 y 向量;
②编写适当语句,对输入输出变量进行检验,确保函数能正确调用; ③利用递归调用的方式编写此函数。
(注:递归的调用方式速度较慢,比循环语句慢很多,所以不是特别需要,解这
样问题没有必要用递归调用的方式。
)
10、下面给出了一个迭代模型
2
111 1.40.3k k k
k k
x y x y x ++⎧=+-⎨
=⎩ 写出求解该模型的M-函数(M-脚本文件),如果取迭代初值为000,0x y == ,那么请进行30000 次迭代求出一组x 和y 向量,然后在所有的k x 和k y 坐标处点亮一个点( 注意不要连线) ,最后绘制出所需的图形。
(提示这样绘制出的图形又称为Henon 引力线图,它将迭代出来的随机点吸引到一起,最后得出貌似连贯的引力线图。
) 语句如下所示:
x=0;y=0; for i=1:29999
x(i+1)=1+y(i)-1.4*x(i)^2; y(i+1)=0.3*x(i); end
plot(x,y,'.')
运行窗口如图7所示
图7
11、选择合适的步距绘制出下面的图形
1
sin()
t
,其中(1,1)
t∈-。
(注:合适的步距包括等距与
不等距)
语句如下所示:>> x=-1:0.01:1; >> y=sin(x.^-1); >> figure
>> polar(x,y)
运行窗口如图8所示
图8
12、对合适的θ范围选取分别绘制出下列极坐标图形(注:要求把图形窗口分为4块,每块绘一个图)
①21.0013ρθ=,②cos(7/2)ρθ=,③sin()/ρθθ=,④31cos (7)ρθ=- 语句如下所示:
>>x=linspace(0,2*pi,200);
>> subplot(2,2,1);plot(x,1.0013*x.^2);
>> xlabel('x');ylabel('y');title('y=1.0013*x.^2'); >> subplot(2,2,2);plot(x,cos(7*x/2));
>> xlabel('x');ylabel('y');title('cos(7*x/2)'); >> subplot(2,2,3);plot(x,sin(x)/x);
>> xlabel('x');ylabel('y');title('sin(x)/x'); >> subplot(2,2,4);plot(x,1-(cos(7*x)).^3);
>> xlabel('x');ylabel('y');title('1-(cos(7*x)).^3');
运行窗口如图9所示
图9 13、请分别绘制出xy和sin()
xy的三维图和等高线。
语句如下所示:
>>[xx,yy]=meshgrid(-pi:0.02:pi);
>>zxy=xx.*yy;
>>sinxy=sin(xx.*yy);
>>figure
>>mesh(xx,yy,zxy)
>>figure
>>mesh(xx,yy,sinxy)
>>figure
>>contour(xx,yy,zxy,20)
>>figure
>>contour(xx,yy,sinxy,20)
运行窗口如图10所示
图10。