matlab习题参考答案

matlab习题参考答案

Matlab习题参考答案

Matlab是一种强大的数学软件,广泛应用于科学计算和工程领域。它提供了丰富的功能和工具,使得数值计算、数据分析和可视化成为可能。在学习和使用Matlab的过程中,我们经常会遇到各种各样的习题和问题。本文将提供一些常见习题的参考答案,帮助读者更好地理解和掌握Matlab的使用。

1. 矩阵运算

矩阵运算是Matlab的基础操作之一。假设有两个矩阵A和B,大小分别为

m×n和n×p。下面是一些常见的矩阵运算习题及其参考答案:

1.1 计算两个矩阵的乘积C = A * B。

```matlab

C = A * B;

```

1.2 计算两个矩阵的点积C = dot(A, B)。

```matlab

C = dot(A, B);

```

1.3 计算两个矩阵的叉积C = cross(A, B)。

```matlab

C = cross(A, B);

```

2. 数据处理

Matlab提供了丰富的数据处理工具,可以方便地进行数据分析和处理。下面是

一些常见的数据处理习题及其参考答案:

2.1 计算向量的均值mean。

```matlab

m = mean(vector);

```

2.2 计算向量的标准差std。

```matlab

s = std(vector);

```

2.3 计算向量的方差var。

```matlab

v = var(vector);

```

3. 图像处理

Matlab的图像处理工具箱可以实现各种图像处理操作,包括读取、显示、滤波、变换等。下面是一些常见的图像处理习题及其参考答案:

3.1 读取图像并显示。

```matlab

image = imread('image.jpg');

imshow(image);

```

3.2 将图像转换为灰度图像。

```matlab

gray_image = rgb2gray(image);

imshow(gray_image);

```

3.3 对图像进行高斯滤波。

```matlab

filtered_image = imgaussfilt(image, sigma);

imshow(filtered_image);

```

4. 数值计算

Matlab提供了强大的数值计算工具,可以进行数值积分、微分、方程求解等操作。下面是一些常见的数值计算习题及其参考答案:

4.1 计算函数f(x)在区间[a, b]上的定积分。

```matlab

integral = integral(@(x) f(x), a, b);

```

4.2 求解方程f(x) = 0的根。

```matlab

root = fzero(@(x) f(x), x0);

```

4.3 求解常微分方程组。

```matlab

[t, y] = ode45(@(t, y) f(t, y), [t0, tf], y0);

```

以上仅是一些常见的Matlab习题参考答案,实际应用中可能会遇到更加复杂的问题。通过不断练习和探索,读者可以进一步提高对Matlab的理解和应用能力。希望本文所提供的参考答案能够帮助读者更好地掌握Matlab的使用。

matlab习题参考答案

matlab习题参考答案 Matlab习题参考答案 Matlab是一种强大的数学软件,广泛应用于科学计算和工程领域。它提供了丰富的功能和工具,使得数值计算、数据分析和可视化成为可能。在学习和使用Matlab的过程中,我们经常会遇到各种各样的习题和问题。本文将提供一些常见习题的参考答案,帮助读者更好地理解和掌握Matlab的使用。 1. 矩阵运算 矩阵运算是Matlab的基础操作之一。假设有两个矩阵A和B,大小分别为 m×n和n×p。下面是一些常见的矩阵运算习题及其参考答案: 1.1 计算两个矩阵的乘积C = A * B。 ```matlab C = A * B; ``` 1.2 计算两个矩阵的点积C = dot(A, B)。 ```matlab C = dot(A, B); ``` 1.3 计算两个矩阵的叉积C = cross(A, B)。 ```matlab C = cross(A, B); ``` 2. 数据处理

Matlab提供了丰富的数据处理工具,可以方便地进行数据分析和处理。下面是 一些常见的数据处理习题及其参考答案: 2.1 计算向量的均值mean。 ```matlab m = mean(vector); ``` 2.2 计算向量的标准差std。 ```matlab s = std(vector); ``` 2.3 计算向量的方差var。 ```matlab v = var(vector); ``` 3. 图像处理 Matlab的图像处理工具箱可以实现各种图像处理操作,包括读取、显示、滤波、变换等。下面是一些常见的图像处理习题及其参考答案: 3.1 读取图像并显示。 ```matlab image = imread('image.jpg'); imshow(image); ```

MATLAB习题与参考答案

习题: 6 9 3 2 4 1 1, 计算 a 7 5 与 b 6 的数组乘积。 2 4 8 4 9 2 37 2, 对于 AX B ,如果 A 7 6 4 , B 26 ,求解 X 。 3 5 7 28 1 2 3 3, 已知: a 4 5 6 ,分别计算 a 的数组平方和矩阵平方,并观察其结果。 7 8 9 4, 角度 x 30 45 60 ,求 x 的正弦、余弦、正切和余切。 (应用 sin,cos,tan.cot) 5, 将矩阵 a 4 2 、 b 7 1 5 9 5 7 8 和 c 组合成两个新矩阵: 3 6 2 ( 1)组合成一个 4 3 的矩阵,第一列为按列顺序排列的 a 矩阵元素,第二列为按列顺序排列的 b 矩阵 元素,第三列为按列顺序排列的 c 矩阵元素,即 4 7 5 5 8 6 2 1 9 7 3 2 ( 2)按照 a 、 b 、 c 的列顺序组合成一个行矢量,即 4 5 2 7 7 8 1 3 5 6 9 2 6, 将 (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, 计算多项式 4x 4 12 x 3 14 x 2 5x 9 的微分和积分。 (应用 polyder,polyint , poly2sym) 2 9 0 13 10, 解方程组 3 4 11 x 6 。 (应用 x=a\b) 2 2 6 6

matlab课后习题答案

习题二 1.如何理解“矩阵是MATLAB最基本的数据对象”? 答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。 因此,矩阵是MATLAB最基本、最重要的数据对象。 2.设A和B是两个同维同大小的矩阵,问: (1)A*B和A.*B的值是否相等? 答:不相等。 (2)A./B和B.\A的值是否相等? 答:相等。 (3)A/B和B\A的值是否相等? 答:不相等。 (4)A/B和B\A所代表的数学含义是什么? 答:A/B等效于B的逆右乘A矩阵,即A*inv(B),而B\A等效于B矩阵的逆左乘A矩阵,即inv(B)*A。 3.写出完成下列操作的命令。 (1)将矩阵A第2~5行中第1, 3, 5列元素赋给矩阵B。 答:B=A(2:5,1:2:5); 或B=A(2:5,[1 3 5]) (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’); 或double(‘123’); (8)求一个ASCII码所对应的字符。 答:char(49); 4.下列命令执行后,L1、L2、L3、L4的值分别是多少? A=1:9;B=10-A;...

L1=A==B; L2=A<=5; L3=A>3&A<7; L4=find(A>3&A<7); 答:L1的值为[0, 0, 0, 0, 1, 0, 0, 0, 0] L2的值为[1, 1, 1, 1, 1, 0, 0, 0, 0] L3的值为[0, 0, 0, 1, 1, 1, 0, 0, 0] L4的值为[4, 5, 6] 5.已知 完成下列操作: (1)取出A的前3行构成矩阵B,前两列构成矩阵C,右下角32 ?子矩阵构成矩阵D,B与C 的乘积构成矩阵E。 答:B=A(1:3,:); C=A(:,1:2); D=A(2:4,3:4); E=B*C; (2)分别求E=10&A<25)。 答:E=10&A<25)=[1; 5]。 6.当A=[34, NaN, Inf, -Inf, -pi, eps, 0]时,分析下列函数的执行结果:all(A),any(A),isnan(A),isinf(A), isfinite(A)。 答:all(A)的值为0 any(A) 的值为1 isnan(A) 的值为[0, 1, 0, 0, 0, 0, 0] isinf(A) 的值为[0, 0, 1, 1, 0, 0, 0] isfinite(A) 的值为[1, 0, 0, 0, 1, 1, 1] 7.用结构体矩阵来存储5名学生的基本情况数据,每名学生的数据包括学号、姓名、专业和6门课 程的成绩。 答: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';

MATLAB习题答案

习题二 1.如何理解“矩阵就是MATLAB最基本的数据对象”? 答:因为向量可以瞧成就是仅有一行或一列的矩阵,单个数据(标量)可以瞧成就是仅含一个元素的矩阵,故向量与单个数据都可以作为矩阵的特例来处理。 因此,矩阵就是MA TLAB最基本、最重要的数据对象。 2.设A与B就是两个同维同大小的矩阵,问: (1)A*B与A、*B的值就是否相等? 答:不相等。 (2)A、/B与B、\A的值就是否相等? 答:相等。 (3)A/B与B\A的值就是否相等? 答:不相等。 (4)A/B与B\A所代表的数学含义就是什么? 答:A/B等效于A的逆左乘B矩阵,即inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,即B*inv(A)。 3.写出完成下列操作的命令。 (1)将矩阵A第2~5行中第1, 3, 5列元素赋给矩阵B。 答:B=A(2:5,1:2:5); (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’); 或double(‘123’); (8)求一个ASCII码所对应的字符。 答:char(49); 4.下列命令执行后,L1、L2、L3、L4的值分别就是多少? A=1:9;B=10-A;、、、 L1=A==B; L2=A<=5; L3=A>3&A<7; L4=find(A>3&A<7); 答:L1的值为(0, 0, 0, 0, 1, 0, 0, 0, 0) L2的值为(1, 1, 1, 1, 1, 0, 0, 0, 0) L3的值为(0, 0, 0, 1, 1, 1, 0, 0, 0) L4的值为(4, 5, 6) 5.已知

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习题及答案

matlab习题及答案 《Matlab习题及答案:提升编程技能,解决实际问题》 Matlab是一种强大的数值计算和数据分析工具,它被广泛应用于工程、科学和 其他领域的计算和模拟。为了帮助大家提升编程技能,解决实际问题,我们为 大家准备了一些Matlab习题及答案,希望能够帮助大家更好地掌握Matlab的 使用。 1. 习题一:编写一个Matlab程序,计算斐波那契数列的前20个数字,并将结 果打印出来。 答案:下面是一个简单的Matlab程序,用于计算斐波那契数列的前20个数字。```matlab a = 0; b = 1; fib = zeros(1, 20); fib(1) = a; fib(2) = b; for i = 3:20 fib(i) = fib(i-1) + fib(i-2); end disp(fib); ``` 2. 习题二:编写一个Matlab程序,求解一个二次方程ax^2 + bx + c = 0的根。答案:下面是一个简单的Matlab程序,用于求解二次方程的根。

```matlab a = 1; b = -3; c = 2; delta = b^2 - 4*a*c; if delta > 0 x1 = (-b + sqrt(delta))/(2*a); x2 = (-b - sqrt(delta))/(2*a); disp(['The roots are ', num2str(x1), ' and ', num2str(x2)]); elseif delta == 0 x = -b/(2*a); disp(['The root is ', num2str(x)]); else disp('The equation has no real roots'); end ``` 通过以上两个习题及答案的示例,我们可以看到Matlab的强大功能和灵活性。通过练习这些习题,我们可以更好地掌握Matlab的基本语法和常用函数,从而在实际问题中更快更准确地解决数值计算和数据分析的挑战。希望大家能够通过不断练习和实践,不断提升自己的Matlab编程技能,为自己的学习和工作带来更多的可能性和机会。

matlab习题及答案

matlab习题及答案 Matlab习题及答案 Matlab是一种强大的数学计算软件,被广泛应用于科学计算、数据分析和工程 设计等领域。在学习和使用Matlab的过程中,习题是一种非常有效的学习方式。本文将给出一些常见的Matlab习题及其答案,帮助读者更好地掌握Matlab的 使用技巧。 一、基础习题 1. 计算1到100之间所有奇数的和。 解答: ```matlab sum = 0; for i = 1:2:100 sum = sum + i; end disp(sum); ``` 2. 编写一个函数,计算任意两个数的最大公约数。 解答: ```matlab function gcd = computeGCD(a, b) while b ~= 0 temp = b;

a = temp; end gcd = a; end ``` 3. 编写一个程序,生成一个5×5的随机矩阵,并计算矩阵的行和列的平均值。解答: ```matlab matrix = rand(5); row_average = mean(matrix, 2); col_average = mean(matrix); disp(row_average); disp(col_average); ``` 二、进阶习题 1. 编写一个程序,实现插入排序算法。 解答: ```matlab function sorted_array = insertionSort(array) n = length(array); for i = 2:n

j = i - 1; while j > 0 && array(j) > key array(j+1) = array(j); j = j - 1; end array(j+1) = key; end sorted_array = array; end ``` 2. 编写一个程序,实现矩阵的转置。 解答: ```matlab function transposed_matrix = transposeMatrix(matrix) [m, n] = size(matrix); transposed_matrix = zeros(n, m); for i = 1:m for j = 1:n transposed_matrix(j, i) = matrix(i, j); end end

matlab课后习题答案

matlab课后习题答案 习题二 1. 如何理解“矩阵是MATLAB最基本的数据对象”? 答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含 一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。 2. 设A和B是两个同维同大小的矩阵,问: (1) A*B和A.*B的值是否相等?答:不相等。 (2) A./B和B.\\A的值是否相等?答:相等。 (3) A/B和B\\A的值是否相等?答:不相等。 (4) A/B和B\\A所代表的数学含义是什么? 答:A/B等效于B的逆右乘A矩阵,即A*inv(B),而B\\A等效于B矩阵的逆左乘A 矩阵,即inv(B)*A。 3. 写出完成下列操作的命令。 (1) 将矩阵A第2~5行中第1, 3, 5列元素赋给矩阵B。答:B=A(2:5,1:2:5); 或 B=A(2:5,[1 3 5]) (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 转换成3?4矩阵。答:reshape(x,3,4); (7) 求一个字符串的ASCII码。答:abs(‘123’); 或double(‘123’); 因此,矩阵是MATLAB最基本、最重要的数据对象。 (8) 求一个ASCII码所对应的字符。答:char(49); 4. 下列命令执行后,L1、L2、L3、L4的值分别是多少? A=1:9;B=10-A;... L1=A==B; L2=A<=5; L3=A>3&A<7; L4=find(A>3&A<7); 答:L1的值为[0, 0, 0, 0, 1, 0, 0, 0, 0]

MATLAB习题答案

MATLAB习题答案 4.1 求等差数列的前n=100项和,并给出任意项的值。其中。通项公式 aa,1,d,2501 ()(1)na,ann,d1n和前n项和公式。 a,a,(n,1)ds,,na,n11n22 clear sum=0;a(1)=1; d=2; for ii=1:100; a(ii)=a(1)+(ii-1)*d; sum=sum+a(ii); end sum a(50) , 并给出任意项的值。其中q分别取2和0.5。通4.2 求等比数列的前n=100项和aa,1,501 na,aqa(1,q)ni,1n1s。,,项公式和前n项和公式 a,aq,nn11,q1,q clear sum=0;a(1)=1;q=0.5; for ii=1:100 a(ii)=a(1)*q^(ii-1); sum=sum+a(ii); end sum a(50) >> clear sum=0;a(1)=1;q=2; for ii=1:100

a(ii)=a(1)*q^(ii-1); sum=sum+a(ii); end sum a(50) n,11)(4.3 计算1–2+3–…+-的和。 n >> clear n=input('输入n='); switch mod(n,2) case 0 -n/2 otherwise (n+1)/2 end %end 4.4 选出数组x=[10 9 11 5 6 5 4 3 2 1]中的最大(小)值,并用max(A)验证。>> clear x=[10 9 11 5 6 5 4 3 2 1]; max=x(1); for n=2:10 if x(n)>max max=x(n); else if x(n)

matlab课后习题答案附图

习题2.1 画出以下常见曲线的图形 y (1)立方抛物线3x 命令:syms x y;ezplot('x.^(1/3)') (2)高斯曲线y=e^(-X^2); 命令:clear syms 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=1

ezplot(y^2-(x^3)/(a-x)) (5)摆线:()()t b y t t a x cos 1,sin -=-= 命令:>> 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) 对数螺线 命令:clear theta=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);

《MATLAB》课后习题答案

习题二 1.怎样理解“矩阵是 MATLAB 最基本的数据对象”? 答:由于向量能够当作是仅有一行或一列的矩阵,单个数据(标量)能够当作是仅含一个元素的矩阵,故向量和单个数据都能够作为矩阵的特例来办理。 所以,矩阵是 MATLAB 最基本、最重要的数据对象。 2.设 A 和 B 是两个同维同大小的矩阵,问: (1)A*B 和 A.*B 的值能否相等? 答:不相等。 (2)A./B 和 B.\A 的值能否相等? 答:相等。 (3)A/B 和 B\A 的值能否相等? 答:不相等。 (4)A/B 和 B\A 所代表的数学含义是什么? 答: A/B 等效于 B 的逆右乘 A 矩阵,即 A*inv(B) ,而 B\A 等效于 B 矩阵的逆左乘 A 矩阵,即 inv(B)*A 。 3.写出达成以下操作的命令。 (1)将矩阵 A 第2~5行中第1, 3, 5列元素赋给矩阵 B。 答: B=A(2:5,1:2:5); 或 B=A(2:5,[1 3 5]) (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变换成3 4矩阵。 答: reshape(x,3,4); (7)求一个字符串的 ASCII 码。 答: abs(‘123’); 或 double(‘123’);

(8)求一个 ASCII 码所对应的字符。 答: char(49); 4.以下命令履行后, L1、 L2、L3 、L4 的值分别是多少? A=1:9;B=10-A;... L1=A==B; L2=A<=5; L3=A>3&A<7; L4=find(A>3&A<7); 答: L1 的值为 [0, 0, 0, 0, 1, 0, 0, 0, 0] L2 的值为 [1, 1, 1, 1, 1, 0, 0, 0, 0] L3 的值为 [0, 0, 0, 1, 1, 1, 0, 0, 0] L4 的值为 [4, 5, 6] 5.已知 23 10 0.778 0 41 45 65 5 A 32 5 0 32 6 9.54 54 3.14 达成以下操作: (1)拿出 A 的前 3 行组成矩阵 B,前两列组成矩阵 C,右下角3 2子矩阵组成矩 阵 D,B 与 C 的乘积组成矩阵 E。 答: B=A(1:3,:); C=A(:,1:2); D=A(2:4,3:4); E=B*C; (2) 分别求 E=10&A<25) 。 0 1 1 1 1 1 0 0 答: E=10&A<25)=[1; 5] 。 6. 当A=[34, NaN, Inf, -Inf, -pi, eps, 0]时,剖析以下函数的履行结果:all(A) , any(A),isnan(A),isinf(A) , isfinite(A) 。 答: all(A) 的值为 0

matlab课后习题答案(1-9章)

1 数字1.5e2,1.5e3 中的哪个与1500相同吗?1.5e3 2 请指出如下5个变量名中,哪些是合法的? abcd-2 xyz_3 3chan a 变量 ABCDefgh 2、5是合法的。 3 在MATLAB 环境中,比1大的最小数是多少? 1+eps 4 设 a = -8 , 运行以下三条指令,问运行结果相同吗?为什么? w1=a^(2/3) w2=(a^2)^(1/3) w3=(a^(1/3))^2 w1 = -2.0000 + 3.4641i ;w2 = 4.0000 ;w3 =-2.0000 + 3.4641i 5 指令clear, clf, clc 各有什么用处? clear 清除工作空间中所有的变量。 clf 清除当前图形。clc 清除命令窗口中所有显示。 第二章 1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象? 3/7+0.1双; sym(3/7+0.1)符; sym('3/7+0.1') 符;; vpa(sym(3/7+0.1)) 符; 2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') symvar(sym('sin(w*t)'),1) w a z 3 (1)试写出求三阶方程05.443 =-x 正实根的程序。注意:只要正实根,不要出现其他根。 (2)试求二阶方程022=+-a ax x 在0>a 时的根。 (1)reset(symengine) syms x positive solve(x^3-44.5) ans = (2^(2/3)*89^(1/3))/2 (2)求五阶方程02 2 =+-a ax x 的实根 syms a positive %注意:关于x 的假设没有去除 solve(x^2-a*x+a^2) Warning: Explicit solution could not be found. > In solve at 83 ans = [ empty sym ] syms x clear syms a positive solve(x^2-a*x+a^2) ans = a/2 + (3^(1/2)*a*i)/2 a/2 - (3^(1/2)*a*i)/2 4 观察一个数(在此用@记述)在以下四条不同指令作用下的异同。 a =@, b = sym( @ ), c = sym( @ ,' d ' ), d = sym( '@ ' ) 在此,@ 分别代表具体数值 7/3 , pi/3 , pi*3^(1/3) ;而异同通过vpa(abs(a-d)) , vpa(abs(b-d)) , vpa(abs(c-d))等来观察。 ● 理解准确符号数值的创建法。 ● 高精度误差的观察。 (1)x=7/3 x=7/3;a=x,b=sym(x),c=sym(x,'d'),d=sym('7/3'), a = 2.3333 b = 7/3 c =

MATLAB习题参考答案

第1章 MATLAB简介 1、MA TLAB的主要特点有:①语言简洁,编程效率高。②人机界面友善,交互性好。③绘图功能强大,便于数据可视化。④学科众多、领域广泛的MATLAB工具箱。⑤源程序的开放性。 MATLAB的典型应用领域有:①自动控制②汽车③电子④仪器仪表⑤生物医学⑥信号处理⑦通信等。 2、填空题 ⑴命令窗口、命令历史窗口、当前目录窗口 ⑵查阅、保存、编辑 ⑶清除图形窗、清除命令窗口中显示内容、清除MATLAB工作空间中保存的变量。 3、如果想查看某一变量具体内容或者对其修改操作,可以在工作空间中双击该变量名称,可以打开数组编辑器,在数组编辑器中可以查看变量的具体内容,也可以对其修改。如果想删除MATLAB内存中的变量,可以在工作空间中选中该变量,然后利用工作空间窗口的菜单命令或工具条中的快捷图标进行删除。 4、1+2+3+4+5+... (+ 后面可以直接跟...,也可以在+和...中加一个空格。) 6+7+8+9 1+2+3+4+5 ... (5后面必须跟一个空格,不能直接跟...,否则报错,这在预置一个+6+7+8+9 大数组时很重要。) 第2章矩阵与数值数组 1、填空题: ⑴非数、无穷大、机器零阈值,浮点数相对精度,eps= 2.2204e-016。 ⑵全下标、单下标。 2、阅读程序题: (本题主要考察数组的寻访、赋值和简单运算,提示:带;的语句不显示结果) ⑴ans = 2 3 7 Sa = 10 20 30 A = 1 20 5 30 9 10 4 6 8 10 ⑵ A = 1 3 5 7 9 11 13 15

2 4 6 8 10 12 14 16 ans = 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16 A = 0 0 5 7 0 0 13 15 2 4 0 0 10 12 0 0 ⑶ ans = -1 -4 6 4 ans = 3 0 5 -2 ans = 3 6 9 12 ans = 3 6 9 12 3、A=magic(4); L=A<10 L = 0 1 1 0 1 0 0 1 1 1 1 0 1 0 0 1 4、省略。 第3章字符串、元胞和构架数组 1. 直接创建法:S1=['Where there is life,' 'there is hope. '] %注意第2行要加入6个空格使其与第一 行字符数相等,否则报错。 S2=str2mat('Where there is life,','there is hope.') S3=strvcat('Where there is life,','there is hope.') %后两种方法则不用考虑两行 字符的数目 2. 填空题:A(2,3);A{2,3} 3. 阅读程序题: ⑴subch = ABc12

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 矩阵元素,即 ⎥⎥ ⎥⎥⎦ ⎤⎢⎢⎢ ⎢⎣⎡237 912685 574 (2)按照a 、b 、c 的列顺序组合成一个行矢量,即 []296531877254 6, 将(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)

matlab基础与应用部分习题答案

作业一 4、写出完成下列操作的命令。 (1)将矩阵A第2~5行中第1,3,5列元素赋给矩阵B。>> M=[0:1:48]; >> A=reshape(M,7,7) A = 0 7 14 21 28 35 42 1 8 15 2 2 29 36 43 2 9 16 2 3 30 37 44 3 10 17 2 4 31 38 45 4 11 18 2 5 32 39 46 5 12 19 2 6 33 40 47 6 13 20 2 7 34 41 48 >> B=A(2:5,1:2:5) B = 1 15 29 2 16 30 3 17 31 4 18 32 (2)删除矩阵A的第七行元素。 >> A(7,:)=[] A = 0 7 14 21 28 35 42 1 8 15 2 2 29 36 43 2 9 16 2 3 30 37 44 3 10 17 2 4 31 38 45 4 11 18 2 5 32 39 46 5 12 19 2 6 33 40 47 (3)将矩阵A的每个元素值加30。 >> A=A+30 A = 30 37 44 51 58 65 72 31 38 45 52 59 66 73 32 39 46 53 60 67 74

33 40 47 54 61 68 75 34 41 48 55 62 69 76 35 42 49 56 63 70 77 (4求矩阵A的大小和维素。 sizeA = size(A) dA = ndims(A) sizeA = 6 7 dA = 2 (5)将向量t的0元素用机器零来代替。 >> t=[1 2 3 4 0 5]; t = 1 2 3 4 0 5 >> find(t==0) ans = 5 >> t(5)=eps t = 1.0000 2.0000 3.0000 4.0000 0.0000 5.0000 (6)将含有12个元素的向量x转换成3*4矩阵。 >> x=[0:11] x = 0 1 2 3 4 5 6 7 8 9 10 11 >> y=reshape(x,3,4) y =

MATLAB课后习题集附标准答案

第2章 MATLAB概论 1、与其他计算机语言相比较,MATLAB语言突出的特点是什么? 答:起点高、人机界面适合科技人员、强大而简易的作图功能、智能化程度高、功能丰富,可扩展性强. 2、MATLAB系统由那些部分组成? 答:开发环境、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、在MATLAB中有几种获得帮助的途径? 答:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器.茕桢广鳓鯡选块网羈泪。 (2)help命令:在命令窗口键入“help”命令可以列出帮助主题,键入“help 函数名”可以得到鹅娅尽損鹌惨歷茏鴛賴。 指定函数的在线帮助信息. (3)lookfor命令:在命令窗口键入“lookfor 关键词”可以搜索出一系列与给定关键词相关的命令和函数.籟丛妈羥为贍偾蛏练淨。 (4)模糊查询:输入命令的前几个字母,然后按Tab键,就可以列出所有以这几个字母开始的命令和函数. 注意:lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息.預頌圣鉉儐歲龈讶骅籴。 第3章 MATLAB数值运算

相关主题
相关文档
最新文档