文档库 最新最全的文档下载
当前位置:文档库 › matlab教程课后作业

matlab教程课后作业

matlab教程课后作业
matlab教程课后作业

【例1.3-5】图示复数i z i z 21,3421+=+=的和。

z1=4+3*i;z2=1+2i;

z12=z1+z2

clf,hold on

plot([0,z1,z12],'-b','LineWidth',3)

plot([0,z12],'-r','LineWidth',3)

plot([z1,z12],'ob','MarkerSize',8)

hold off,grid on

axis equal

axis ([0,6,0,6])

text(3.5,2.3,'z1')

text(5,4.5,'z2')

text(2.5,3.5,'z12')

xlabel('real')

ylabel('image')

shg

z12 =

a=-8;

r_a=a^(1/3)

p=[1,0,0,-a];

R=roots(p)

MR=abs(R(1));

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

x=MR*sin(t);

y=MR*cos(t);

plot(x,y,'b:'),grid on

hold on

plot(R(2),'.','MarkerSize',30,'Color','r')

plot(R([1,3]),'o','MarkerSize',15,'Color','b')

axis([-3,3,-3,3]),axis square

hold off

r_a =

1.0000 + 1.7321i

R =

-2.0000

1.0000 + 1.7321i

【例1.3-10】画出衰减振荡曲线t e

y t 3sin 3-=,t 的取值范围是]4,0[π。

t=0:pi/50:4*pi;

y=exp(-t/3).*sin(3*t);

plot(t,y,'r','LineWidth',2)

axis([0,4*pi,-1,1])

xlabel('t'),ylabel('y')

习题3

1.在MATLAB 中,先运行指令A=magic(3), B=[1,2,1;3,4,3;5,6,7], C=reshape(1:6,3,2)生成阵列33?A ,23?B ,23?C ,然后根据运行结果回答以下问题:

(1)计算A*B, B*A ,这两个乘积相同吗?

(2)计算A\B, B/A ,左除、右除结果相同吗?

(3)计算B( : ,[1,2]).*C 和C.*B( : , [1,2]),这两个乘积相同吗?

(4)计算A\A 和A.\A ,这两个计算结果相同吗?

(5)计算A\eye(3)和inv(A),这两个计算结果相同吗?

(提示:根据对计算结果的目测回答问题)

A=magic(3), B=[1,2,1;3,4,3;5,6,7], C=reshape(1:6,3,2)

A =

8 1 6

3 5 7

4 9 2

B =

1 2 1

3 4 3

5 6 7

C =

1 4

2 5

3 6

(1)A*B, B*A

ans =

41 56 53

53 68 67

41 56 45

ans =

18 20 22

48 50 52

86 98 86

结果不同,所以A*B不等于B*A

(2)A\B, B/A

ans =

0.0333 0.1000 0.1611

0.5333 0.6000 0.7444

0.0333 0.1000 -0.1722

ans =

0.0056 0.0889 0.1722

0.1389 0.2222 0.3056

0.2333 0.7333 0.2333

结果不同,所以A\B,不等于B/A

(3)B( : ,[1,2]).*C,C.*B( : , [1,2])

ans =

1 8

6 20

15 36

ans =

1 8

6 20

15 36

结果相等,所以B( : ,[1,2]).*C等于C.*B( : , [1,2])

(4)A\A,A.\A

ans =

1 0 0

0 1 0

0 0 1

ans =

1 1 1

1 1 1

1 1 1

结果不同,所以A\A等于A.\A

(5)A\eye(3),inv(A)

ans =

0.1472 -0.1444 0.0639

-0.0611 0.0222 0.1056

-0.0194 0.1889 -0.1028

ans =

0.1472 -0.1444 0.0639

-0.0611 0.0222 0.1056

-0.0194 0.1889 -0.1028

结果相同,所以A\eye(3)等于inv(A)

2,0[ 上产生具有10个等距采样点的一维数组。试用两种不同的指令实现(提5.5,要求在闭区间]

示:冒号生成法,定点生成法)

(1)冒号生成法:

A=0:2*pi/9:2*pi

A =

0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888

4.8869

5.5851

6.2832

(2)定点生成法:

A=linspace(0,2*pi,10)

A =

0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 4.8869 5.5851 6.2832

6.由指令rng('default'),A=rand(3,5)生成二维数组A,试求该数组中所有大于0.5的元素的位置,分别

求出它们的“全下标”和“单序号”。(提示:find和sub2ind)

rng('default'),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

B=A>=0.5

B =

1 1 0 1 1

1 1 1 0 0

0 0 1 1 1

B中所有的1为A中所有大于0.5的元素

C=B([1:15])

C =

1 1 0 1 1 0 0 1 1 1 0

1 1 0 1

C为A中所有大于0.5的元素的单序号

7.先运行clear, format long, rng('default'), A=rand(3,3),然后根据A写出两个矩阵:一个对角阵B。

其相应元素由A的对角元素构成;另一个矩阵C,其对角元素全为0,而其余元素与对应的A阵元

素相同。(提示:diag)

clear, format long, rng('default'), A=rand(3,3)

A =

0.814723686393179 0.913375856139019 0.278498218867048

0.905791937075619 0.632359246225410 0.546881519204984

0.126986816293506 0.097540404999410 0.957506835434298

B=diag(A)

B =

0.814723686393179

0.632359246225410

0.957506835434298

B为A的对角元素构成

C=A-diag(B)

C =

0 0.913375856139019 0.278498218867048

0.905791937075619 0 0.546881519204984

0.126986816293506 0.097540404999410 0

C为A对角元素全为0,而其余元素与对应的A阵元素相同的矩阵

10,下面有一段程序,企图用来解决如下计算任务:有矩阵?????

???????++++=k k k k k k k k 10229221911 A ,当k 依次取10, 9, 8, 7, 6, 5, 4, 3, 2, 1时,计算矩阵k A “各列元素的和”,并把此求和结果存放为矩阵Sa

的第k 行。例如3=k 时,A 阵为??????????306329522841 ,此时它各列元素 的和是一个)101(?行数组[]87156 ,并把它保存为Sa 的第3行。问题:该段程序的计算结果对吗?假如计算结果不正

确,请指出错误发生的根源,并改正之。

(提示:本题专为揭示sum 对行数组的作用而设计。仔细观察以下程序运行后所得到的Sa 正确吗?for k=10:-1:1; A=reshape(1:10*k,k,10);

Sa(k,:)=sum(A); end; Sa )

for k=10:-1:1; A=reshape(1:10*k,k,10); Sa(k,:)=sum(A); end; Sa

Sa =

55 55 55 55 55 55 55 55 55 55

3 7 11 15 19 23 27 31 35 39

6 15 24 33 42 51 60 69 78 87

10 26 42 58 74 90 106 122 138 154

15 40 65 90 115 140 165 190 215 240

21 57 93 129 165 201 237 273 309 345

28 77 126 175 224 273 322 371 420 469

36 100 164 228 292 356 420 484 548 612

45 126 207 288 369 450 531 612 693 774

55 155 255 355 455 555 655 755 855 955

由得出的结果可以看出,第一行的值全部为55,是因为k=1的时候,数组为一维数组,求和之后的结果为55,而按照题意,第一行的结果就是k=1的时候的数组。

改正后的程序:

for k=10:-1:1; A=reshape(1:10*k,k,10); Sa(k,:)=sum(A); end; Sa Sa([1], : )=[A]

习题6

请分别写出用for 和while 循环语句计算100000021000000

02.02.02.012

.0+++==∑= i i K 的程序。

此外,还请写出避免循环的数值、符号计算程序。(提示:sum 和“指数采用数组”配合; tic, toc 可用以记录计算所花的时间。)

for 语句:

for k=10:-1:1;

A=reshape(1:10*k,k,10);

Sa(k,:)=sum(A);

if k==1

Sa(k,:)=A;

end;

end;

Sa

Sa =

1 2 3 4 5 6 7 8 9 10 3 7 11 15 19 23 27 31 35 39 6 15 24 33 42 51 60 69 78 87 10 26 42 58 74 90 106 122 138 154 15 40 65 90 115 140 165 190 215 240 21 57 93 129 165 201 237 273 309 345 28 77 126 175 224 273 322 371 420 469 36 100 164 228 292 356 420 484 548 612 45 126 207 288 369 450 531 612 693 774 55 155 255 355 455 555 655 755 855 955习题6(p264):1,2

请分别写出用for 和while 循环语句计算

1000000

2

1000000

2.0

2.0

2.0

1

2.0+

+

+

=

=∑

=

i

i

K

的程序。

此外,还请写出避免循环的数值、符号计算程序。(提示:sum和“指数采用数组”配合;tic, toc可用以记录计算所花的时间。)

tic

b=0;

for k=0:1000000

a=(0.2)^k;

b=b+a;

end;

toc

tic

b

c=0;d=1;

while c<1000001

c=c+1;

d=d+(0.2)^c;

end;

toc

tic

d

A=linspace(0.2,0.2,1000001);

B=0:1000000;

C=A.^B;

toc

D=sum(C)

Elapsed time is 0.697048 seconds.

b =

1.2500

Elapsed time is 0.963771 seconds.

d =

1.2500

Elapsed time is 0.068969 seconds.

D =

1.2500

编写一个函数M文件,它的功能:没有输入量时,画出单位圆(见图p6-1);输入量是大于2的自然数N时,绘制正N边形,图名应反映显示多边形的真实边数(见图p6-2);输入量是“非自然数”时,给出“出错提示”。此外,函数M文件应有H1行、帮助说明和程序编写人姓名。(提示:nargin, error, int2str)

function [S,L]=mydraw(N,R,str)

% mydraw.m

%chenwangcai0312303313?íú2?

switch nargin

case 0

N=100;R=1;str='-b';

case 1

R=1;str='-b';

case 2

str='-b';

case 3

; %

otherwise

error('ê?è?á?ì??à?£');

end;

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

x=R*sin(t);y=R*cos(t);

if nargout==0

plot(x,y,str);

elseif nargout>2

error('ê?3?á?ì??à?£');

else

S=N*R*R*sin(2*pi/N)/2; %

L=2*N*R*sin(pi/N); %

fill(x,y,str)

end

axis equal square

box on

shg

[S,L]=mydraw()

S =

3.1395

L =

6.2822

matlab课后习题及答案详解

第1章 MATLAB概论 1.1与其他计算机语言相比较,MATLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MATLAB系统由那些部分组成? MATLAB系统主要由开发环境、MATLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MATLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MATLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MATLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。 1.8 如何设置当前目录和搜索路径,在当前目录上的文件和在搜索路径上的文件有什么区别? 当前目录可以在当前目录浏览器窗口左上方的输入栏中设置,搜索路径可以通过选择操作桌面的file 菜单中的Set Path菜单项来完成。在没有特别说明的情况下,只有当前目录和搜索路径上的函数和文件能够被MATLAB运行和调用,如果在当前目录上有与搜索路径上相同文件名的文件时则优先执行当前目录上的文件,如果没有特别说明,数据文件将存储在当前目录上。 1.9 在MATLAB中有几种获得帮助的途径?

数学应用软件作业2Matlab作图

注意:上机作业文件夹以自己的姓名学号命名,文件夹中包括如下上机报告和Matlab程序。

5、用surf ,mesh 绘制曲面22 2z x y =+,]3,3[],3,3[-∈-∈y x 。 6、用polar 绘制阿基米德螺线r a θ=和三叶玫瑰线cos3r a θ=。(a=100) 7、在同一平面的两个窗口中分别画出心形线和马鞍面。 三. 上机方法与步骤 给出相应的问题分析及求解方法,并写出Matlab 程序。并有上机程序显示。 第1题:要在同一坐标系中分别画出四个函数的图形,可以利用plot 来将这四条曲线画在一起。 Matlab 程序: x=linspace(15,200,50); y1=(1+1./x).^x; y2=(1+1./x).^(x+1); y3=[1+1./(x+1)].^x; y4=2.7183; plot(x,y1,'r',x,y2,'g',x,y3,'b',x,y4,'co') 第2题:直接用ezplot 命令绘制函数的图形。 Matlab 程序: ezplot('(exp(x*y)-sin(x+y))',[-3,3])

第3题:取a=1,直接用ezplot命令绘出这两条曲线。 Matlab程序: ezplot('[t-sin(t)]','[1-cos(t)]',[0,2*pi]) 第4题:利用subplot命令将这四个函数的图像画在两行两列的同一个图形上。Matlab程序: x=[0:0.1:5]; subplot(2,2,1); plot(x,sin(5*x)); grid on; title('plot-y=sin(5*x)'); subplot(2,2,2); plot(x,cos(3*x));

matlab课后习题解答第二章doc

第2章符号运算 习题2及解答 1 说出以下四条指令产生的结果各属于哪种数据类型,是“双精度” 对象,还是“符号”符号对象? 3/7+0.1; sym(3/7+0.1); sym('3/7+0.1'); vpa(sym(3/7+0.1)) 〖目的〗 ●不能从显示形式判断数据类型,而必须依靠class指令。 〖解答〗 c1=3/7+0.1 c2=sym(3/7+0.1) c3=sym('3/7+0.1') c4=vpa(sym(3/7+0.1)) Cs1=class(c1) Cs2=class(c2) Cs3=class(c3) Cs4=class(c4) c1 = 0.5286 c2 = 37/70 c3 = 0.52857142857142857142857142857143 c4 = 0.52857142857142857142857142857143 Cs1 = double Cs2 = sym Cs3 = sym Cs4 = sym 2 在不加专门指定的情况下,以下符号表达式中的哪一个变量被认 为是自由符号变量. sym('sin(w*t)'),sym('a*exp(-X)'),sym('z*exp(j*th)') 〖目的〗 ●理解自由符号变量的确认规则。 〖解答〗 symvar(sym('sin(w*t)'),1) ans = w symvar(sym('a*exp(-X)'),1) ans = a

symvar(sym('z*exp(j*th)'),1) ans = z 3 求以下两个方程的解 (1)试写出求三阶方程05.443 =-x 正实根的程序。注意:只要正实根,不要出现其他根。 (2)试求二阶方程022=+-a ax x 在0>a 时的根。 〖目的〗 ● 体验变量限定假设的影响 〖解答〗 (1)求三阶方程05.443 =-x 正实根 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 =

Matlab课后习题解答

P16 Q2: 计算表达式()2 tan arccos x x -在0.25x =和0.78x π =时的函数值。 function y=jie(x) y=tan(-x.^2)*acos(x); >> jie(0.25) ans = -0.0825 >> jie(0.78*pi) ans = 0 + 0.4418i Q3:编写M 命令文件,求5010 2 1 1 1k k k k ==+ ∑∑ 的值。 a=0;b=0; for i=1:50 a=a+i*i; end for j=1:10 b=b+1/j; end c=a+b; >> c c = 4.2928e+004 P27 Q2:矩阵1234567 8 9A ????=??????,4 685563 2 2B ?? ?? =? ????? ,计算A B *,.A B *,并比较两者的区别。 >> A=[1 2 3;4 5 6;7 8 9];

>> B=[4 6 8;5 5 6;3 2 2]; >> A*B ans = 23 22 26 59 61 74 95 100 122 >> A.*B ans = 4 12 24 20 25 36 21 16 18 A*B表示A与B两矩阵相乘。 A.*B表示A与B对应元素相乘。 P34 Q2:编写一个转换成绩等级的程序,其中成绩等级转换标准为:考试分数在[] 90,100显示为优秀;分数在[) 0,60的 60,80的显示为及格;分数在[) 80,90的显示为良好;分数在[) 显示为不及格。 if x>=90 disp('优秀'); elseif x>=80 disp('良好'); elseif x>=60 disp('及格'); else disp('不及格'); end >> x=85 x = 85 良好

matlab教程课后作业

【例1.3-5】图示复数i z i z 21,3421+=+=的和。 z1=4+3*i;z2=1+2i; z12=z1+z2 clf,hold on plot([0,z1,z12],'-b','LineWidth',3) plot([0,z12],'-r','LineWidth',3) plot([z1,z12],'ob','MarkerSize',8) hold off,grid on axis equal axis ([0,6,0,6]) text(3.5,2.3,'z1') text(5,4.5,'z2') text(2.5,3.5,'z12') xlabel('real') ylabel('image') shg z12 = a=-8; r_a=a^(1/3) p=[1,0,0,-a]; R=roots(p) MR=abs(R(1)); t=0:pi/20:2*pi; x=MR*sin(t); y=MR*cos(t); plot(x,y,'b:'),grid on hold on plot(R(2),'.','MarkerSize',30,'Color','r') plot(R([1,3]),'o','MarkerSize',15,'Color','b') axis([-3,3,-3,3]),axis square

hold off r_a = 1.0000 + 1.7321i R = -2.0000 1.0000 + 1.7321i 【例1.3-10】画出衰减振荡曲线t e y t 3sin 3-=,t 的取值范围是]4,0[π。 t=0:pi/50:4*pi; y=exp(-t/3).*sin(3*t); plot(t,y,'r','LineWidth',2) axis([0,4*pi,-1,1]) xlabel('t'),ylabel('y')

MATLAB第一章作业答案

第一章 M A T L A B 概况与基本操作 1.选择题(每题2分,共20分): (1)最初的MATLAB 核心程序是采用D 语言编写的。 A.PASCAL B.C C.BASIC D.FORTRAN (2)即将于2011年9月发布的MATLAB 新版本的编号为C 。 A.MATLAB 2011Ra B.MATLAB 2011Rb C.MATLAB R2011b D.MATLAB R2011a (3)在默认设置中,MATLAB 中的注释语句显示的颜色是B 。 A.黑色 B.绿色 C.红色 D.蓝色 (4)如果要以科学计数法显示15位有效数字,使用的命令是A 。 A.format long e B.format long C.format long g D.format long d (5)在命令窗口新建变量a 、b ,如果只查看变量a 的详细信息,使用的命令为A 。 A.whos a B.who a C.who D.whos (6)如果要清除工作空间的所有变量,使用的命令为C 。 A.clear B.clear all C.两者都可 D.两者都不可 (7)在创建变量时,如果不想立即在命令窗口中输出结果,可以在命令后加上B 。 A.冒号 B.分号 C.空格 D.逗号 (8)如果要重新执行以前输入的命令,可以使用D 键。 A.下箭头↓ B.右箭头→ C.左箭头← D.上箭头↑ (9)如果要查询函数det 的功能和用法,并显示在命令窗口,应使用命令C 。 A.doc B.lookfor C.help D.三者均可 (10)如果要启动Notebook 文档,下列D 操作是可行的。 A.在命令窗口输入notebook 命令 B.在命令窗口输入notebook filename 命令 C.在Word 中启动M-book 文档 D.三者均可 2.填空题(每空1分,共20分): (1)MATLAB 是matrix 和laboratory 两个单词前三个字母的组合,意为“矩阵实验室”,它的创始人是Cleve Moler 和Jack Little 。 (2)在MATLAB 的默认设置中,关键字显示的字体为蓝色,命令、表达式、计算结果显示的字体为黑色,字符串显示的字体为褐红色,注释显示的字体为绿色,错误信息显示的字体为红色。 (3)在命令窗口中,输出结果显示为各行之间添加空行的命令为format loose ,各行之间不添加空行的命令为format compact 。 (4)在MATLAB 中,各种标点符号的作用是不同的。例如,空格的作用是分隔数组每行各个元素,逗号的作用是分隔数组每行各个元素或函数的各个输入参数,分号的作用是作为不显示命令结果的命令行的结尾或分隔数组各列,冒号的作用是生成一维数组或表示数组全部元素,百分号的作用是引导一行注释,…的作用是连接相邻两行,感叹号的作用是调用操作系统命令。 3.程序设计题(每题10分,共40分) (1)以25m/s 的初速度向正上方投球(g=9.8m/s 2),计算到达最高点的时间tp 以及球从出发点到 最高点的距离hp 。 解:根据物理学知识,物体上抛运动的速度与经过的时间之间的关系为0p p v v gt =-,因此所需要的时间为0p p v v t g -=。而到达最高点时的速度0p v =,因此可根据此公式求出tp : v0=25;g=9.8;vp=0; tp=(v0-vp)/g tp = 2.5510

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 sin- = , = - b y 1 t x cos t a 命令:>> 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); >> subplot(1,2,1),polar(theta,rho1) 练习2.2 1. 求出下列极限值 (1)n n n n 3 lim 3 +∞ → 命令:>>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 ;

MATLAB结课作业

4.10 上机操作步骤 1在MatLab 的命令窗口输入如下命令序列: clf subplot(1,2,1) hold on grid on n=1:1000; m=1./n.*cos(n*pi/2); plot(n,m,'k.') 观察数列的散点图22,当n 趋于无穷大时,数列趋于 0 subplot(1,2,2) hold on grid on n=500:10000; m=1./n.*cos(n*pi/2); plot(n,m,'k.') fplot('0.001',[500,10000]) fplot('-0.001',[500,10000]) axis([500,10000,-0.005,0.005]) 观察图23,当001.0=ε时,可以取N= 1000 ,当n>N 时有επε<< -2 co s n 1n . 图22 图23 2 在MatLab 的命令窗口输入如下命令序列: clf subplot(1,2,1) hold on grid on fplot('x.*x',[1,3])

观察函数图24, 当2x →时,2x y =的极限是 4 subplot(1,2,2) hold on grid on fplot('x.*x',[1.9,2.1]) fplot('4.001',[ 1.9,2.1]) fplot('3.999',[ 1.9,2.1]) axis([1.9997,2.0005,3.9989,4.0011]) % 调整显示图形的范围是该实验的重点 观察图25,当001.0=ε时, δ取 0.003 δ<-<2 0x 时,001.04<-y ? 图24 图25 3 在MatLab 的命令窗口输入: syms x limit((2.^x-log(2.^x)-1)./(1-cos(x)),x,0) 运行结果为 ans = log(2)^2 理论上用洛必达法则计算该极限: x x x cos 112ln 2lim 0x ---→= 1 4 在MatLab 的命令窗口输入如下命令序列: (1)syms x y=sqrt(x+2)*(3-x)^4/(x+1)^5 diff(y,x) %求一阶导数 运行结果 =y'1/2/(x+2)^(1/2)*(3-x)^4/(x+1)^5-4*(x+2)^(1/2)*(3-x)^3/(x+1)^5-5*(x+2)^(1/2)*(3-x )^4/(x+1)^6 x=1; eval(y) %求导数在x =1处的值 运行结果 1'=x y = 0.8660

matlab课后习题答案第四章

第4章数值运算 习题 4 及解答 1 根据题给的模拟实际测量数据的一组t和)(t y试用数值差分 diff或数值梯度gradient指令计算)(t y'曲线 y',然后把)(t y和)(t 绘制在同一图上,观察数值求导的后果。(模拟数据从prob_data401.mat获得) 〖目的〗 ●强调:要非常慎用数值导数计算。 ●练习mat数据文件中数据的获取。 ●实验数据求导的后果 ●把两条曲线绘制在同一图上的一种方法。 〖解答〗 (1)从数据文件获得数据的指令 假如prob_data401.mat文件在当前目录或搜索路径上 clear load prob_data401.mat (2)用diff求导的指令 dt=t(2)-t(1); yc=diff(y)/dt; %注意yc的长度将比y短1 plot(t,y,'b',t(2:end),yc,'r') (3)用gradent求导的指令(图形与上相似) dt=t(2)-t(1);

yc=gradient(y)/dt; plot(t,y,'b',t,yc,'r') grid on 〖说明〗 ● 不到万不得已,不要进行数值求导。 ● 假若一定要计算数值导数,自变量增量dt 要取得比原有数据相对误差高1、2个量级 以上。 ● 求导会使数据中原有的噪声放大。 2 采用数值计算方法,画出dt t t x y x ? =0sin )(在]10 ,0[区间曲线,并计算)5.4(y 。 〖提示〗 ● 指定区间的积分函数可用cumtrapz 指令给出。 ● )5.4(y 在计算要求不太高的地方可用find 指令算得。 〖目的〗 ● 指定区间的积分函数的数值计算法和cumtrapz 指令。 ● find 指令的应用。 〖解答〗 dt=1e-4; t=0:dt:10; t=t+(t==0)*eps; f=sin(t)./t; s=cumtrapz(f)*dt; plot(t,s,'LineWidth',3) ii=find(t==4.5); s45=s(ii) s45 =

有限元大作业matlab课程设计例子

有 限 元 大 作 业 程 序 设 计 学校:天津大学 院系:建筑工程与力学学院 专业:01级工程力学 姓名:刘秀 学号:\\\\\\\\\\\ 指导老师: 连续体平面问题的有限元程序分析 [题目]: 如图所示的正方形薄板四周受均匀载荷的作用,该结构在边界 上受正向分布压力, m kN p 1=,同时在沿对角线y 轴上受一对集中压 力,载荷为2KN ,若取板厚1=t ,泊松比0=v 。 [分析过程]: 由于连续平板的对称性, 只需要取其在第一象限的四分之一部分

参加分析,然后人为作出一些辅助线将平板“分割”成若干部分,再为每个部分选择分析单元。采用将此模型化分为4个全等的直角三角型单元。利用其对称性,四分之一部分的边界约束,载荷可等效如图所示。 [ 用和单元信息文件DATA.OUT。 位移模式:用用线性位移模式 载荷类型:节点载荷,非节点载荷应先换算为等效节点载荷 材料性质:弹性体由单一的均匀材料组成 约束方式:为“0”位移固定约束,为保证无刚体位移,弹性体至少应有对三个自由度的独立约束 方程求解:针对半带宽刚度方程的Gauss消元法 输入文件:由手工生成节点信息文件NODE.IN,和单元信息文件ELEMENT.IN 结果文件:输出一般的结果文件DATA.OUT 程序的原理如框图:

(1) ID : ID=2时为平面应变问题 (平面问题) ,LJK_ELE(I,1),LJK_ELE(I,2), X(I),Y(I)分别存放节点I 的x ,y 表示第I 个作用有节点载荷的节点x,y 方向的节点载荷数值 存放节点载荷向量,解方程后该矩 (2 READ_IN : 读入数据 BAND_K : 形成半带宽的整体刚度矩阵 FORM_KE : 计算单元刚度矩阵 FORM_P : 计算节点载荷 CAL_AREA :计算单元面积 DO_BC : 处理边界条件 CLA_DD : 计算单元弹性矩阵 SOLVE : 计算节点位移 CLA_BB : 计算单元位移……应变关系矩阵 CAL_STS :计算单元和节点应力 (3)文件管理: 源程序文件: chengxu.for 程序需读入的数据文件:

(完整版)matlab习题及答案(2)

第1章MATLAB概论 1.1与其他计算机语言相比较,MA TLAB语言突出的特点是什么? MATLAB具有功能强大、使用方便、输入简捷、库函数丰富、开放性强等特点。 1.2 MA TLAB系统由那些部分组成? MATLAB系统主要由开发环境、MA TLAB数学函数库、MATLAB语言、图形功能和应用程序接口五个部分组成。 1.3 安装MATLAB时,在选择组件窗口中哪些部分必须勾选,没有勾选的部分以后如何补安装? 在安装MA TLAB时,安装内容由选择组件窗口中个复选框是否被勾选来决定,可以根据自己的需要选择安装内容,但基本平台(即MATLAB选项)必须安装。第一次安装没有选择的内容在补安装时只需按照安装的过程进行,只是在选择组件时只勾选要补装的组件或工具箱即可。 1.4 MA TLAB操作桌面有几个窗口?如何使某个窗口脱离桌面成为独立窗口?又如何将脱离出去的窗口重新放置到桌面上? 在MA TLAB操作桌面上有五个窗口,在每个窗口的右上角有两个小按钮,一个是关闭窗口的Close按钮,一个是可以使窗口成为独立窗口的Undock按钮,点击Undock按钮就可以使该窗口脱离桌面成为独立窗口,在独立窗口的view菜单中选择Dock ……菜单项就可以将独立的窗口重新防止的桌面上。 1.5 如何启动M文件编辑/调试器? 在操作桌面上选择“建立新文件”或“打开文件”操作时,M文件编辑/调试器将被启动。在命令窗口中键入edit命令时也可以启动M文件编辑/调试器。 1.6 存储在工作空间中的数组能编辑吗?如何操作? 存储在工作空间的数组可以通过数组编辑器进行编辑:在工作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输入修改内容即可。 1.7 命令历史窗口除了可以观察前面键入的命令外,还有什么用途? 命令历史窗口除了用于查询以前键入的命令外,还可以直接执行命令历史窗口中选定的内容、将选定的内容拷贝到剪贴板中、将选定内容直接拷贝到M文件中。

MATLAB课后习题集附标准答案

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

matlab结课论文

精选文库 山西大同大学matlab课程结课作业MATLAB程序应用 姓名: 课程序号: 2 班级: 学号: 2013年12月

1.实验内容:已知!123n n =?????L ,编写一个程序求满足100!10n ≤的 最大的n 值以及此时!n 的值。 function n n=2;m=1; while m<=10^100 m=m.*n;n=n+1; end m=m/(n-1);n=n-2; m n m = 1.7112e+098 n =69 2.设)15113111191715131 1(22Λ+--++--+=π,试根据公式编出计算pi 的Mat lab 主程序文件,pi 的精度为0.00001。 程序: k=0;n=1;b=0;a=0; while abs((pi-a))>0.00001 a=2*sqrt(2)*k; k=( bcos( *pi/2)+sin(b*pi/2))/n+k; n=n+2; b=b+1; end a 输出a=3.141602572083633 ; a-pi= 9.918493839577991e-006 3.有两个矩阵A 和B 如下:????????????---=771175420132861-1A ,????????????------=0162310013125673B , 将A 中所有等于-1的元素改为-2,将B 中所有小于0的元素改为1,然后将B 中等于0的元素的值改为A 的相应位置元素的值。请用Matlab 函数文件实现上述运算。 clear;

clc; A=[1 -1 6 8;2 3 -1 0;-2 4 5 7;1 -1 7 7]; B=[-3 -7 6 -5;-2 1 3 -1;0 0 1 3;2 6 -1 0]; C=A;A(A==-1)=-2;U=A; D=B;B(B<0)=1;V=B; A=C;B=D;[i,j]=find(B==0);A(i,j)=0;W=A; A=C;B=D; A,B,W,U,V %用函数文件实现矩阵中元素的变换。 %A、B为输入变量。 %U、V、W分别存放A、B中间变换结果。 ; 4.用matlab主程序文件产生动画:呈现一小圆(半径为1)在一大圆(半径为3)的圆周外部滚动的动画,要求连续滚动20周。 clea close;clc;r; axis([-6 6 -6 6],'equal','manual');hold on; ezplot('x^2+y^2-9'); h=ezplot('x^2+y^2-1'); x=get(h,'xdata'); y=get(h,'ydata'); for t=1:7200 set(h,'xdata',x+4*cosd(t),'ydata',y+4*sind(t)); drawnow; end

中南大学matlab课后习题

第二章 1·求下列表达式的值。 (1)w=sqrt(2)*(1+*10^-6) w = (2)a=;b=5;c=; x=(2*pi*a+(c+b)/(pi+a*b*c)-exp(2))/(tan(b+c)+a); x x = (3)a=;b=; y=2*pi*a^2*[(1-pi/4)*b-4)*a]; y y = (4)t=[2,1-3i;5,]; z=1/2*exp(2*t)*log(t+sqrt(1+t^2)); z z = +004 * - - - - 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 = b\a

ans = (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;41,-45,65,5;32,5,0,32;6,,54,]; (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,:)

汽车理论课后作业答案MATLAB

汽车理论作业MA TLAB过程 汽车驱动力与阻力平衡图 加速度倒数-速度曲线图 0 10 20 30 40 50 60 70 80 90 100 u

汽车功率平衡图 u/(km/h)最高档等速百公里油耗曲线 Ua/(km/h)

燃油积极性-加速时间曲线 源程序: 《第一章》 m=3880; g=9.8; r=0.367; x=0.85; f=0.013; io=5.83; CdA=2.77; lf=0.218; Iw1=1.798; Iw2=3.598; Iw=lw1+lw2; 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*(门/1000)人2+40.874*(门/1000)人3-3.8445*( n/IOOO).%; 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; F仁m*g*f+CdA*u”2/21.15;%计算各档对应转速下的驱动阻力 F2=m*g*f+CdA*u2.A2/21.15; F3=m*g*f+CdA*u3.A2/21.15; F4=m*g*f+CdA*u4.A2/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.hA{-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*rA2)+If*ig(1)*rA2*ioA2*x/(m*rA2); delta2=1+(Iw1+Iw2)/(m*rA2)+If*ig(2)*rA2*ioA2*x/(m*rA2); delta3=1+(Iw1+Iw2)/(m*rA2)+If*ig(3)*rA2*ioA2*x/(m*rA2); delta4=1+(Iw1+Iw2)/(m*rA2)+If*ig(4)*rA2*ioA2*x/(m*rA2); 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作业.

(1) t=-2:0.001:4; T=2; xt=rectpuls(t-1,T); plot(t,xt) axis([-2,4,-0.5,1.5]) 图象为: (2) t=sym('t'); y=Heaviside(t); ezplot(y,[-1,1]); grid on axis([-1 1 -0.1 1.1]) 图象为:

A=10;a=-1;B=5;b=-2; t=0:0.001:10; xt=A*exp(a*t)-B*exp(b*t); plot(t,xt) 图象为: (4) t=sym('t'); y=t*Heaviside(t); ezplot(y,[-1,3]); grid on axis([-1 3 -0.1 3.1]) 图象为:

A=2;w0=10*pi;phi=pi/6; t=0:0.001:0.5; xt=abs(A*sin(w0*t+phi)); plot(t,xt) 图象为: (6) A=1;w0=1;B=1;w1=2*pi; t=0:0.001:20; xt=A*cos(w0*t)+B*sin(w1*t); plot(t,xt) 图象为:

A=4;a=-0.5;w0=2*pi; t=0:0.001:10; xt=A*exp(a*t).*cos(w0*t); plot(t,xt) 图象为: (8) w0=30; t=-15:0.001:15; xt=cos(w0*t).*sinc(t/pi); plot(t,xt) axis([-15,15,-1.1,1.1]) 图象为:

(1)function yt=x2_3(t) yt=(t).*(t>=0&t<=2)+2*(t>=2&t<=3)-1*(t>=3&t<=5); (2)function yt=x2_3(t) yt=(t).*(t>=0&t<=2)+2*(t>=2&t<=3)-1*(t>=3&t<=5); t=0:0.001:6; subplot(3,1,1) plot(t,x2_3(t)) title('x(t)') axis([0,6,-2,3]) subplot(3,1,2) plot(t,x2_3(0.5*t)) title('x(0.5t)') axis([0,11,-2,3]) subplot(3,1,3) plot(t,x2_3(2-0.5*t)) title('x(2-0.5t)') axis([-6,5,-2,3]) 图像为:

MATLAB大作业

M A T L A B大作业作业要求: (1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电 子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。 (2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果 分析、本课程学习体会、列出主要的参考文献。打印稿不要求MATLAB程序,但电 子稿要包含MATLAB程序。 (3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话 则长,无话则短。不要抄袭复制,可以参考网上、文献资料的内容,但要理解,要变成自己的语言,按自己的思路组织内容。 (4)从给出的问题中至少选择一题(多做不限,但必须独立完成,严禁抄袭)。 (5)大作业占过程考核的20%,从完成情况、工作量、作业文档方面评分。 第一类:绘制图形。(B级) 问题一:斐波那契(Fibonacci)螺旋线,也称黄金螺旋线(Golden spiral),是根据斐波那契数列画出来的螺旋曲线,自然界中存在许多斐波那契螺旋线的图案,是自然界最完美的经典黄金比例。斐波那契螺旋线,以斐波那契数为边的正方形拼成的长方形,然后在正方形里面画一个90度的扇形,连起来的弧线就是斐波那契 螺旋线,如图所示。 问题二:绘制谢尔宾斯基三角形(Sierpinskitriangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集。其生成过程为:取一个实心的三角形(通常使用等边三角形),沿三边中点的连线,将它分成四个小三

角形,然后去掉中间的那一个小三角形。接下来对其余三个小三角形重复上述操作,如图所示。 问题三:其他分形曲线或图形。分形曲线还有很多,教材介绍了科赫曲线,其他还有皮亚诺曲线、分形树、康托(G. Cantor)三分集、Julia集、曼德布罗集合(Mandelbrot set),等等。这方面的资料很多(如),请分析构图原理并用MATLAB 实现。 问题四:模拟掷骰子游戏:掷1000次骰子,统计骰子各个点出现的次数,将结果以下表的形式显示,并绘制出直方图。 点数 1 2 3 4 5 6 出现次数166 150 164 162 184 174 问题五:利用MATLAB软件绘制一朵鲜花,实现一定的仿真效果。 提示:二维/三维绘图,对花瓣、花蕊、叶片、花杆等的形状和颜色进行详细设置。 第二类:插值与拟合。(B级) 问题一:有人对汽车进行了一次实验,具体过程是,在行驶过程中先加速,然后再保持匀速行驶一段时间,接着再加速,然后再保持匀速,如此交替。注意,整个实验过程中从未减速。在一组时间点上测得汽车的速度如表所示。 (1)分别使用最近点插值、线性插值、三次埃尔米特插值和三次样条插值进行计算[0,110]时间段50个时间点的速度。 (2)绘制插值图形并标注样本点。

相关文档
相关文档 最新文档