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%折扣输入所售商品的价格,求其实际销售价格。

  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
>>。

相关文档
最新文档