a.
a.
AU瑯蜜上并
软件设计报告
(2014 / 2015 学年第二学期)
课程名称软件设计
指导老师 赵江 实习时间第十八周
学生姓名—学号
_学院专业
软件设计
课程编号: B0465011C
适用专业:
班级:
一、所涉及的课程及知识点
涉及的课程: 第 6 学期之前的专业基础课程。 知识点: 专业基础课程中所学的知识点。
、目的与任务
目的: 通过软件设计,培养学生的实践能力和创新精神,加强学 生对专业基础课程的理解和掌握,加强学生高级语言编程能力、 应用软件以及仿真能力。
任务:选择以下任一模块进行设计:Matlab软件仿真、C语言及 应用。
软件设计的内容
1
2
3
12
B
4
5
6
4
20
7
题目 1:如果给出两个矩阵 A 12
45
78 ,
8
0 ,执行
20
78
136
下面的矩阵运算命令。
A 5*B和A B I分别是多少(其中I为单位矩阵)?
A *B和A*B将分别给出什么结果,它们是否相同?为什么? 逻辑功能程序:
function [ ] = EXP1()
A=[4,12,20;12,45,78;20,78,136];
B=[1,2,3;4,5,6;7,8,0];
I=eye(3);
disp( 'A+5*B=' );
disp(A+5*B);
disp( 'A-B+I=' )
disp(A-B+I);
disp( 'A.*B=' );
disp(A.*B)
disp( 'A*B=' );
disp(A*B);
End
实验过程与结果
打开matlab,在命令窗口“ CommanW/indoW 中键入edit,启动程序编辑
器。输入完整程序后利用save as储存为M文件,文件名为EXP1返回主界面, 在命令窗口 “ Comma nd WindOW中输入函数EXP1(),按下回车,得到程序 运行结果如下:
>> EXP1( )
A+5*B=
9 22 35
32 70 108
55 118 136
A-B+I=
4 10 17
8 41 72
13 70 137
A.*B=
4 24 60
48 225 468
140 624
0
A*B=
192
228
84
738
873
306
1284
1518
528
实验结果分析
(1) 利用MATLA提供的disp函数既可以输出表达式、数值,也可以输 出字符串,其调用方式为: disp( 表达式或数值 )、 disp (‘待显示字符串 ');
(2) 在MATLA的矩阵运算中,+、-运算符通用,表示矩阵相加、减;* 与.* 不同在于 *表示矩阵乘法, 而.* 表示矩阵对应位置元素相乘, 所以* 要求 两个矩阵的行、列数互为转置,而 .* 则要求两个矩阵行、列数要相同;
(3) 使用eye可以获得单位矩阵函数(矩阵对角线处元素为1,其余元 素为 0),矩阵的阶数由括号内的值决定,格式为 eye(n),n 为矩阵阶数。
题目 2:请绘制出一个圆形,要求用函数实现。
逻辑功能程序
function [] = EXP2(a,b,R) t=0:pi/150:2*pi;
x=a+R*cos(t); y=b+R*sin(t); hold on; plot(x,y); plot(a,b, '+' ); axis([a-R,a+R,b-R,b+R]); axis equal ;
title('圆:(x-a)A2+(y-b)A2=RA2');
legend([ '(x-' ,num2str(a), ')A2+(y-' ,num2str(b),')八2=' ,num2str(R), 'A2' ]);
hold off ;
end
实验过程与结果
打开matlab,在命令窗口“ CommanW/indoW 中键入edit,启动程序编辑
器。输入完整程序后利用save as储存为M文件,文件名为EXP2返回主界面,
在命令窗口“ Comma nd WindOW中输入函数EXP2(),按下回车,得到程序
运行结果如下:
>>EXP2(15,25,40)
S
'B
L1LL
/、,”u\2icu\2 *c2
(x-15) +(y-25) =40
-
\
f
\
1
1
1
1
1
1
■■
1
1
+
1 /
?
-
£
r
1
r
1 r
rIrr
-30
-20
-10 0
10 20
30405060
圆:(x-a)2+(y-b)2=R2
60
50
40
30
20
10
0
-10
x
实验结果分析
(1)构建关于圆的参数方程,使用hold on的使用保证后绘的图不会覆 盖先绘的图,在程序结束前使用hold off ;
(2) 为了使圆的圆心位置和半径长度等参数可调,所以函数使用了带参 量的输入方式;
(3)