matlab2012实验1参考答案

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

MATLAB 实验一 MATLAB 数值计算

试验报告说明:

1 做试验前请先预习,并独立完成试验和试验报告。

2 报告解答方式:将MATLAB 执行命令和最后运行结果从命令窗口拷贝到每题的题目下面,请将报告解答部分的底纹设置为灰色,以便于批阅。

3 在页眉上写清报告名称,学生姓名,学号,专业以及班级。 3 报告以Word 文档书写。

文档命名方式: 学号+姓名+_(下划线)+试验几.doc 如:110400220张三_试验1.doc 4 试验报告doc 文档以附件形式发送到maya_email@ 。凡文档命名不符合规范,或者发送方式不正确,不予登记。

5 每次试验报告的最后提交期限:下次试验课之前。

一 目的和要求

1 熟练掌握MATLAB 变量的使用

2 熟练掌握矩阵的创建

3 熟练掌握MATLAB 的矩阵和数组的运算

4 使用元胞数组和结构数组

二 试验内容

1 创建矩阵(必做)

1.1使用直接输入,from:step:to ,linspace ,logspace 等方式创建矩阵。

1.2 输入矩阵12342

46836

9

12a ⎛⎫

⎪= ⎪ ⎪⎝

1.2-1)分别使用全下标和单下标达方式取出元素“8”

>>a=[1 2 3 4;2 4 6 8;3 6 9 12]

>> a(2,4) %全下标方式 >> a(11) % 单下标方式

1.2-2)分别用不同的方式从矩阵a 中取出子矩阵⎥⎦

⎤⎢⎣

⎡1286

4

3

2

%方法一:全下标方式 a([2,3],[1 2 4])

%方法二:单下标方式 a([2 5 11;3 6 12])

% 方法三:利用逻辑向量 l1=logical([0 1 1])

l2=logical([1 1 0 1]) a(l1,l2)

1.2-3)分别写出以下的执行结果:

a ( :, 3 ) a (:,end) a (:, 2 : 3) a ([1 3], : )

a (:) a (2 : 3) a([2 3 4])

本题解答略,希望大家熟练掌握数组运算中 : end 的用法以及 全下标,单下标等方式

2 矩阵的运算(必做)

2.1使用format 命令,将 pi 分别用short 和long 格式显示其值。

>> format short >> pi ans = 3.1416 >> format long >> pi ans =

3.14159265358979

2.2 设3x =, 4v =。利用MA TLAB 分别计算下面的表达式::

1) 2

2

log()x v + 2)

(2)

x v -

>> x=3; >> v=4;

>> log(x^2+v^2)

ans =

3.21887582486820

>> sqrt(x-3)/(x-2*v)^2 %此处,注意 / 和 \ 的使用区别,有同学混淆了 ans = 0

2.3 计算函数)4sin(1110

)(22

t e

z

t f t

--=的值,其中t 的范围从0到pi ,步长

0.1pi ;Z 为0.707。)(1t f 为0)(1≥t f 的部分,计算)(1t f 的值。

t=0:0.1*pi:pi;

z=0.707;

f=10*exp(-2*t).*sin(4*t)/sqrt(1-z^2) %或f=10/sqrt(1-z^2)*exp(-2*t).*sin(4*t)

l=(f>=0); % 关系运算,返回l 为逻辑向量 f1=f(l) % 利用逻辑向量l 取出f 中满足要求的元素

%也可以用此指令代替:

% li=find(f>0) %找出大于0元素的下标 % f1=f(li) ;

2.4 设A=[1 2 1; 2 4 2; 2 1 1]; B=[3 1 2; 1 2 2; 3 1 4]; C=A+i*B. 利用MATLAB 观察下列表达式的结果:1) C ’ 和 C .’ 2) A ’ 和 A .’ 3)A*B 和A .*B (注意比较’ 和.’的区别)

求解过程略。注意区别:’ 是共轭转置,.’是非共轭转置。 * 是矩阵乘,.*是数组乘。 2.5利用MATLAB 求解线性方程组。(思考:可以用几种方法实现)

⎪⎩⎪

⎨⎧=+=++=++4

2032153y x z y x z y x a=[1 3 1;2 1 3; 1 1 0]

b=[15 20 4]' %注意符号 ' ,也可以写成b=[15;20;4], 注意符号 ;漏写则不是列向量 a\b %此处注意 / 和\ 的区别。 %解法二:

a=[1 3 1;2 1 3; 1 1 0] b=[15 20 4]'

inv(a)*b %此处,注意顺序,有同学写b*inv(a) 思考:错误在哪里?

%解法三

a=[1 3 1;2 1 3; 1 1 0] b=[15 20 4]'

a^-1*b

% 此题考用数值方法求解方程组。采用符号方法,解题如下: eq1=sym('x+3*y+z=15'); eq2=sym('2*x+y+3*z=20'); eq3=sym('x+y=4');

[x,y,z]=solve(eq1,eq2,eq3)

2.6 分别创建两个3*3的矩阵A=round(10*rand(3)) ,B=round(20*rand(3))-10,利用MATLAB 求B

A AB

1

-。

>> A=round(10*rand(3)),B=round(20*rand(3))-10 A =

10 5 5 2 9 0 6 8 8 B =

相关文档
最新文档