MATLAB数据及其运算_习题答案

合集下载

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)课后实验答案[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习题及答案

matlab习题及答案2. ⽤MATLAB 语句输⼊矩阵A 和B3.假设已知矩阵A ,试给出相应的MATLAB 命令,将其全部偶数⾏提取出来,赋给B 矩阵,⽤magic(8)A =命令⽣成A 矩阵,⽤上述命令检验⼀下结果是不是正确。

4.⽤数值⽅法可以求出∑=++++++==6363622284212i i S ,试不采⽤循环的形式求出和式的数值解。

由于数值⽅法是采⽤double 形式进⾏计算的,难以保证有效位数字,所以结果不⼀定精确。

试采⽤运算的⽅法求该和式的精确值。

5.选择合适的步距绘制出下⾯的图形。

(1))/1sin(t ,其中)1,1(-∈t ;(2))tan(sin )sin(tan t t -,其中),(ππ-∈t6. 试绘制出⼆元函数2222)1(1)1(1),(yx yx y x f z ++++-==的三维图和三视图7. 试求出如下极限。

(1)xxxx 1)93(lim +∞→;(2)11lim0-+→→xy xy y x ;(3)22)()cos(1lim222200y x y x ey x y x +→→++-8. 已知参数⽅程-==tt t y t x sin cos cos ln ,试求出x y d d 和3/22d d π=t x y9. 假设?-=xyt t e y x f 0d ),(2,试求222222y fy x f x f y x ??+-?? 10. 试求出下⾯的极限。

(1)-++-+-+-∞→1)2(1161141121lim 2222n n ;(2))131211(lim 2222ππππn n n n n n n ++++++++∞→ 11. 试求出以下的曲线积分。

(1)?+ls y x d )(22,l 为曲线)sin (cos t t t a x +=,)cos (sin t t t a y -=,)20(π≤≤t 。

(2)?-+++ly y y xe x e yx )dy 2(xy d )(33,其中l 为22222c y b x a =+正向上半椭圆。

matlab课后习题答案(附图)

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判断下列级数的收敛性,若收敛,求出其收敛值。

第2章--MATLAB数据及其运算-习题答案教学内容

第2章--MATLAB数据及其运算-习题答案教学内容

第2章--M A T L A B数据及其运算-习题答案第2章 MATLAB数据及其运算习题2一、选择题1.下列可作为MATLAB合法变量名的是()。

D A.合计 B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。

CA.+10 B.1.2e-5 C.2e D.2i3.使用语句t=0:7生成的是()个元素的向量。

A A.8 B.7 C.6 D.54.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。

B A.1 B.2 C.3 D.45.已知a为3×3矩阵,则a(:,end)是指()。

D A.所有元素 B.第一行元素C.第三行元素 D.第三列元素6.已知a为3×3矩阵,则运行a (1)=[]后()。

A A.a变成行向量 B.a变为2行2列C.a变为3行2列 D.a变为2行3列7.在命令行窗口输入下列命令后,x的值是()。

B >> clear>> x=i*jA.不确定 B.-1 C.1 D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。

D A.34 B.354 C.453 D.439.下列语句中错误的是()。

BA.x==y==3 B.x=y=3C.x=y==3 D.y=3,x=y10.find(1:2:20>15)的结果是()。

CA.19 20 B.17 19C.9 10 D.8 911.输入字符串时,要用()将字符括起来。

C A.[ ] B.{ } C.' ' D." " 12.已知s='显示"hello"',则s的元素个数是()。

A A.9 B.11 C.7 D.1813.eval('sqrt(4)+2')的值是()。

BA.sqrt(4)+2 B.4 C.2 D.2, 214.有3×4的结构矩阵student,每个结构有name(姓名)、scores(分数)两个成员,其中scores是以1×5矩阵表示的5门课的成绩,那么要删除第4个学生的第2门课成绩,应采用的正确命令是()。

Matlab习题答案

Matlab习题答案
(1) (3− 5i)(4 + 2i) (2) sin (2 − 8i)
参考答案: (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习题及答案

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数值计算)课后习题

习题六(Matlab数值计算)课后习题1、利⽤MATLAB 提供的randn 函数⽣成符合正态分布的10×5随机矩阵A,进⾏如下操作:(1)A 各列元素的均值和标准⽅差。

(2)A 的最⼤元素和最⼩元素。

(3)求A 每⾏元素的和以及全部元素之和。

(4)分别对A 的每列元素按升序、每⾏元素按降序排序。

A=randn(10,5);disp('各列元素的均值:');mean(A)disp('各列元素的标准⽅差:');std(A)disp('A 的最⼤元素:');max(max(A))disp('A 的最⼩元素:');min(min(A))disp('A 每⾏元素之和:');sum(A,2)disp('全部元素之和:');sum(sum(A))disp('每列元素按升序:');Y=sort(A)disp('每⾏元素按降序:');Y=sort(A,2,'descend')各列元素的均值:ans =-0.1095 0.1282 -0.2646 0.3030 -0.2464各列元素的标准⽅差:ans =0.9264 1.2631 0.8129 0.8842 1.3151A 的最⼤元素:ans =2.5855A 的最⼩元素:ans =-1.9330A 每⾏元素之和:ans =-2.29701.25450.06615.0489-0.69881.1002-2.9310-2.0595-1.68780.3112全部元素之和:ans =-1.8932每列元素按升序:Y =-1.2141 -1.4916 -1.4224 -1.1658 -1.9330-1.1135 -1.0891 -1.4023 -0.8045 -1.7947-0.8637 -1.0616 -0.7648 -0.2437 -1.1480-0.7697 -0.7423 -0.6156 0.1978 -0.6669-0.2256 0.0326 -0.1961 0.2157 -0.4390-0.0068 0.0859 -0.1924 0.2916 -0.08250.0774 0.5525 -0.1774 0.6966 0.10490.3714 1.1006 0.4882 0.8351 0.18731.1174 1.5442 0.7481 1.4193 0.72231.53262.3505 0.8886 1.5877 2.5855每⾏元素按降序:Y =1.4193 -0.6156 -0.8637 -1.0891 -1.14800.7481 0.2916 0.1049 0.0774 0.03260.7223 0.5525 0.1978 -0.1924 -1.21412.5855 1.5877 1.1006 0.8886 -1.11351.5442 -0.0068 -0.6669 -0.7648 -0.80451.5326 0.6966 0.1873 0.0859 -1.40230.8351 -0.0825 -0.7697 -1.4224 -1.49160.4882 0.3714 -0.2437 -0.7423 -1.93300.2157 -0.1774 -0.2256 -0.4390 -1.06162.3505 1.1174 -0.1961 -1.1658 -1.79472、按要求对指定函数进⾏插值和拟合。

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

第2章 MATLAB数据及其运算
习题2
一、选择题
1.下列可作为MATLAB合法变量名的是()。

D
A.合计 B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。

C
A.+10 B. C.2e D.2i
3.使用语句t=0:7生成的是()个元素的向量。

A A.8 B.7 C.6 D.5
4.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。

B A.1 B.2 C.3 D.4 5.已知a为3×3矩阵,则a(:,end)是指()。

D
A.所有元素 B.第一行元素
C.第三行元素 D.第三列元素
6.已知a为3×3矩阵,则运行a (1)=[]后()。

A A.a变成行向量 B.a变为2行2列
C.a变为3行2列 D.a变为2行3列
7.在命令行窗口输入下列命令后,x的值是()。

B
>> clear
>> x=i*j
A.不确定 B.-1 C.1 D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。

D
A.34 B.354 C.453 D.43
9.下列语句中错误的是()。

B
A.x==y==3 B.x=y=3
C.x=y==3 D.y=3,x=y
10.find(1:2:20>15)的结果是()。

C
A.19 20 B.17 19
C.9 10 D.8 9
11.输入字符串时,要用()将字符括起来。

C
A.[ ] B.{ } C.' ' D." " 12.已知s='显示"hello"',则s的元素个数是()。

A A.9 B.11 C.7 D.18
13.eval('sqrt(4)+2')的值是()。

B
A.sqrt(4)+2 B.4 C.2 D.2, 2
14.有3×4的结构矩阵student,每个结构有name(姓名)、scores(分数)两个成
员,其中scores是以1×5矩阵表示的5门课的成绩,那么要删除第4个学生的第2门课
成绩,应采用的正确命令是()。

D
A.rmfield(student(1,2).scores(2)) B.rmfield(student(4).scores)
C.student(4).scores(2)=0 D.student(1,2).scores(2)=[] 15.有一个2行2列的单元矩阵c,则c(2)是指()。

B
A.第一行第二列的元素内容 B.第二行第一列的元素内容
C.第一行第二列的元素 D.第二行第一列的元素
二、填空题
1.从键盘直接输入矩阵元素来建立矩阵时,将矩阵的元素用括起来,按矩阵
行的顺序输入各元素,同一行的各元素之间用分隔,不同行的元素之间用
分隔。

中括号,逗号或空格,分号
2.设A=[1,2;3,4],B=[5,6;7,8],则A*B= , A.*B= 。

A*B=[19,22;43,50],A.*B=[5,12;21,32]
3.有3×3矩阵,求其第 5个元素的下标的命令是,求其第三行、第三列元
素的序号的命令是。

[i,j]=ind2sub([3 3],5),ind=sub2ind([3 3],3,3) 4.下列命令执行后的输出结果是。

20
>> ans=5;
>> 10;
>> ans+10
5.下列命令执行后,new_claim的值是。

This is a great example.
claim= 'This is a good example.';
new_claim=strrep(claim,'good','great')
三、应用题
1.命令X=[]与clear X有何不同请上机验证结论。

Clear X是将X从工作空间中删除,而X=[]是给X赋空矩阵。

空矩阵存在于工作空间
中,只是没有任何元素。

2.在一个MATLAB命令中,6?+?7i和6?+ 7*i有何区别i和I有何区别
3.设A和B是两个同大小的矩阵,试分析A*B和A.*B、A./B和B.\A、A/B和B\A的
区别如果A和B是两个标量数据,结论又如何
4.写出完成下列操作的命令。

(1)将矩阵A第2~5行中第1,3,5列元素赋给矩阵B。

(2)删除矩阵A的第5号元素。

(3)求矩阵A 的大小和维数。

(4)将向量t 的0元素用机器零来代替。

(5)将含有12个元素的向量x 转换成3?×?4矩阵。

5.已知:
⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡---=14.35454.9632053256545410778.01023Α 完成下列操作:
(1)取出 A 的前3行构成矩阵B ,前两列构成矩阵C ,右下角3×2子矩阵构成矩阵D ,B 与C 的乘积构成矩阵E 。

(2)分别求E<D 、E&D 、E|D 、~E|~D 和find(A>=10&A<25)。

6.建立单元矩阵B ,并回答有关问题。

=1;
=[1:3;4:6];
B{1,1}=1;
B{1,2}='Brenden';
B{2,1}=y;
B{2,2}={12,34,2;54,21,3;4,23,67};
(1)size(B)和ndims(B)的值分别是多少
(2)B(2)和B(4)的值分别是多少
(3)B(3)=[]和B{3}=[]执行后,B 的值分别是多少。

相关文档
最新文档