课 程 设 计
Matlab应用课程设计任务书
学生姓名: 专业班级:
指导教师: 桂林 工作单位: 信息工程学院
题 目: Matlab运算与应用设计2
初始条件:
1. Matlab6.5以上版本软件;
2. 课程设计辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应用”、线性代数及相关书籍等;
3. 先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类相关课程等。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1. 课程设计时间:1.5周;
2. 课程设计内容:根据指导老师给定的7套题目,按规定选择其中1套完成;
3. 本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结。具体设计要求包括:
① 初步了解Matlab、熟悉Matlab界面、进行简单操作;
② MATLAB的数值计算:创建矩阵、矩阵运算、多项式运算、线性方程组、数值统计;
③ 基本绘图函数:plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形标注、简单颜色设定等;
④ 使用文本编辑器编辑m文件,函数调用;
⑤ 能进行简单的信号处理Matlab编程;
⑥ 按要求参加课程设计实验演示和答辩等。
4. 课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括:
① 目录;
② 与设计题目相关的理论分析、归纳和总结;
③ 与设计内容相关的原理分析、建模、推导、可行性分析;
④ 程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结;
⑤ 课程设计的心得体会(至少500字);
⑥ 参考文献(不少于5篇);
⑦ 其它必要内容等。
时间安排:(1) 布置课程设计任务,查阅资料,确定方案 三天;
(2) 进行编程设计 五天;
(3) 完成课程设计报告书 两天;
指导教师签名: 年 月 日
系主任(或责任教师)签名: 年 月 日
目 录
1 Matlab软件简介..................................1
1.1 Matlab的发展历程........... ................1
1.2 Matlab的特点和优势............ .............2
1.3 Matlab的基本语法和函数....... ..............4
2 设计题目.........................................6
3 设计内容.........................................7
3.1 题1的分析与运算结果...... ..... ...... .....7
3.2 题2的分析与运算结果...... ..... ...... .....8
3.3 题3的分析与运算结果...... ..... ...... .....9
3.4 题4的分析与运算结果...... ..... ...... .....9
3.5 题5的分析与运算结果...... ..... ...... .....13
3.6 题6的分析与运算结果...... ..... ...... .....13
3.7 题7的分析与运算结果...... ..... ...... .....13
3.8 题8的分析与运算结果...... ..... ...... .....14
3.9 题9的分析与运算结果...... ..... ...... .....15
3.10 题10的分析与运算结果...... ..... ...... ....15
4 课程设计心得.....................................16
5 参考文献.........................................16
6 本科生课程设计成绩评定表.........................18
Matlab应用课程设计
1 Matlab软件简介
Matlab是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。它在数学类科技应用软件中在数值计算方面首屈一指。Matlab可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
1.1 Matlab的发展历程
MATLAB名称是由两个英文单词Ma~ix和Laboratory的前二个字母组成。20世纪70年代后期,美国新墨西哥大学计算机系主任Cleve.Moler教授为了便于教学,减轻学生编写Fortran程序的负担,为两个矩阵运算软件包Linpack和Eispack编写了接口程序,这也许就算MATLAB的第一个版本。1984年,在JackLittle(也称JohnLittle)的建议推动下,由Little、Moler、SteveBangert三人合作,成立rMathWorks公司,同时把MATLAB正式推向市场。从那时开始,MATLAB的源代码采用C语言编写,除加强了原有的数值计算能力外,还增加了数据图形的可视化功能。1993年,MathWorks公司推出了MATLAB的4.0版本,系统平台由DOS改为Windows,推出了功能强大的、可视化的、交互环境的用于模拟非线性动态系统的工具Simulink,第一次成功开发出了符号计算工具包Symbolic Math Toolbox 1.0,为MATLAB进行实时数据分析、处理和硬件开发而推出了与外部直接进行数据交换的组件,为MATLAB能融科学计算、图形可视、文字处理于一体而制作了Notebook,实现了MATLAB与大型文字处理软件Word的成功对接。至此,MathWorks使MATLAB成为国际控制界公认的标准计算软件。
1997年,MathWorks公司推出了MATLAB的5.0版本,紧接着产生了5.1、5.2版本,至1999年MATLAB发展到5.3版本。MATLAB拥有了更丰富的数据类型和结构,更好的面向对象的快速精美的图形界面,更多的数学和数据分析资源,MATLAB工具也达到了25个,几乎涵盖了整个科学技术运算领域。在大部分大学里,应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教材都把MATLAB作为必不可少的内容。在国际学术界,MATLAB被确认为最准确可靠的科学计算标准软件,在许多国际一流的学术刊物上都可以看到MATLAB在各个领域里的应用。
1.2 Matlab的特点和优势
MATLAB作为一种科学计算的高级语言之所以受欢迎,就是因为它有丰富的函数资源和工具箱资源,编程人员可以根据自己的需要选择函数,而无需再去编写大量繁琐的程序代码,从而减轻了编程人员的工作负担。被称为第四代编程语言的MATLAB最大的特点就是简洁开放的程序代码和直观实用的开发环境。具体地说MATLAB主要有以下特点:
(1)友好的工作平台和编程环境
MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
(2)简单易用的程序语言
MATLAB是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
(3)强大的科学计算机数据处理能力
MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
(4)出色的图形处理功能
MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
(5)应用广泛的模块集合工具箱
MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。
(6)实用的程序接口和发布平台
新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。允许用户编写可以和MATLAB进行交互的C或C++语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。
(7)应用软件开发(包括用户界面)
在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。
1.3 Matlab的基本语法与函数
1.3.1基本语句结构
(1)直接赋值语句
赋值变量=赋值表达式
这一过程把等号右边的表达式直接赋给左边的赋值变量,并返回到MATLAB的工作空间。如果赋值表达式后面没有分号,则将在MATLAB命令窗口中表示表达式的运算结果。
(2)函数调用语句
[返回变量列表]=函数名(输入变量列表)
(3)冒号表达式
v=s1:s2:s3
该函数将生成一个行向量v,其中s1为向量的起始值,s2为步距,该向量将从s1出发,每隔步距s2取一个点,直至不超过s3的最大值就可以构成一个向量。若省略s2,则步距取默认值1。(PS:“不超过”取决s2,若s2>0则为<=s3,否则为>=s3)
(4)子矩阵提取表达式
B=A(v1,v2)
v1向量表示子矩阵要包含的行号构成的向量,v2表示要包含的列号构成的向量,这样从A矩阵中提取有关的行和列,就可以构成子矩阵B了。若v1为:,则表示要提取所有的行,v2亦然。
1.3.2矩阵的代数运算
(1)矩阵转置
MATLAB中用A’可以求出A矩阵的Hermit转置(共轭转置),矩阵的转置则可以由A.’求出。
(2)加减法运算
假设在MATLAB工作环境下有两个矩阵A和B,则可以由C=A+B和C=A-B命令执行矩阵加减法。若A和B矩阵的维数相同,它会自动地将A和B矩阵的相应元素相加减,并赋给C变量。若二者之一为标量,则将其遍加(减)于另一个矩阵。其它情况下,MATLAB将报错。
(3)矩阵乘法
MATLAB语言中两个矩阵的乘法由C=A*B直接求出,且这里并不需要指定A和B矩阵的维数。若A和B矩阵的维数不相容(A列数不等于B行数),则将报错。
(4)矩阵的左除
MATLAB中用“\”运算符号表示两个矩阵的左除,A\B为方程AX=B的解X。若A为非奇异方阵,则X=A-1B。
(5)矩阵的右除
MATLAB中定义了“/”符号,用于右除,相当于求方程XA=B的解。
(6)矩阵翻转
MATLAB提供了一些矩阵翻转处理命令。
(7)矩阵乘方运算
在MATLAB中统一表示成F=A^x。
(8)点运算
两个矩阵之间的点运算是它们对应元素的直接运算,例如.*,.^等。
1.3.3循环结构
(1)for语句的一般结构
for i=V,循环结构体,end
在for循环结构中,V为一个向量,循环变量i每次从V向量中取一个数值,执行一次循环体的内容,如此下去,直至执行完V向量中所有的分量。
(2)while循环的基本结构
while (条件式),循环结构体,end
while循环中的“条件式”是一个逻辑表达式,若其值为真(非零)则将自动执行循环体的结构,执行完后再判定“条件式”的真伪,为真则仍然执行结构体,否则将退出循环结构。
1.3.4基本绘图函数
(1)plot
线型绘图函数,用法为plot(x,y,'s')。参数x为横轴变量,y为纵轴变量,s用以控制图形的基本特征如颜色、粗细等,通常可以省略。
(2)subplot
subplot(m,n,i)图形显示时分割窗口命令,把一个图形窗口分为m行,n列,m×n个小窗口,并指定第i个小窗口为当前窗口。
(3)绘图注解
在绘制图形时,我们通常需要为图形添加各种注记以增加可读性。 在plot语句后使用title('标题')可以在图形上方添加标题,使用xlabel('标记')或ylabel('标记')为X轴或Y轴添加说明,使用text(X值、Y值、'想加的标示')可以在图形中任意位置添加标示。
2 设计题目
1计算y1=和y2=;
2 画出衰减震荡曲线及其他的包络线,t的取值范围是[0,6].
3 画出所表示的三维曲面。x,y的取值范围是[-9,9]。
4 分析下面每条指令的功能并运行,观察执行结果。
4.(1) X=0:0.2:2;
Y=X.*exp(-X);
plot(X,Y),xlabel(‘x’), ylabel(‘y’),title(‘y=x*exp(-x)’);
4.(2) A=zeros(3,4)
A(:)=-4:7
L=abs(A)>3
islogical(L)
X=A(L)
4.(3) A=[1:5;6:10]
pow2(A)
4.(4)A=zeros(3,5)
A(:)=1:15
A=A*(1+i)
A1=A.’;
B1=A’;
4.(5) A=ones(2,3)
B=ones(2)
C=eye(4)
D=diag(C)
E=repmat(C,1,3)
5 计算在x=0.1与10处的值。
6 求函数, n=100的值。
7 求1000个元素的随机数向量A中大于0.5的元素个数。
8 求线性方程组AX=b的根。
9 画出y=|1000sin(4x)|+1的y轴为对数图。
10 用FFT直接计算x=sin(2*pi*40*t)+2cos(2*pi*120*t)+w(t)的功率谱。
3 设计内容
3.1 计算y1=和y2=。
分析:该题为多项式运算,可直接写出y1,y2的matlab的语言表达式。
(1)代码:y1=2*sin(0.5*pi)/(1+sqrt(6)) %产生向量y1
运算结果:y1 =
0.5798
(2)代码:y2=3*cos(0.5*pi)/(1+sqrt(7)) %产生向量y2
运算结果:y2 =
5.0387e-017
3.2 画出衰减震荡曲线及其他的包络线,t的取值范围是[0,6]。
分析:在matlab中绘制函数图像有很多的函数可以完成。如:fplot 函数、plot函数等,不同的函数使用规则是有区别的,合理使用任何一个画图函数得到预期的结果,此处用plot函数。
(1)代码:t=0:pi/180:6*pi; %产生向量t
y=exp(-t/3).*cos(t*5); %产生向量y
plot(t,y) %绘制曲线
运算结果:
(2)代码:t=0:pi/180:6*pi; %产生向量t
y0=exp(-t/3); %产生向量y
plot(t,y0) %绘制包络线
运算结果:
3.3 画出所表示的三维曲面。x,y的取值范围是[-9,9]。
分析:meshgrid函数产生格点矩阵,mesh函数绘制三维曲面,注意浮点数问题。
代码:x=-9:0.3:9; %产生向量x
y=-9:0.3:9; %产生向量y
[x,y]=meshgrid(x,y); %形成格点矩阵
z=cos(sqrt(2*x.^2+2*y.^2))./sqrt(x.^2+y.^2); %产生向量z
mesh(x,y,z); %绘制三维曲面
运算结果:
3.4 分析下面每条指令的功能并运行,观察执行结果。
4.(1) X=0:0.2:2; %产生向量X
Y=X.*exp(-X); %产生向量Y
plot(X,Y),xlabel('x'), ylabel('y'),title('y=x*exp(-x) '); %绘制曲线,
规定坐标名
执行结果:
4.(2) A=zeros(3,4) %A为3行4列的零矩阵
A(:)=-4:7 %A的元素从-4到7共14个元素按照由上到下由左到右排列
L=abs(A)>3 %标记矩阵A中元素绝对值大于3的元素,大于为1,否则为0
islogical(L) %判断L是不是逻辑数
X=A(L) %取出A中绝对值大于3的元素组成一个新矩阵
执行结果:
A =
0 0 0 0
0 0 0 0
0 0 0 0
A =
-4 -1 2 5
-3 0 3 6
-2 1 4 7
L =
1 0 0 1
0 0 0 1
0 0 1 1
ans =
1
X =
-4
4
5
6
7
4.(3) A=[1:5;6:10] %产生矩阵A
pow2(A) %求2的元素次幂组成新矩阵
执行结果:
A =
1 2 3 4 5
6 7 8 9 10
ans =
2 4 8 16 32
64 128 256 512 1024
4.(4) A=zeros(3,5) %产生3行5列的零矩阵
A(:)=1:15 %A的元素从1到15共15个元素按照由上到下由左到右排列过去
A=A*(1+i) %A的元素分别乘以(1+i)
A1=A.'; %对A进行非共轭转置
B1=A'; %对A进行共轭转置
执行结果:
A =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
A =
1 4 7 10 13
2 5 8 11 14
3 6 9 12 15
A =
1.0000 + 1.0000i 4.0000 + 4.0000i 7.0000 + 7.0000i 10.0000 +10.0000i 13.0000 +13.0000i
2.0000 + 2.0000i 5.0000 + 5.0000i 8.0000 + 8.0000i 11.0000 +11.0000i 14.0000 +14.0000i
3.0000 + 3.0000i 6.0000 + 6.0000i 9.0000 + 9.0000i 12.0000 +12.0000i 15.0000 +15.0000i
4.(5) A=ones(2,3) %产生2行3列的零矩阵A
B=ones(2) %产生2行2列元素全为1的矩阵
C=eye(4) %产生对角线全为1,其余为0的4阶矩阵
D=diag(C) %取C中对角线的元素
E=repmat(C,1,3) %重新复制矩阵C,生成4行12列的矩阵
执行结果:
A =
1 1 1
1 1 1
B =
1 1
1 1
C =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
D =
1
1
1
1
E =
1 0 0 0 1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 0 0 1 0 0
0 0 1 0 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
3.5 计算在x=0.1与10处的值。
分析:polyval用于多项式计算。
代码:A=[1 0 0.1 0 0 -90] %将y函数表示成行向量
y=polyval(A,0.1) %求出多项式在x=0.1处的值
运算结果:y =
-89.9999
代码:A=[1 0 0.1 0 0 -90] %将y函数表示成行向量
y=polyval(A,10) %求出多项式在x=10处的值
运算结果:y =
100010
3.6 求函数, n=100的值。
分析:循环函数for的使用。
代码:sum = 0; %将0赋值给sum
n=100; %将100赋值给n
for i = 1:n %依次循环
a=1/(i^2) %给a赋值
sum=sum+a %给sum重新赋值
i=i+1; %i值加1
end %for循环结束
sum
运算结果:sum =
1.6350
3.7 求1000个元素的随机数向量A中大于0.5的元素个数。
分析:rand函数产生随机数,函数for用于循环。
代码:y=rand(1,1000); %求1000个随机数赋值给y
i=0; %将0赋值给i
for n=1:1000 %从1000个随机数中依次循环
if y(n)>0.5 %判断y(n)的是否大于0.5
i=i+1; %成立执行此语句
end; %一次if循环结束
end %for循环结束
n
i
运算结果:n =
1000
i =
509
3.8 求线性方程组AX=b的根。
分析:解矩阵;左除与右除的区别;本题目用左除。
代码:A=[0.4156,0.2319,0.2024,0.2730,0.3690;0.3206,0.3650,0.5662,0.1812,0.4631;0.5146,0.3734,0.7315,0.3575,0.6278;0.7192,0.0500,0.4226,0.6341,0.9445;0.8420,0.0739,0.8395,0.5864,0.4058] %产生向量A
B=[0.0305;0.3449;0.5759;0.7483;0.4642] %产生向量B
C=A\B %得解
运算结果:C =
-2.5682
-0.1145
0.8904
2.9677
0.3631
3.9 画出y=|1000sin(4x)|+1的y轴为对数图。
分析:semiloyy与semiloyx函数。
代码:x=0:0.01:10; %产生向量x
y=abs(1000*sin(4*x))+1; %产生向量y
semilogy(y,x); %绘制曲线
运算结果:
3.10 用FFT直接计算x=sin(2*pi*40*t)+2cos(2*pi*120*t)+w(t)的功率谱。
分析:运用傅里叶变换求功率谱。
代码:fs=100;N=256; %采样频率和数据点数
n=0:N-1;t=n/fs; %时间序列
x=sin(2*pi*40*t)+2*cos(2*pi*120*t)+rand(1,N); %信号
y=fft(x,N); %对信号进行快速傅氏变换
mag=abs(y); %求得傅里叶变换后的幅值
f=n*fs/N; %频率信号
subplot(2,2,2),plot(f(1:N/2),mag(1:N/2)); %绘制随频率变化的振幅
运算结果:
4 课程设计心得
第一次做课程设计,第一次用matlab,虽说是一名初学者,还是讲几点自己在这其中的感受吧:首先真实地感受到matlab功能的强大,它几乎可以完成任何数学计算;而在整个课程设计过程中,自己也体会到了自主学习的乐趣和意义。遇到问题,自己想都不想就直接问别人,或者干脆放弃是一种解决办法;而自己先思考,实在不会再问别人然后举一反三是另外一种解决方案;而这其中的区别不仅仅是自己的态度,而且决定了你是不是真的通过课程设计学到了一些东西。遇到挫折,这是在所难免的,题目不会、资料找不到、运行之后提示错误等等这些已经是课程设计中的“家常便饭”了,但是只要我们有兴趣,肯去学,就能够搞定这些障碍,因为任何事情都是由不会到会,所以做课程设计也是锻炼自己的耐心的一个过程。对于matlab软件,我觉得没有必要去试图掌握其所有的功能,没有时间,也没有必要,只要熟悉和我们相关的一部分功能就可以啦,比如矩阵运算、绘图等等。但是基本命令、数据类型、基本的数据结构(条件语句、循环语句、嵌套)是必须看的,因为任何一个程序都需要这最基本的知识。Matlab语言和C语言有相似的地方,都是语句简练,有较强的易读性;但是matlab语言和C语言相比,我们只需要知道初值,自变量的数值以及它的范围,就可以用矩阵把整个函数赋值,这就减去了我们工作的复杂性,也降低了我们的时间花费。但是,我们可以在C语言的基础上学习matlab软件的编程,这样我们可以少走弯路,节省时间,也便于理解其程序。此外最好不要怕麻烦,要学习去运用帮助工具,不要因为是英文就望而却步。
5 参考文献
[1] 谭浩强著.C程序设计(第二版).北京:清华大学出版社,1999
[2] 吴传生主编.经济数学.线性代数(第二版).北京高等教育出版社,2009
[3] 石博强 赵金编著.Matlab数学计算与工程分析范例教程 北京:中国铁道出版社
[4] 亨赛尔.精通matlab 7 .北京:清华大学出版社,2006
[5] 陈怀琛编. matlab及在电子信息课程中的应用.北京电子工业出版社,2003
6 本科生课程设计成绩评定表
本科生课程设计成绩评定表
指导教师签字:
年 月 日