南京邮电大学软件设计实验报告.
软件设计报告
( 2014 / 2015 学年 第 二 学期)
课程名称 软件设计
指导老师 赵江 实习时间 第十八周
学生姓名 学号
____学院______专业
软件设计
课程编号:B0465011C
适用专业:
班级:
一、所涉及的课程及知识点
涉及的课程:第6学期之前的专业基础课程。
知识点:专业基础课程中所学的知识点。
二、目的与任务
目的:通过软件设计,培养学生的实践能力和创新精神,加强学生对专业基础课程的理解和掌握,加强学生高级语言编程能力、应用软件以及仿真能力。
任务:选择以下任一模块进行设计:Matlab软件仿真、C语言及应用。
软件设计的内容
题目1:如果给出两个矩阵,,执行下面的矩阵运算命令。
和分别是多少(其中I为单位矩阵)?
和将分别给出什么结果,它们是否相同?为什么?
逻辑功能程序:
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,在命令窗口“Command Window”中键入edit,启动程序编辑器。输入完整程序后利用save as储存为M文件,文件名为EXP1。返回主界面,在命令窗口 “Command 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
实验结果分析
利用MATLAB提供的disp函数既可以输出表达式、数值,也可以输出字符串,其调用方式为:disp(表达式或数值)、disp(‘待显示字符串’);
在MATLAB的矩阵运算中,+、-运算符通用,表示矩阵相加、减;*与.*不同在于*表示矩阵乘法,而.*表示矩阵对应位置元素相乘,所以*要求两个矩阵的行、列数互为转置,而.*则要求两个矩阵行、列数要相同;
使用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)^2+(y-b)^2=R^2');
legend(['(x-',num2str(a),')^2+(y-',num2str(b),')^2=',num2str(R),'^2']);
hold off;
end
实验过程与结果
打开matlab,在命令窗口“Command Window”中键入edit,启动程序编辑器。输入完整程序后利用save as储存为M文件,文件名为EXP2。返回主界面,在命令窗口 “Command Window”中输入函数EXP2(),按下回车,得到程序运行结果如下:
>>EXP2(15,25,40)
实验结果分析
构建关于圆的参数方程,使用hold on的使用保证后绘的图不会覆盖先绘的图,在程序结束前使用hold off;
为了使圆的圆心位置和半径长度等参数可调,所以函数使用了带参量的输入方式;
绘图使用plot函数,带参数可以限制绘图范围,plot函数绘制圆心用符号‘+’表示;
axis equal是坐标轴刻度等距,这