当前位置:文档之家› matlab课后习题答案1到6章

matlab课后习题答案1到6章

欢迎共阅

习题二

1.

如何理解“矩阵是MATLAB 最基本的数据对象”? 答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。 (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’); 或E 。 答:B=A(1:3,:); C=A(:,1:2); D=A(2:4,3:4);

E=B*C;

(2) 分别求E

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

答:E

⎢⎥⎢⎥⎢⎥⎣⎦,E&D=110111⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦,11⎡⎤⎢⎥答:student(1).id='0001';

student(1).name='Tom'; student(1).major='compu

ter';

student(1).grade=[89,78,67,90,86,85]; 8.

建立单元矩阵B 并回答有关问题。 B{1,1}=1;

B{1,2}='Brenden';

B{2,1}=reshape(1:9,3,3); B{2,2}={12,34,2;54,21,3;4 ,23,67};

(1)size(B)和ndims(B)的

值分别是多少?

答:size(B) 的值为2, 2。

ndims(B) 的值为

2。

(2)B(2)和B(4)的值分别是

(2)建立5×6随机矩阵A,

其元素为[100,200]

范围内的随机整数。答:

round(100+(200-100)*ra nd(5,6));

(3)产生均值为1,方差为

0.2的500个正态分

布的随机数。

答:

1+sqrt(0.2)*randn(5,100

);

(4)产生和A同样大小的

幺矩阵。

答:ones(size(A));

(5)将矩阵A对角线的元

素加30。

答:A+eye(size(A))*30;

(6)从矩阵A提取主对角

方程组的解为

x=

6.0000

26.6667

27.3333

-⎡⎤

⎢⎥

⎢⎥

⎢⎥

⎣⎦

5.求下列矩阵的主对角线元素、

上三角阵、下三角阵、秩、范

数、条件数和迹。

(1)

1123

5142

3052

111509

A

-

⎡⎤

⎢⎥

-

⎢⎥

=

⎢⎥

⎢⎥

⎣⎦

(2)

0.43432

B

⎡⎤

=⎢⎥

答:[V,D]=eig(A);

习题四

1.从键盘输入一个4位整数,按

如下规则加密后输出。加密规

则:每位数字都加上7,然后

用和除以10的余数取代该数

字;再把第一位与第三位交

换,第二位与第四位交换。

答:

a=input('请输入4位整数:');

A=[a/1000,a/100,a/10,a ];

A=fix(rem(A,10));

A=rem(A+7,10);

b=A(3)*1000+A(4)*100+A( 1)*10+A(2);

disp(['加密后的值为:',num2str(b)]);

case {1,2}

y=a*x^2+b*x+c;

case num2cell(3:6)

y=a*((sin(b))^c)+x;

case num2cell(7:10)

y=log(abs(b+c/x));

end

disp(['y=',num2str(y)]); 3.产生20个两位随机整数,输

出其中小于平均值的偶数。

答:

A=fix(10+89*rand(1,20));

sum=0;

for i=1:20

sum=sum+A(i);

end

B=A(find(A<(sum/20)));

C=B(find(rem(B,2)==0));

for i=1:5

A(i)=input(['请输入第

', num2str(i), '数:']);

end

disp(['最大数为:',

num2str(max(A))]);

disp(['最小数为:',

num2str(min(A))]);

5.已知:

2363

12222

s=+++++

,分别用循环结构和调用

MATLAB的sum函数求s的

值。

答:

(1) 用循环结构实现:

s=0;

for i=0:63

1

1

((ln2

n

n

+

+++=

()

4

+=

1

()

43

n

+++=

(2)(2

(21)(2

n

n

⎛⨯

-⨯

要求分别用循环结构和向量

运算(使用sum或prod函数)来

实现。

答:

(1) 用循环结构实现:

sum=0;

for k=1:100

sum=sum+(-1)^(k+1)/k;

end sum

使用sum 函数: x=[];

for k=1:10000

x=[x, (-1)^(k+1)/k];

end sum(x)

end sum(x)

(4) 用循环结构实现: t=1; for k=1:100

t=t*(((2*k)*(2*k))/((2*k-1)*(2*k+1)));

end t

使用prod 函数实现: x=[]; for k=1:100

x=[x,

((2*k)*(2*k))/((2*k-1)*(2*k+1))];

end prod(x)

7. 编写一个函数文件,求小于任意自然数n 的斐波那契(Fibnacci )数列各项。斐波那契数列定义如下: B=input('请输入矩阵B :'); [x, y]=myfnc(A, B); if length(x)==0

display('两矩阵的维数不匹配,无法进行乘积运算!');

else

disp('矩阵A 和矩阵B 的乘积为:'); x

end

disp('矩阵A 和矩阵B 的点乘为:');

y

9.

先用函数的递归调用定义一

个函数文件求

1

n

m

i i

=∑,然后

调用该函数文件求

10050

10

for j=1:4

if

rem(k(j),2)~=0

s=s+k(j);

end end

end

s

答:执行结果为

s=108

②命令文件exe.m执行后

的结果为:

x =

4 12 20

y=

2 4 6

第五章

1. (1) x=-10:0.1:10;

rho=pi/3.*theta.^2;

polar(theta,rho)

3.

(1)

t=0:pi/100:2*pi;

x=cos(t);

y=sin(t);

z=t;

plot3(x,y,z) (2)

u=0:pi/100:2*pi;

v=0:pi/100:2*pi;

x=(1+cos(u)).*cos(v);

y=(1+cos(u)).*sin(v);

z=sin(u);

plot3(x,y,z)

(3)

(4)

5.

素的和sum(B) ;A全部元素

之和

(4)sort(A) ;A的每列元素按升

序排列

sort(A,2,’descend’) ;A的

每行元素按将序排列

2.

(1)

(2)

X=[1 4 9 16 25 36 49 64 81

100];

Y=1:10;

X1=1:100;

Y1=interp1(X,Y,X1,'cubic')

3.

x=[165 123 150 123 141];

y=[187 126 172 125 148];

P=polyfit(x,y,3)

(3)

i=0:10;

xi=0.2*i;

polyval(P,xi)

ans =

-2.0000 -2.3920

-2.6112 -1.7024 2.7104

15.0000 42.1120 94.1408

184.9056 332.5264

560.0000

5.

(1)

建立函数文件:

function f=fxy(u)

x=u(1);y=u(2);

f=3.*x.^2+2*x.*y+y.^2

在命令窗口中输入以下命令:[U,fmin]=fminsearch('fxy',[1,1])

x=1:3;

f=inline('sqrt(x.^2+1)');

dx=diff(f([x,4]))

结果:

dx =

0.8219 0.9262

0.9608

7.(1)

f=inline('sin(x).^5.*sin(5*x)'); quad(f,0,pi)

ans =

0.0982

(2)

f=inline('(1+x.^2)./(1+x.^4)');

quad(f,-1,1)

ans =

2.2214

(3)

f=inline('x.*sin(x)./(1+cos(x).^2)

f=f*(0:N/2)/N; %使频率

轴f从0开始

plot(f,abs(F)) %绘制振

幅-频率图

9.

(1)

矩阵求逆法:

A=[2 3 5;3 7 4;1 -7 1];

b=[10;3;5];

x=inv(A)*b

x =

-1.8060

-0.5373

3.0448

矩阵除法法:

A=[2 3 5;3 7 4;1 -7 1];

b=[10;3;5];

x=A\b

x =

disp('原方程组有无穷个解,特解为

x,齐次方程组的基础解系为y');

x=A\b;

y=null(A,'r');

end

disp('方程组无解');

x=[];

end

else

disp('原方程组有零解x');

x=zeros(n,1);

if rank(A)

disp('方程组有无穷个解,基础解系为y');

y=null(A,'r');

end

end

程序:

A=[2 1 -1 1;4 2 -2 1;2 1 -1 -1];

x=fzero(f,1.5)

x =

1.6738

12.

函数文件:

function f=fxy(u)

x=u(1)

y=u(2)

f(1)=x-0.6*sin(x)-0.3*cos(y) f(2)=y-0.6*cos(x)+0.3*sin(y)

在命令窗口输入以下命令:

x=fsolve('fxy',[0.5,0.5],optimset ('Display','off'))

结果:

x =

0.6354 0.3734

15.

A=[-1 2 0;-1 2 -1;-1 2 -1;-1 2 -1;0 2 -1];

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课后习题标准答案(1-9章)

1 数字1.5e 2,1.5e3 中的哪个与1500相同吗?1.5e3 2 请指出如下5个变量名中,哪些是合法的? abcd-2? xyz _3? 3chan ?a变量? A BC De fgh ?2、5是合法的。 3 在MATL AB 环境中,比1大的最小数是多少? 1+ep s 4 设 a = -8 , 运行以下三条指令,问运行结果相同吗?为什么? w 1=a^(2/3)? w2=(a^2)^(1/3)? w 3=(a^(1/3))^2 w1 = -2.0000 + 3.4641i ;w2 = 4.0000 ;w3 =-2.0000 + 3.4641i 5 指令clea r, clf , clc 各有什么用处? cle ar 清除工作空间中所有的变量。 clf 清除当前图形。clc ? 清除命令窗口中所有显示。 第二章 1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度”对象,还是“符号”符号对象? 3/7+0.1双; s ym(3/7+0.1)符; sym('3/7+0.1') 符;; vpa(s ym(3/7+0.1)) 符; 2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是自由符号变量. sym('sin(w *t)'),sym('a *exp(-X )'),sym('z*exp (j*th)') s ym var(sym('sin(w*t)'),1) w a z 3 (1)试写出求三阶方程05.443=-x 正实根的程序。注意:只要正实根,不要出现其他根。 (2)试求二阶方程022=+-a ax x 在0>a 时的根。 (1)reset(symengine) ? ? sy ms x posi tive ?s olve (x ^3-44.5) ??ans = ? (2^(2/3)*89^(1/3))/2 (2)求五阶方程022=+-a ax x 的实根 syms a p osi tiv e? %注意:关于x 的假设没有去除 solve(x^2-a*x +a^2) Wa rning : E xpl ici t solu tion co uld not be found. > In so lv e at 83 ans = [ em pty sym ] sym s x cl ea r sym s a positiv e so lve (x^2-a*x+a^2) a ns = a/2 + (3^(1/2)*a *i)/2 a/2 - (3^(1/2)*a*i)/2 4 观察一个数(在此用@记述)在以下四条不同指令作用下的异同。 a =@, b = sym( @ ), ?c = sym( @ ,'d ' ), d = sy m( '@ ' )? 在此,@ 分别代表具体数值 7/3 , pi /3 , pi *3^(1/3) ;而异同通过v pa(ab s(a-d)) , v pa(abs(b-d)) , vpa(a bs(c-d))等来观察。 ● 理解准确符号数值的创建法。 ● 高精度误差的观察。 (1)x=7/3 x=7/3;a=x,b =sy m(x),c=sym(x,'d '),d=sym('7/3'), a = 2.3333

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到6章

欢迎共阅 习题二 1. 如何理解“矩阵是MATLAB 最基本的数据对象”? 答:因为向量可以看成是仅有一行或一列的矩阵,单个数据(标量)可以看成是仅含一个元素的矩阵,故向量和单个数据都可以作为矩阵的特例来处理。 (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’); 或E 。 答:B=A(1:3,:); C=A(:,1:2); D=A(2:4,3:4); E=B*C; (2) 分别求E=10&A<25)。 答:E

B{1,2}='Brenden'; B{2,1}=reshape(1:9,3,3); B{2,2}={12,34,2;54,21,3;4 ,23,67}; (1)size(B)和ndims(B)的 值分别是多少? 答:size(B) 的值为2, 2。 ndims(B) 的值为 2。 (2)B(2)和B(4)的值分别是 (2)建立5×6随机矩阵A, 其元素为[100,200] 范围内的随机整数。答: round(100+(200-100)*ra nd(5,6)); (3)产生均值为1,方差为 0.2的500个正态分 布的随机数。 答: 1+sqrt(0.2)*randn(5,100 ); (4)产生和A同样大小的 幺矩阵。 答:ones(size(A)); (5)将矩阵A对角线的元 素加30。 答:A+eye(size(A))*30; (6)从矩阵A提取主对角 方程组的解为 x= 6.0000 26.6667 27.3333 -⎡⎤ ⎢⎥ ⎢⎥ ⎢⎥ ⎣⎦ 5.求下列矩阵的主对角线元素、 上三角阵、下三角阵、秩、范 数、条件数和迹。 (1) 1123 5142 3052 111509 A - ⎡⎤ ⎢⎥ - ⎢⎥ = ⎢⎥ ⎢⎥ ⎣⎦ (2) 0.43432 B ⎡⎤ =⎢⎥ ⎦ 答:[V,D]=eig(A); 习题四 1.从键盘输入一个4位整数,按 如下规则加密后输出。加密规 则:每位数字都加上7,然后 用和除以10的余数取代该数 字;再把第一位与第三位交 换,第二位与第四位交换。 答:

matlab1-8章课后作业

MATLAB基础教程1~8章作业

Matlab第一章 1.阐述Matlab的功能 Matlab作为一种高级计算软件,是进行算法开发、数据可视化、数据分析以及数值计算的交互式应用开发环境,已被广泛应用于不同领域。Matlab的基本功能包括:数学计算功能、图形化显示功能、M语言编程功能、编译功能、图形用户界面开发功能、Simulink建模仿真功能、自动代码生成功能。 Matlab第二章 1.创建double的变量,并进行计算。 (1)a=87,b=190,计算a+b、a-b、a*b。 (2)创建uint8 类型的变量,数值与(1)中相同,进行相同的计算。 >> a=87,b=190 a = 87 b = 190 >> a+b ans = 277 >> a-b ans = -103

>> a*b ans = 16530 >> c=uint8(87), d=uint8(190) c = 87 d = 190 >> c+d ans = 255 >> c-d ans = >> c*d ans = 255 2.计算 (1)sin(60) (2)e^3 (3)cos(3π/4) >> sind(60) ans = 0.8660 >> exp(3) ans = 20.0855 >> cos(3*pi/4) ans = -0.7071 3.设u=2,v=3,计算: (1) (2) (3)

>> u=2; >> v=3; >> 4*u*v/log(v) ans = 21.8457 >> (exp(u)+v)^2/(v^2-u) ans = 15.4189 >> sqrt(u-3*v)/(u*v) ans = 0 + 0.4410i 4.计算如下表达式: (1) (2) >> (3-5*i)*(4+2*i) ans = 22.0000 -14.0000i >> 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' >> 4<20 ans = 1 >> 4<=20 ans = 1 >> 4==20 ans = >> 4~=20 ans =

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.') %后两种方法则不用考虑两行

中南大学matlab课后习题1

第二章 1·求下列表达式的值。 (1)w=sqrt(2)*(1+0、34245*10^-6) w = 1、4142 (2)a=3、5;b=5;c=-9、8; x=(2*pi*a+(c+b)/(pi+a*b*c)-exp(2))/(tan(b+c)+a); x x = 0、9829 (3)a=3、32;b=-7、9; y=2*pi*a^2*[(1-pi/4)*b-(0、8333-pi/4)*a]; y y = -128、4271 (4)t=[2,1-3i;5,-0、65]; z=1/2*exp(2*t)*log(t+sqrt(1+t^2)); z z = 1、0e+004 * 0、0057 - 0、0007i 0、0049 - 0、0027i 1、9884 - 0、3696i 1、7706 - 1、0539i 2,已知a,b,求下列表达式的值。 a=[-1,5,-4;0,7,8;3,61,7];b=[8,3,-1;2,5,3;-3,2,0]; (1)a+6*b ans = 47 23 -10 12 37 26 -15 73 7 a^2-b+eye(3) ans = -18 -217 17 22 533 109 21 867 526 (2)a*b ans = 14 14 16 -10 51 21 125 328 180 a、*b ans = -8 15 4 0 35 24 -9 122 0 b*a

ans = -11 0 -15 7 228 53 3 -1 28 (3)a/b ans = 1、2234 -0、9255 2、9787 -0、9468 2、3511 -0、9574 4、6170 3、8723 13、8936 b\a ans = -0、5106 -8、6170 -1、1277 0、7340 17、5745 1、8085 -0、8830 -21、2128 0、4043 (4)[a,b] ans = -1 5 -4 8 3 -1 0 7 8 2 5 3 3 61 7 -3 2 0 [a([1,3],:);b^2] ans = -1 5 -4 3 61 7 73 37 1 17 37 13 -20 1 9 3、已知a,完成下列操作。 a=[23,10,-0、778,0;41,-45,65,5;32,5,0,32;6,-9、54,54,3、14]; (1)输出a在[10,25]范围内的全部元素。 k=find(a>10&a<25) a(k) k = 1 ans = 23 (2)取出a前3行构成矩阵b,前两列构成矩阵c,右下角3*2子矩阵构成矩阵d,b与c的乘积构成矩阵e。 b=a(1:3,:) b = 23、0000 10、0000 -0、7780 0 41、0000 -45、0000 65、0000 5、0000 32、0000 5、0000 0 32、0000 c=a(:,1:2) c = 23、0000 10、0000

matlab课后习题答案

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. 已知 23100.7780414565532503269.5454 3.14A --??=-?? 完成下列操作: (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< p=""> find(A>=10&A<25)=[1; 5]。 6. 当A=[34, NaN, Inf, -Inf, -pi, eps, 0]时,分析下列函数的执行结果:all(A),any(A),isnan(A),isinf(A),isfinite(A)。

MATLAB教程课后实验报告题目及解答[第一至第五章]

MATLAB教程实验报告 实验项目名称实验一 Matlab基本操作 学生姓名汪德旺专业班级 09数教(1)班学号 0301090131 实验成绩日期 一. 实验目的和要求 1、了解MATLAB 的开发环境。 2、熟悉Matlab的基本操作。 3、掌握建立矩阵的方法。 4、掌握MATLAB各种表达式的书写规则以及常用函数的使用。 5、填写实验报告,实验报告文件取名为report1.doc。 6、于邮件附件形式将实验报告文件report1.doc 发到邮箱*******************,邮件主题为班级学号姓名,如:09数教1班15号张三。 二、实验内容 1、先求下列表达式的值,然后显示MATLAB工作空间的使用情况并保存全部变量。 (1) 0 12 2sin85 1 z e = + (2 ) 2 212 1 ln( 0.455 2 i z x x + ⎡⎤==⎢⎥ -⎣⎦ 其中 (3) 0.30.3 3 0.3 sin(0.3)ln, 22 a a e e a z a - -+ =++a=-3.0,-2.9,-2.8,…, 2.8, 2.9,3.0 (4) 2 2 4 2 ,01 1,12,0:0.5:2.5 21,23 t t z t t t t t ⎧≤< ⎪ =-≤<= ⎨ ⎪-+≤< ⎩ 其中t 2.已知: 12344131 34787,203 3657327 A B --⎡⎤⎡⎤ ⎢⎥⎢⎥== ⎢⎥⎢⎥ ⎢⎥⎢⎥ - ⎣⎦⎣⎦ 求下列表达式的值: (1)A+6*B和A-B+I(其中I为单位矩阵) (2)A*B和A.*B (3)A^3和A.^3 (4)A/B和B\A (5)[A,B]和[A([1,3],:);B^2]

matlab课后习题及答案详解

matlab课后习题及答案详解 第1章练习题 1.安装matlab时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装?在安装matlab时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即matlab选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 2.matlab操作方式桌面存有几个窗口?如何并使某个窗口瓦解桌面沦为单一制窗口?又如何将瓦解过来的窗口再次置放至桌面上?与其他计算机语言相比较,matlab语言注重的特点就是什么?matlab系统由那些部分共同组成? 在matlab操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的close按钮,一个是可以使窗口成为独立窗口的undock按钮,点击undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择dock……菜单项就可以将独立的窗口重新防止的桌面上。 matlab具备功能强大、使用方便、输出简便、库函数多样、开放性弱等特点。 matlab系统主要由开发环境、matlab数学函数库、matlab语言、图形功能和应用程序接口五个部分组成。 3.如何设置当前目录和搜寻路径,在当前目录上的文件和在搜寻路径上的文件存有什么区别?命令历史窗口除了可以观测前面键入的命令外,除了什么用途? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file菜单中的setpath菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被matlab运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 命令历史窗口除了用作查阅以前键入的命令外,还可以轻易执行命令历史窗口中选取的内容、将选取的内容拷贝到剪贴板中、将选取内容轻易拷贝到m文件中。 4.在matlab中有几种获得帮助的途径?在matlab中有多种获得帮助的途径: (1)协助浏览器:挑选view菜单中的help菜单项或挑选help菜单中的matlabhelp 菜单项可以关上协助浏览器; (2)help命令:在命令窗口键入?help?命令可以列出帮助主题,键入?help函数名?可以得到指定函数的在线帮助信息;

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 矩阵元素,即 (2)按照a 、b 、c 的列顺序组合成一个行矢量,即 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) 12, 矩阵⎥⎥⎥⎦ ⎤ ⎢⎢⎢⎣⎡-=943457624a ,计算a 的行列式和逆矩阵。(应用det,inv) 13, y =sin(x ),x 从0到2π,∆x =0.02π,求y 的最大值、最小值、均值和标准差。(应用max,min,mean,std) 14, 参照课件中例题的方法,计算表达式() 2 2 e 1053y x y x z ---=的梯度并绘图。(应用meshgrid, gradient, contour, hold on, quiver) 15, 用符号函数法求解方程a t 2+b*t +c=0。(应用solve) 16, 用符号计算验证三角等式:(应用syms,simple) 17, 求矩阵⎥⎦ ⎤ ⎢ ⎣⎡=2221 1211a a a a A 的行列式值、逆和特征根。(应用syms,det,inv,eig) 18, 因式分解:6555234-++-x x x x (应用syms, factor)

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*c e = 5271 11574 -11336 664 1978 3112 (2)a=50:1:100 二、1 、x=-74; y=-27; z=(sin(x.^2+y.^2))/(sqrt(tan(abs(x+y)))+pi) z = 2、a=-3.0:0.1:3.0; >> b=exp(-0.3*a).*sin(a+0.3) 3、x=[2 4;-0.45 5]; y=log(x+sqrt(1+x.^2))/2 y = 4、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./B A.^B表示两个矩阵对应元素进行乘方运算 A.^2表示a中的每个元素的平方 A^2表示A*A 例:x=[1,2,3]; y=[4,5,6]; z=x.^y z= 1 3 2 729 指数可以是标量(如y=2).底数也可以是标量(如x=2) 5、a=1+2i; >> b=3+4i; >> c=exp((pi*i)/6) c = d=c+a*b/(a+b) d = 第二章 二、4、(1) y=0;k=0; >> while y<3 k=k+1; y=y+1/(2*k-1); end >> display([k-1,y-1/(2*k-1)]) ans = 第三章

matlab作业题答案

MATLAB作业题答案 第一章MATLAB概述 1.选择题 (1)在MATLAB中( C )用于括住字符串。 A、, B、; C、‘’ D、“” (2)在MATLAB的命令窗口中( D )可以中断MATLAB命令运行。 A、end B、esc C、backspace D、ctrl+c (3)在MA TLAB的命令窗口中执行( B )命令,使数值 5.3显示为 5.3000000000000000e+000。 A、format long B、format long e C、format short D、format short e (4)在MA TLAB的命令窗口中执行(B )命令,将命令窗口的现实内容清空。 A、clear B、clc C、echo off D、cd 2.在命令窗口中输入以下命令,写出在命令窗口中的运行结果。 a=[2+5i 5 0.2 2*3] 答: a = 0i 5.0000 0.2000 6.0000 3.使用MATLAB的‘preferences’窗口设置数据格式为有理数表示 答:rational 4.在命令窗口使用标点符号“%”和“;”的含义? 答:%表示注释;;表示不显示运行结果。 5.用“format”命令设置数据输出格式为有理数表示,15位长格式和5位科学计数法。答:rational long short 11.在命令窗口中输入以下命令,并查看显示的图形。 a=[1 2 3 4]; >> b=[5 6 7 8]; >> c=a+b*i; >> plot(c)

第二章 MATLAB 基本运算 1. 选择题 (1) 下列变量名中( A )是合法的。 A 、 char_1,i,j B 、x*y,a.1 C 、x\y,a1234 D 、end ,1bcx (2)下列( C )是合法常量。 A 、3*e10 B 、1e500 C 、-1.85e-56 D 、10-2 (3)x=uint8(2.3e10),则x 所占的字节是( A )个。 A 、1 B 、 2 C 、4 D 、8 (4)已知x=0:10;,则x 有( B )个元素。 A 、10 B 、11 C 、9 D 、12 (5)产生对角线上全是1其余为0的2行3列矩阵的命令是( C )。 A 、ones(2,3) B 、ones(3,2) C 、eye(2,3) D 、eye(3,2) (6)已知数组⎥⎥⎥⎦ ⎤⎢⎢⎢⎣⎡=987654321a ,则a(:,end)是指( C )。 A 、所有元素 B 、第一行元素 C 、第三列元素 D 、第三行元素 (7)已知数组 ⎥⎥⎥⎦ ⎤⎢⎢⎢⎣⎡=987654321a ,则运行a(:,1)=[]命令后( C )。 A 、a 变成行向量 B 、a 数组为2行2列 C 、a 数组为3行2列 D 、a 数组中没有元素3。 (8)已知数组 ⎥⎥⎥⎦ ⎤⎢⎢⎢⎣⎡=987654321a ,则运行mean(a)命令是( B )。

MATLAB程序设计与应用第二版课后题答案 (1)

第二章 3.设矩阵A为 A=[24 23 9 21 6;65 74 24 11 21;34 5 98 75 21;8 42 42 53 121;43 21 45 64 21]; (1)B=A(2:5,1:2:5) B = 65 24 21 34 98 21 8 42 121 43 45 21 (2)A(7)=[] A = 24 65 34 8 43 23 5 42 21 9 24 98 42 45 21 11 75 53 64 6 21 21 121 21 (3)A+30 (4)size(A);ndims(A) (5)题目有误 (6)reshape(x,3,4) (7)abs(x) (8)char(x) 4. 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)B=A(1:3,:) C=A(:,1:2) D=A(2:4,3:4) E=B*C B = 23.0000 10.0000 -0.7780 0 41.0000 -45.0000 65.0000 5.0000 32.0000 5.0000 0 32.0000 C = 23.0000 10.0000 41.0000 -45.0000 32.0000 5.0000 6.0000 -9.5400 D = 65.0000 5.0000

0 32.0000 54.0000 3.1400 E = 1.0e+003 * 0.9141 -0.2239 1.2080 2.7123 1.1330 -0.2103 (2)E=10&A<25) ans = 1 5 6. all(A) ans = any(A) ans = 1 isnan(A) ans = 0 1 0 0 0 0 0 isinf(A) ans =

(完整版)汽车理论课后作业答案MATLAB

汽车理论作业 MA TLAB 过程 0102030405060708090100 5000 10000 15000 汽车驱动力与阻力平衡图 u a /km.h -1 F /N 1020 3040 5060708090100 024 68 10 12 14 加速度倒数-速度曲线图 u 1/a

010203040 5060708090100 10 20 30 40 50 60 u/(km/h) P /k W 汽车功率平衡图 10 203040 5060708090100 1214 16 18 20 22 24 最高档等速百公里油耗曲线 Ua/(km/h) Q s /L

23 2425 2627 2829 1213 14 15 16 17 18 燃油积极性-加速时间曲线 燃油经济性(qs/L) 动力性--原地起步加速时间 (s t /s ) 源程序: 《第一章》 m=3880; g=9.8; r=0.367; x=0.85; f=0.013; io=5.83; CdA=2.77; If=0.218; Iw1=1.798; Iw2=3.598; Iw=Iw1+Iw2; ig=[6.09 3.09 1.71 1.00]; %变速器传动比 L=3.2; a=1.947; hg=0.9; n=600:1:4000;

T=-19.313+295.27*n/1000-165.44*(n/1000).^2+40.874*(n/1000).^3-3.8445*(n/1000).^4; Ft1=T*ig(1)*io*x/r;%计算各档对应转速下的驱动力 Ft2=T*ig(2)*io*x/r; Ft3=T*ig(3)*io*x/r; Ft4=T*ig(4)*io*x/r; u1=0.377*r*n/(io*ig(1)); u2=0.377*r*n/(io*ig(2)); u3=0.377*r*n/(io*ig(3)); u4=0.377*r*n/(io*ig(4)); u=0:130/3400:130; F1=m*g*f+CdA*u1.^2/21.15;%计算各档对应转速下的驱动阻力 F2=m*g*f+CdA*u2.^2/21.15; F3=m*g*f+CdA*u3.^2/21.15; F4=m*g*f+CdA*u4.^2/21.15; figure(1); plot(u1,Ft1,'-r',u2,Ft2,'-m',u3,Ft3,'-k',u4,Ft4,'-b',u1,F1,'-r',u2,F2,'-m',u3,F3,'-k',u4,F4,'-b','LineWidth',2) title('汽车驱动力与阻力平衡图'); xlabel('u_{a}/km.h^{-1}') ylabel('F/N') gtext('F_{t1}') gtext('F_{t2}') gtext('F_{t3}') gtext('F_{t4}') gtext('F_{f}+F_{w}') %由汽车驱动力与阻力平衡图知,他们无交点,u4在最大转速时达到最大 umax=u4(3401) Ft1max=max(Ft1); imax=(Ft1max-m*g*f)/(m*g) disp('假设是后轮驱动'); C=imax/(a/L+hg*imax/L) % 附着率 delta1=1+(Iw1+Iw2)/(m*r^2)+If*ig(1)*r^2*io^2*x/(m*r^2); delta2=1+(Iw1+Iw2)/(m*r^2)+If*ig(2)*r^2*io^2*x/(m*r^2); delta3=1+(Iw1+Iw2)/(m*r^2)+If*ig(3)*r^2*io^2*x/(m*r^2); delta4=1+(Iw1+Iw2)/(m*r^2)+If*ig(4)*r^2*io^2*x/(m*r^2); a1=(Ft1-F1)/(delta1*m); %加速度 a2=(Ft2-F2)/(delta2*m); a3=(Ft3-F3)/(delta3*m); a4=(Ft4-F4)/(delta4*m); h1=1./a1; %加速度倒数 h2=1./a2; h3=1./a3; h4=1./a4; figure(2);

MATLAB答案

************************ MATLAB语言实验指导书************************ 华东交通大学电气学院 张永贤 2006年2月

实验一 MATLAB 工作环境熟悉及简单命令的执行 一、实验目的:熟悉MATLAB 的工作环境,学会使用MATLAB 进行一些简单的运算。 二、实验内容:MATLAB 的启动和退出,熟悉MATLAB 的桌面(Desktop ),包括菜单 (Menu )、工具条 (Toolbar )、命令窗口(Command Window)、历史命令窗口、工作 空间(Workspace)等;完成一些基本的矩阵操作;学习使用在线帮助系统。 三、实验步骤: 1、启动MATLAB ,熟悉MATLAB 的桌面。 2、在命令窗口执行命令完成以下运算,观察workspace 的变化,记录运算结果。 (1)(365-52⨯2-70)÷3 (2)>>area=pi*2.5^2 (3)已知x=3,y=4,在MATLAB 中求z : () 2 3 2y x y x z -= (4)将下面的矩阵赋值给变量m1,在workspace 中察看m1在内存中占用的字节数。 m1=⎥⎥⎥⎥ ⎦ ⎤⎢⎢⎢ ⎢⎣⎡11514412679810115133216 执行以下命令 >>m1( 2 , 3 ) >>m1( 11 ) >>m1( : , 3 ) >>m1( 2 : 3 , 1 : 3 ) >>m1( 1 ,4 ) + m1( 2 ,3 ) + m1( 3 ,2 ) + m1( 4 ,1) (5)执行命令>>help abs 查看函数abs 的用法及用途,计算abs( 3 + 4i ) (6)执行命令 >>x=0:0.1:6*pi; >>y=5*sin(x); >>plot(x,y) (6)运行MATLAB 的演示程序,>>demo ,以便对MATLAB 有一个总体了解。 四、思考题 1、以下变量名是否合法?为什么? (1)x2 (2)3col (3)_row (4)for 2、求以下变量的值,并在MATLAB 中验证。 (1)a = 1 : 2 : 5 ; (2)b = [ a' a' a' ] ; (3)c = a + b ( 2 , : )

相关主题
文本预览
相关文档 最新文档