MATLAB练习题2

合集下载

matlab习题二带答案

matlab习题二带答案

matlab习题二带答案Matlab习题二带答案Matlab是一种强大的数值计算和科学编程软件,广泛应用于各个领域的科学研究和工程实践中。

掌握Matlab的使用对于科学家和工程师来说至关重要。

为了帮助大家更好地掌握Matlab,下面将介绍一些常见的Matlab习题,并提供相应的答案。

1. 习题一:计算平均值编写一个Matlab函数,输入一个向量,输出该向量的平均值。

答案:```matlabfunction avg = computeAverage(vector)avg = sum(vector) / length(vector);end```2. 习题二:矩阵操作编写一个Matlab函数,输入两个矩阵A和B,输出它们的乘积C。

答案:```matlabfunction C = matrixMultiplication(A, B)[m, n] = size(A);[~, p] = size(B);C = zeros(m, p);for i = 1:mfor j = 1:pfor k = 1:nC(i, j) = C(i, j) + A(i, k) * B(k, j);endendendend```3. 习题三:图像处理编写一个Matlab函数,输入一张彩色图像,输出该图像的灰度图像。

答案:```matlabfunction grayImage = convertToGray(image)grayImage = rgb2gray(image);end```4. 习题四:数据拟合给定一组数据点(x, y),编写一个Matlab函数,拟合这些数据点为一条直线,并返回拟合直线的斜率和截距。

答案:```matlabfunction [slope, intercept] = fitLine(x, y)n = length(x);sx = sum(x);sy = sum(y);sxy = sum(x .* y);sxx = sum(x .* x);slope = (n * sxy - sx * sy) / (n * sxx - sx^2);intercept = (sy - slope * sx) / n;end```5. 习题五:数值积分编写一个Matlab函数,输入一个函数f(x)和积分区间[a, b],输出该函数在该区间上的数值积分结果。

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课后习题解答第二章

第2章0000符号运算0000习题2及解答00001 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象?00003/7+0.1; sym(3/7+0.1); sym('3/7+0.1'); vpa(sym(3/7+0.1))0000〖目的〗0000不能从显示形式判断数据类型,而必须依靠class指令。

0000〖解答〗0000c1=3/7+0.10000c2=sym(3/7+0.1)0000c3=sym('3/7+0.1')0000c4=vpa(sym(3/7+0.1))0000Cs1=class(c1)0000Cs2=class(c2)0000Cs3=class(c3)0000Cs4=class(c4) 0000c1 =00000.52860000c2 =000037/700000c3 =00000.528571428571428571428571428571430000c4 =00000.528571428571428571428571428571430000Cs1 =0000double0000Cs2 =0000sym0000Cs3 =0000sym0000Cs4 =0000sym00002 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是自由符号变量.0000sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)')0000〖目的〗0000● 理解自由符号变量的确认规则。

0000〖解答〗0000symvar(sym('sin(w*t)'),1) 0 0 0 0ans = 0 0 0 0 w 0 0 0 0symvar(sym('a*exp(-X)'),1) 0 0 0 0ans = 0 0 0 0 a 0 0 0 0symvar(sym('z*exp(j*th)'),1) 0 0 0 0ans = 0 0 0 0 z 0 0 0 05求符号矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=333231232221131211a a a a a a a a a A 的行列式值和逆,所得结果应采用“子表达式置换”简洁化。

matlab试题及答案

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期末考试题及答案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习题——2

matlab习题——2

matlab习题——2第二章1。

%3X3矩阵a1=eye(3)a2=ones(3)a3=zeros(3)a4=1-2*rand(3)a5=2*randn(3)+1%15X8矩阵b1=eye(15,8)b2=ones(15,8)b3=zeros(15,8)b4=1-2*rand(15,8) b5=2*randn(15,8)+1 2。

%生成a矩阵x=diag([2,-7,8]); xx=diag([3,5],-1); a=rot90(x+xx)%生成b矩阵x=diag([2 5 8]);xx=rot90(diag([7 0 4])); b=x+xx%变成行向量ah=reshape(a,1,9)bh=reshape(b,1,9)3。

a=5-10*rand(50,2);b=round(10*a)/10;c=num2str(b,'%+10.1f') 4。

alpha=-pi:pi/180:pi;x=sin(alpha);y=cos(alpha);%画曲线plot(alpha,x,'b-')hold onlot(alpha,y,'r-')5。

a=rand(10);b=a>=0.6;total=sum(sum(b))6。

a=randn(10);b=and(a<.5,a>-.5);total=sum(sum(b))7。

%输入a和ba=input('please input a:'); b=input('please input b:'); %分支结构if and(a<1,b<=.5)disp('语句1')elseif and(a<1,b>.5)disp('语句2')elseif and(a>1,b<=.5)disp('语句3')elsedisp('语句4')end8。

matlab习题及答案

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练习一、二答案

matlab练习一、二答案

练习一答案1、一个三位整数各位数字的立方和等于该数本身,则称该数为水仙花数。

试编写程序找到,并输出全部水仙花数。

for n=100:999a=floor(n/100);b=floor(rem(n,100)/10);c=rem(n,10);if n==a^3+b^3+c^3s=nendend2、若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6 是完数。

求[1 500]之间的全部完数。

for i=2:500s=1;for j=2:(i-1)if (rem(i,j)==0)s=s+j;endendif s==isendend3、写一个函数pifun 计算下列级数:F(n)=4*(1-1/3+1/5-1/7+...)并使用tic 和toc 指令来测量pifun(1000000)的计算时间。

n=input('请输入n值:');tic;f=0;for i=1:nf=f+4*((-1)^(i+1))/(2*i-1) ;endftoc4、输入一个百分制成绩,要求输出成绩等级为A~E,即90~100 为A,80~89 为B,70~79为C,60~69 为D,60 以下为E。

m=input('请输入一个百分制成绩:');m=floor(m/10);switch mcase {10,9}disp('A');case 8disp('B');case 7disp('C');case 6disp('D');disp('E');otherwisedisp('E');end5、输入x,y 的值,并将它们的值互换后输出。

x = input('x=');y = input('y=');disp ([x,y]);t=x;x=y;y=t;disp ([x,y]);6、某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price 来表示):price<200 没有折扣;200≤price<500 3%折扣;500≤price<1000 5%折扣;1000≤price<2500 8%折扣;2500≤price<5000 10%折扣;5000≤price 14%折扣输入所售商品的价格,求其实际销售价格。

matlab试题及答案

matlab试题及答案

matlab试题及答案一、单项选择题(每题2分,共10分)1. MATLAB中用于创建向量的命令是:A. vectorB. arrayC. linspaceD. colon答案:D2. 在MATLAB中,以下哪个函数用于计算矩阵的行列式?A. detB. rankC. invD. eig答案:A3. MATLAB中用于进行矩阵转置的运算符是:A. 'B. .C. ^D. !答案:A4. 若A是一个3x3的矩阵,执行命令A(2,:)=0;后,矩阵A的第二行将变为:A. [0 0 0]B. [1 0 0]C. [0 1 0]D. [0 0 1]答案:A5. MATLAB中,以下哪个函数用于绘制三维曲面图?A. plotB. surfC. barD. hist答案:B二、填空题(每题3分,共15分)1. MATLAB中,使用________命令可以清除所有变量。

答案:clear2. 若要在MATLAB中创建一个从0到1的100个元素的向量,可以使用命令________。

答案:linspace(0,1,100)3. MATLAB中,使用________函数可以计算矩阵的特征值。

答案:eig4. 在MATLAB中,________函数用于计算两个矩阵的点乘。

答案:dot5. 若要在MATLAB中绘制一个圆,可以使用________函数。

答案:plot三、简答题(每题5分,共20分)1. 请解释MATLAB中矩阵索引的概念。

答案:在MATLAB中,矩阵索引指的是通过行号和列号来访问矩阵中特定元素的过程。

例如,A(2,3)表示访问矩阵A的第二行第三列的元素。

2. MATLAB中如何实现矩阵的元素乘法?答案:在MATLAB中,矩阵的元素乘法可以通过使用点乘运算符(.*)来实现。

例如,C = A .* B,其中A和B是相同大小的矩阵。

3. 请说明MATLAB中如何使用循环结构。

答案:MATLAB中可以使用for循环和while循环两种循环结构。

大学专业试题-Matlab期末考试及答案(二)

大学专业试题-Matlab期末考试及答案(二)

大学专业试题-Matlab期末考试及答案一、选择题(每题3分,共30分)1、在MATLAB中,图形窗口色图的设置和改变需调用函数(A)color (B) colormap (C) plot (D) change2、MATLAB中‘legend’函数的功能为(A)给图形加标题 (B)在指定位置给图形加注释(C)给图形变色 (D)给图形添加图例3、已知462837A⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,则在MATLAB中调用命令A(5)的结果为(A) 3 (B)8 (C) 无结果 (D)74、MATLAB中对图形窗口进行灵活分割的命令是(A)plot (B)subplot(C)aplot (D)ploval5.下列哪个变量的定义是不合法的(A) abcd-3 (B) xyz_3 (C) abcdef (D) x3yz6. 在循环结构中跳出循环,执行循环后面代码的命令为(A) return (B) break (C) continue (D) keyboard7. 清空Matlab工作空间内所有变量的指令是(A) clc (B) cls (C) clear (D) clf8. 已知a=2:2:8, b=2:5,下面的运算表达式中,出错的为(A) a'*b (B) a .*b (C) a*b (D) a-b9、MATLAB中与linspace(3,7,11)等价的命令为(A) 3:7 (B) 3:0.4:7 (C) 3:4/11:7 (D) 3:7/10:710. 下面的程序执行后array的值为for k=1:10if k>6break;elsearray(k) = k;endend(A) array = [1, 2, 3, 4, 5, 6](B) array = [1 ,2 ,3 ,4 ,5 ,6 ,7 ,8 ,9 ,10](C)array=6 (D) array =10.二.填空题(每空2分,共30分)1、x为0~4pi,步长为0.1pi的向量,使用命令0::01*pi: 4*pi 创建。

matlab期末考试试题及答案

matlab期末考试试题及答案

matlab期末考试试题及答案### MATLAB期末考试试题及答案#### 一、单选题(每题2分,共20分)1. MATLAB中,以下哪个函数用于计算矩阵的逆?A. invB. detC. eigD. rank答案:A2. MATLAB中,如何生成一个1到10的向量?A. `1:10`B. `1..10`C. `1..10`D. `1..10`答案:A3. MATLAB中,以下哪个命令用于绘制函数f(x)=x^2的图像?A. `plot(x, x^2)`B. `plot(x, f(x))`C. `fplot(x^2)`D. `fplot(x, x^2)`答案:A4. MATLAB中,如何计算矩阵A和B的点积?A. `dot(A, B)`B. `A * B`C. `A .* B`D. `A . B`答案:C5. MATLAB中,以下哪个函数用于求解线性方程组?A. `solve`B. `fsolve`C. `ode45`D. `fminsearch`答案:A#### 二、填空题(每题3分,共15分)1. MATLAB中,使用____函数可以计算矩阵的行列式。

答案:det2. 若向量`x = [1, 2, 3]`,则`x(2)`的值为____。

答案:23. MATLAB中,使用____函数可以创建一个3x3的单位矩阵。

答案:eye4. 若要在MATLAB中绘制函数f(x)=sin(x)的图像,可以使用____函数。

答案:plot5. MATLAB中,使用____函数可以计算矩阵的特征值。

答案:eig#### 三、编程题(每题10分,共30分)1. 编写一个MATLAB函数,计算并返回一个向量中所有元素的平方和。

```matlabfunction sum_of_squares = calculateSumOfSquares(vector)sum_of_squares = sum(vector.^2);end```2. 编写一个MATLAB脚本,使用while循环计算1到100之间所有奇数的和。

MATLAB上机练习(2)

MATLAB上机练习(2)

只用一条plot 命令,在同一幅图中绘制下面两个函数的图形:(1)(2)(4)(5),06(31)(32)(34)(35)(2)(3)(4)(5),06(12)(13)(14)(15)x x x x y x x x x x y x ----=≤≤--------=≤≤---- 使用两次plot 命令和hold on 重复上述任务。

一、用两种方法绘制如下方程给出的椭圆:22(2)2(1)3x y x -+--=(1) 把y 看做x 的函数解方程。

这样做将得到两个方程,一个是椭圆的上半部分,另一个是椭圆的下半部分。

绘制这两个关于x 的方程,得到椭圆。

(2) 将方程看做隐函数绘制图形。

如果用(1)方法绘制图形的过程中出现异常情况,请查明原因并改正。

二、将两个设计参数x 和y 定为0<x <5和0<y <5。

产品的成本为:22860.150f x x y y xy =-+--+用mesh 命令绘图,近似地找出使成本最低的最优参数,并写出最低成本值。

四、用contour 命令重做上题。

五、绘制微分方程 dy/dx=xy, y(0)=0.4的斜率场,并将解曲线画在图中,观察斜率场和解曲线的关系。

附参考程序clf,t=linspace(0,1.5,20);x=t.^2;y=(2/3)*t.^3;z=(6/4)*t.^4-(1/3)*t.^3;plot3(x,y,z,'r.- ','linewidth',1,'markersize',10),hold on Vx=gradient(x);Vy=gradient(y);Vz=gradient(z);h=quiver3(x,y,z,Vx,Vy,Vz),set(h,'linewidth',1),grid on axis([0 1.5 0 1.5 0 40])xlabel('x'),ylabel('y'),zlabel('z'),box on 六、矩阵分解[L,U,P]=lu(A) : PA=LU r=chol(A) : A=L T L [Q,R]=qr(A),[Q,R]=qr(A,0) : A=QR [U,S,V]=svd(A) : A=USV T [Q,R]=schur(A) : Q T AQ=R [P,H]=hess(A) : PAP=H pinv(A) : 广义逆A +自选试验矩阵七、已知123456789A ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,求它的条件数和特征值条件数,并就所得结果做出解释。

MATLAB考试试题及答案

MATLAB考试试题及答案

MATLAB考试试题及答案一、选择题(每题5分,共25分)1. 在MATLAB中,下列哪个命令用于创建一个行向量?A. v = [1; 2; 3]B. v = [1 2 3]C. v = [1, 2, 3]D. v = (1, 2, 3)答案:B2. 在MATLAB中,下列哪个命令用于计算矩阵A的行列式?A. det(A)B. det(A')C. det(inv(A))D. det(A^2)答案:A3. 在MATLAB中,下列哪个命令用于计算矩阵A的逆?A. inv(A)B. A^(-1)C. pinv(A)D. A\B答案:A4. 在MATLAB中,下列哪个命令用于求解线性方程组Ax= b?A. A\bB. A/BC. B/AD. A^-1b答案:A5. 在MATLAB中,下列哪个命令用于绘制二维图形?A. plot(x, y)B. scatter(x, y)C. bar(x, y)D. pie(x, y)答案:A二、填空题(每题5分,共25分)6. 在MATLAB中,可以使用______命令创建一个等差数列。

答案:linspace7. 在MATLAB中,可以使用______命令创建一个等比数列。

答案:logspace8. 在MATLAB中,可以使用______命令计算矩阵A的特征值。

答案:eig(A)9. 在MATLAB中,可以使用______命令计算矩阵A的特征向量。

答案:eigenvector(A)10. 在MATLAB中,可以使用______命令计算矩阵A的奇异值。

答案:svd(A)三、解答题(每题25分,共75分)11. 编写MATLAB程序,求解以下线性方程组:2x + 3y - z = 1x - y + 2z = 03x + 2y - 4z = -3答案:```A = [2 3 -1; 1 -1 2; 3 2 -4];b = [1; 0; -3];x = A\b;disp('解为:');disp(x);```12. 编写MATLAB程序,绘制以下函数的图形:y = sin(x) + cos(x),x ∈ [0, 2π]答案:```x = linspace(0, 2pi, 100);y = sin(x) + cos(x);plot(x, y);title('y = sin(x) + cos(x)');xlabel('x');ylabel('y');grid on;```13. 编写MATLAB程序,计算以下矩阵的特征值和特征向量:A = [1 2 3; 4 5 6; 7 8 9]答案:```A = [1 2 3; 4 5 6; 7 8 9];[V, D] = eig(A);disp('特征值:');disp(diag(D));disp('特征向量:');disp(V);```14. 编写MATLAB程序,使用牛顿迭代法求解方程f(x) = x^3 - 4x + 2 = 0在x = 1附近的根。

matlab考试试题

matlab考试试题

matlab考试试题一、选择题(每题2分,共20分)1. MATLAB的全称是:A. Matrix LaboratoryB. Microprocessor Application Tool SetC. Micro Advanced Tool SetD. None of the above2. 在MATLAB中,用于生成1到10的行向量的命令是:A. `1:10`B. `linspace(1,10,1)`C. `logspace(1,10,1)`D. `1.10`3. MATLAB中的基本数据类型是:A. 向量B. 矩阵C. 字符串D. 单元数组4. 下列哪个命令可以计算矩阵的行列式?A. `det`B. `diag`C. `dot`D. `diff`5. 在MATLAB中,用于绘制三维曲线的函数是:A. `plot`C. `surf`D. `plot3`6. MATLAB中,创建一个空矩阵的命令是:A. `zeros(3)`B. `ones(3)`C. `eye(3)`D. `rand(3)`7. 下列哪项不是MATLAB的编程范式?A. 函数式编程B. 面向对象编程C. 过程式编程D. 事件驱动编程8. MATLAB中,用于求解线性方程组的函数是:A. `solve`B. `fsolve`C. `linsolve`D. `linspace`9. 在MATLAB中,用于计算向量范数的函数是:A. `norm`B. `abs`C. `sum`D. `mean`10. MATLAB中,用于生成随机数的函数是:A. `rand`B. `randn`D. All of the above二、简答题(每题5分,共30分)11. 简述MATLAB中矩阵的基本操作,至少列出三种。

12. 解释MATLAB中的M文件和脚本文件的区别。

13. 在MATLAB中,如何实现循环结构?请举例说明。

14. 描述MATLAB中函数的作用域,包括局部变量和全局变量。

MATLAB作业2参考答案(2018年)

MATLAB作业2参考答案(2018年)

MA TLAB 作业二参考答案1、试求下面线性代数方程的解析解与数值解,并检验解的正确性。

2932114010110503848246303356684953X -----⎡⎤⎡⎤⎢⎥⎢⎥----⎢⎥⎢⎥=⎢⎥⎢⎥---⎢⎥⎢⎥------⎣⎦⎣⎦【求解】求出A , [A;B ] 两个矩阵的秩,可见二者相同,所以方程不是矛盾方程,应该有无穷多解。

>> A=[2,-9,3,-2,-1; 10,-1,10,5,0; 8,-2,-4,-6,3; -5,-6,-6,-8,-4]; B=[-1,-4,0; -3,-8,-4; 0,3,3; 9,-5,3]; [rank(A), rank([A B])] ans =4 4用下面的语句可以求出方程的解析解,并可以验证该解没有误差。

>> x0=null(sym(A));x_analytical=sym(A)\B; syms a; x=a*[x0 x0 x0]+x_analyticalx =[ a+967/1535, a-943/1535, a-159/1535][ -1535/1524*a, -1535/1524*a, -1535/1524*a][ -3659/1524*a-1807/1535,-3659/1524*a-257/1535,-3659/1524*a-141/1535] [ 1321/508*a+759/1535, 1321/508*a-56/1535, 1321/508*a-628/1535] [ -170/127*a-694/307, -170/127*a+719/307, -170/127*a+103/307] >> A*x-B ans = [ 0, 0, 0][ 0, 0, 0] [ 0, 0, 0] [ 0, 0, 0]用数值解方法也可以求出方程的解,但会存在误差,且与任意常数a 的值有关。

>> x0=null(A); x_numerical=A\B; syms a; x=a*[x0 x0 x0]+x_numerical; vpa(x,10)ans =[ .2474402553*a+.1396556436, .2474402553*a-.6840666849, .2474402553*a-.1418420333][-.2492262414*a+.4938507789,-.2492262414*a+.7023776988e-1,-.2492262414*a+.3853511888e-1][ -.5940839201*a, -.5940839201*a, -.5940839201*a][ .6434420813*a-.7805411315, .6434420813*a-.2178190763,.6434420813*a-.5086089095][-.3312192394*a-1.604263460, -.3312192394*a+2.435364854, -.3312192394*a+.3867176824] >> A*x-B[ 1/18014398509481984*a, 1/18014398509481984*a, 1/18014398509481984*a] [ -5/4503599627370496*a, -5/4503599627370496*a, -5/4503599627370496*a][ -25/18014398509481984*a, -25/18014398509481984*a, -25/18014398509481984*a] [ 13/18014398509481984*a, 13/18014398509481984*a, 13/18014398509481984*a]2、求解下面的联立方程,并检验得出的高精度数值解(准解析解)的精度。

数学建模 Matlab编程练习2

数学建模 Matlab编程练习2

第2章 MATLAB 矩阵运算基础2.1 在MATLAB 中如何建立矩阵⎥⎦⎤⎢⎣⎡194375,并将其赋予变量a ? 2.5 计算矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡897473535与⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡638976242之和。

2.6 求⎥⎦⎤⎢⎣⎡+−+−+−+−++=i 44i 93i 49i 67i23i 57i41i 72i 53i 84x 的共轭转置。

2.7 计算⎥⎦⎤⎢⎣⎡=572396a 与⎥⎦⎤⎢⎣⎡=864142b 的数组乘积。

2.8 “左除”与“右除”有什么区别?2.9 对于B AX =,如果⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=753467294A ,⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=282637B ,求解X 。

2.10 已知:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321a ,分别计算a 的数组平方和矩阵平方,并观察其结果。

2.11 ⎥⎦⎤⎢⎣⎡−=463521a ,⎥⎦⎤⎢⎣⎡−=263478b ,观察a 与b 之间的六种关系运算的结果。

2.12 []7.0802.05−−=a ,在进行逻辑运算时,a 相当于什么样的逻辑量。

2.14 角度[]604530=x ,求x 的正弦、余弦、正切和余切。

2.15 用四舍五入的方法将数组[2.4568 6.39823.9375 8.5042]取整。

2.16 矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=728365219a ,分别对a 进行特征值分解、奇异值分解、LU 分解、QR 分解及Chollesky 分解。

2.17 将矩阵⎥⎦⎤⎢⎣⎡=5724a 、⎥⎦⎤⎢⎣⎡=3817b 和⎥⎦⎤⎢⎣⎡=2695c 组合成两个新矩阵: (1)组合成一个4×3的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡237912685574 (2)按照a 、b 、c 的列顺序组合成一个行矢量,即[]296531877254第3章 数值计算基础3.2 求解多项式x 3-7x 2+2x +40的根。

Matlab上机练习二答案

Matlab上机练习二答案

Matlab上机练习⼆答案Matlab 上机练习⼆班级学号姓名按要求完成题⽬,并写下指令和运⾏结果。

(不需要画图)1、求??+-+-+-+-++=i 44i 93i 49i 67i 23i 57i 41i 72i 53i 84x 的共轭转置。

>> x=[4+8i 3+5i 2-7i 1+4i 7-5i;3+2i 7-6i 9+4i 3-9i 4+4i]; >> x’ans =4.0000 - 8.0000i 3.0000 - 2.0000i3.0000 - 5.0000i 7.0000 + 6.0000i2.0000 + 7.0000i 9.0000 - 4.0000i1.0000 - 4.0000i 3.0000 + 9.0000i7.0000 + 5.0000i 4.0000 - 4.0000i2、计算=572396a 与??=864142b 的数组乘积。

>> a=[6 9 3;2 7 5];>> b=[2 4 1;4 6 8];>> a.*bans =12 36 38 42 403、对于B AX =,如果=753467294A ,=282637B ,求解X 。

>> A=[4 9 2;7 6 4;3 5 7];>> B=[37 26 28]’;>> X=A\BX =-0.51184.04271.33184、 -=463521a ,-=263478b ,观察a 与b 之间的六种关系运算的结果。

>> a=[1 2 3;4 5 6];>> b=[8 –7 4;3 6 2];>> a>bans =0 1 01 0 1>> a>=bans =0 1 01 0 1>> aans =1 0 10 1 0>> a<=bans =1 0 10 1 0>> a==bans =0 0 00 0 0>> a~=bans =1 1 11 1 15、[]7.0802.05--=a ,在进⾏逻辑运算时,a 相当于什么样的逻辑量。

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

>> A=rand(3,5)
A =
0.8147 0.9134 0.2785 0.9649 0.9572
0.9058 0.6324 0.5469 0.1576 0.4854
0.1270 0.0975 0.9575 0.9706 0.8003 >> [n,m]=find(A>0.5)
n =
1
2
1
2
2
3
1
3
1
3
m =
1
1
2
2
3
3
4
4
5
5
>> a=find(A>0.5)
a =
1
2
4
5
8
9
10
12
13
15
>> a=[2,-2;-1,2],b=[1,-1;0,2],c=[1;-2],d=eye(2)
a =
2 -2
-1 2
b =
1 -1
0 2
c =
1
-2
d =
1 0
0 1
>> a. result=a+b;
??? Warning: Struct field assignment overwrites a value with class "double".
See MA TLAB 7.0.4 Release Notes, Assigning Nonstructure V ariables As Structures Displays Warning for details.
>> b. result=a*d;
Undefined function 'mtimes' for input arguments of type 'struct'.
>> c. result=a .*d;
Undefined function 'times' for input arguments of type 'struct'.
>> result=a*c;
Undefined function 'mtimes' for input arguments of type 'struct'.
>> result=a .*c;
Undefined function 'times' for input arguments of type 'struct'.
>> result=a\b;
Undefined function 'mldivide' for input arguments of type 'struct'.
>> g. result=a .\b
Undefined function 'ldivide' for input arguments of type 'struct'.
>> result=a.^b
Undefined function 'power' for input arguments of type 'struct'.
>> result=a+b
Undefined function 'plus' for input arguments of type 'struct'.
>> A=[-2,5,1,3,4,-1;2,-1,-5,-2,6,4;-1,6,-4,-5,3,-1;4,6,-6,-4,-2,-2;-3,6,4,2,-6,4;2,4,4,4,5,-4] A =
-2 5 1 3 4 -1
2 -1 -5 -2 6 4
-1 6 -4 -5 3 -1
4 6 -6 -4 -2 -2
-3 6 4 2 -6 4
2 4 4 4 5 -4
>> B=[0;1;-6;10;-6;-2]
B =
1
-6
10
-6
-2
>> X=A\B
X =
0.5001
-0.2240
-2.7296
2.6073
-0.9339
-0.7637
>> a=[2,-2;-1,2],b=[1,-1;0,2],c=[1;-2],d=eye(2)
a =
2 -2
-1 2
b =
1 -1
0 2
c =
1
-2
d =
1 0
0 1
>> result=a+b
result =
3 -3
-1 4
>> result=a .*d
result =
2 0
0 2
>> result=a*c
result =
6
-5
>> result=a .*c
Error using .*
Matrix dimensions must agree.
>> result=a.*c
Error using .*
Matrix dimensions must agree.
>> result=a\b
result =
1.0000 1.0000
0.5000 1.5000
>> result=a.\b
result =
0.5000 0.5000
0 1.0000
>> result=a.^b
result =
2.0000 -0.5000
1.0000 4.0000
>> p=[3 0 1 1.5 0 0.5 0];s=[5 -8 -10 1 2 -2]; >> [c,r]=deconv(p,q)
Undefined function or variable 'q'.
>> [c,r]=deconv(p,s)
c =
0.6000 0.9600
r =
0 0 14.6800 10.5000 -2.1600 -0.2200 1.9200
>> w=polyder(p)
w =
18.0000 0 4.0000 4.5000 0 0.5000
>> ww=polyder(w)
ww =
90 0 12 9 0
>> S='The key issue is to find a such transformation or coding (linear or nonlinear) which has true physical meaning and interpretation.';
>> S=strrep('encodinge','coding')
Error using strrep
Not enough input arguments.
>> SS=strrep(S,'coding','encodinge')
SS =
The key issue is to find a such transformation or encodinge (linear or nonlinear) which has true physical meaning and interpretation.
>> C=randn(4,8)
C =
-0.2050 1.4172 1.6302 -0.3034 -1.1471 1.4384 -1.7115 0.3129 -0.1241 0.6715 0.4889 0.2939 -1.0689 0.3252 -0.1022 -0.8649
1.4897 -1.2075 1.0347 -0.7873 -0.8095 -0.7549 -0.2414 -0.0301
1.4090 0.7172 0.7269 0.8884 -
2.9443 1.3703 0.3192 -0.1649
>> mean(mean(C))
ans =
0.0646
>> std(std(C))
ans =
0.2391
>> D=magic(7)
D =
30 39 48 1 10 19 28
38 47 7 9 18 27 29
46 6 8 17 26 35 37
5 14 1
6 25 34 36 45
13 15 24 33 42 44 4
21 23 32 41 43 3 12
22 31 40 49 2 11 20 >> E=diag(D)
E =
30
47
8
25
42
3
20
>> trace(D)
ans =
175
>>。

相关文档
最新文档