专业基础实践第10套综合题课程设计.docx

上传人:b****5 文档编号:8237121 上传时间:2023-01-30 格式:DOCX 页数:25 大小:220.95KB
下载 相关 举报
专业基础实践第10套综合题课程设计.docx_第1页
第1页 / 共25页
专业基础实践第10套综合题课程设计.docx_第2页
第2页 / 共25页
专业基础实践第10套综合题课程设计.docx_第3页
第3页 / 共25页
专业基础实践第10套综合题课程设计.docx_第4页
第4页 / 共25页
专业基础实践第10套综合题课程设计.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

专业基础实践第10套综合题课程设计.docx

《专业基础实践第10套综合题课程设计.docx》由会员分享,可在线阅读,更多相关《专业基础实践第10套综合题课程设计.docx(25页珍藏版)》请在冰豆网上搜索。

专业基础实践第10套综合题课程设计.docx

专业基础实践第10套综合题课程设计

专业基础实践课程设计任务书

学生姓名:

___范锐_______专业班级:

电信1203班

指导教师:

桂林工作单位:

信息工程学院

题目:

专业基础实践第10套综合题

初始条件:

(1)提供实验室机房及其Matlab6.5以上版本软件;

(2)《MATLAB教程》学习。

要求完成的主要任务:

(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求):

(1)选择一本《MATLAB教程》,认真学习该教程的全部内容,包括基本使用方法、数组运算、矩阵运算、数学运算、程序设计、符号计算、图形绘制、GUI设计等内容;

(2)对该套综合题的10道题,进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表)。

(3)对实验结果进行分析和总结;

(4)要求阅读相关参考文献不少于5篇;

(5)根据课程设计有关规范,按时、独立完成课程设计说明书。

时间安排:

(1)布置课程设计任务,查阅资料,学习《MATLAB教程》十周;

(2)进行编程设计一周;

(3)完成课程设计报告书一周;

指导教师签名:

年月日

系主任(或责任教师)签名:

年月日

 

 

 目录

  

 

1MATLAB概述............................................................................................................3

 

1.1MATLAB简介  .......................................................................................................3

 

1.2 MATLAB的功能  ..................................................................................................3

 

1.3MATLAB 的典型应用  ..........................................................................................5

2设计题目:

MATLAB运算与应用设计 套题十 .....................................................6

设计内容 .....................................................................................................................7

3.1 题一   .......................................................................................................................7

 

3.2 题二   .......................................................................................................................8

 

3.3 题三   .....................................................................................................................10

 

3.4 题四   .....................................................................................................................11

 

3.5 题五   .....................................................................................................................15

 

3.6 题六   .....................................................................................................................16

 

3.7题七 .......................................................................................................................18

 

3.8 题八   .....................................................................................................................19

 

3.9 题九  ......................................................................................................................21

 

3.10题十 ... .................................................................................................................22

 

4 课程设计心得 ..........................................................................................................25

 .

5参考文献 ..................................................................................................................26

6课程设计成绩评定表..............................................................................................27

 

1 MATLAB概述 

1.1MATLAB简介 

MATLAB软件由美国Math Works公司于1984年推出,经过不断的发展和完善,如今己成为覆盖多个学科的国际公认的最优秀的数值计算仿真软件。

MATLAB具备强大的数值计算能力,许多复杂的计算问题只需短短几行代码就可在MATLAB中实现。

作为一个跨平台的软件,MATLAB已推出Unix、Windows、Linux和Mac等十多种操作系统下的版本,大大方便了在不同操作系统平台下的研究工作。

 

MATLAB软件具有很强的开放性和适应性。

在保持内核不变的情况下,MATLAB可以针对不同的应用学科推出相应的工具箱(toolbox),目前己经推出了图象处理工具箱、信号处理工具箱、小波工具箱、神经网络工具箱以及通信工具箱等多个学科的专用工具箱,极大地方便了不同学科的研究工作。

国内已有越来越多的科研和技术人员认识到MATLAB的强大作用,并在不同的领域内使用MATLAB来快速实现科研构想和提高工作效率。

 MATLAB提供了20类图像处理函数,涵盖了图像处理的包括近期研究成果在内的几乎所有的技术方法,是学习和研究图像处理的人员难得的宝贵资料和加工工具箱。

这些函数按其功能可分为:

图像显示;图像文件I/O;图像算术运算;几何变换;图像登记;像素值与统计;图像分析;图像增强;线性滤波;线性二元滤波设计;图像去模糊;图像变换;邻域与块处理;灰度与二值图像的形态学运算;结构元素创建与处理;基于边缘的处理;色彩映射表操作;色彩空间变换;图像类型与类型转换。

 

 

1.2MATLAB的功能 

 

(1)强大的科学计算机数据处理能力 

MATLAB是一个包含大量计算算法的集合。

其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。

函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。

在通常情况下,可以用它来代替底层编程语言,如C和C++ 。

在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。

MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。

函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。

 

(2)出色的图形处理功能 

图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。

高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。

可用于科学计算和工程绘图。

新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。

同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。

另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。

 

(3)应用广泛的模块集合工具箱 

MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。

一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。

目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。

 

(4)实用的程序接口和发布平台 

新版本的MATLAB可以利用MATLAB编译器和C/C++数学库以及图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++的代码。

允许用户编写可以和MATLAB进行交互的C或C++语言程序。

另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。

MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。

工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。

 

(5)应用软件开发(包括用户界面) 

在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。

 

 

1.3MATLAB的典型应用 

MATLAB的应用领域十分广阔,典型的应用举例如下:

 

(1) 数据分析 

(2) 数值与符号计算;

 (3) 工程与科学绘图;

 (4) 控制系统设计; 

(5) 航天工业; 

(6) 汽车工业;

(7)  生物医学工程;

(8) 语音处理; 

(9) 图像与数字信号处理;

(10) 财务、金融分析; 

(11) 建模、仿真及样机开发;

(12) 新算法研究开发; 

(13) 图形用户界面设计。

 

设计题目:

第10套题:

专业基础实践课程设计10

1.有一组测量数据满足

,t的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,并加入标题和图列框(用代码形式生成)。

2.

当x和y的取值范围均为-2到2时,用建立子窗口的方法在同一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。

3.求和

4.分析下面每条指令的功能并运行,观察执行结果。

a)X=0:

0.7:

10;

Y=X.*exp(-X);

plot(X,Y),xlabel(‘x’),ylabel(‘y’),title(‘y=x*exp(-x)’);

b)A=zeros(1,10)

A(:

)=-3:

6

L=abs(A)>3

islogical(L)

X=A(L)

(2)A=[3:

7;8:

12]

pow2(A)

(3)A=zeros(2,4)

A(:

)=1:

8

A=A*(1+i)

A1=A.’

B1=A’

(4)A=ones(2,3)

B=ones

(2)

C=eye(4)

D=diag(C)

E=repmat(C,1,3)

5.设

求A的逆、特征值和特征向量;验证Ax=λx。

6.求解线性方程组

的通解。

7.试用matlab求函数

的极值,初值为

8.求积分

,并且画出所求的平面区域。

9.用matlab编写一个判断某一年是否为闰年的程序。

10.设x+2y=1,2x+3y=6,y=2x2,画出各个方程图形,求出曲线交点.

设计内容:

第一题.:

有一组测量数据满足

,t的变化范围为0~10,用不同的线型和标记点画出a=0.1、a=0.2和a=0.5三种情况下的曲线,并加入标题和图列框(用代码形式生成)。

分析:

(1)先对t的范围定义在0到10以内,增值为1,既t=0:

10;

设置在不同的a时对应的y值y1=exp((-0.1)*t),y2=exp((-0.2)*t),y3=exp((-0.1)*t)。

(2)利用plot函数做二维图,并用plot(t,y1,t,y2,t,y3)命令格式使三条曲线绘制在一张图中。

(3)添加标题title(‘plot(t,y)’),

横纵轴标志xlabel(‘t’),ylabel(‘text’),

标注不同a值时的曲线gtext(‘a=-0.1’),用鼠标拖动到相应位置

程序如下:

formatcompact%紧凑格式

t=0:

10;%定义t的范围,增量,生成自变量

y1=exp((-0.1)*t);

y2=exp((-0.2)*t);%定义y1,y2,y3的表达式,形成因变量

y3=exp((-0.5)*t);

plot(t,y1,'.m',t,y2,'-c',t,y3,':

b')%画二维曲线

xlabel('t'),gtext('a=-0.1'),gtext('a=-0.2'),gtext('a=-0.5'),title('plot(t,y)')%添加标志

运行结果:

(图3-1)

第二题:

当x和y的取值范围均为-2到2时,用建立子窗口的方法在同一个图形窗口中绘制出三维线图、网线图、表面图和带渲染效果的表面图。

分析:

(1)在MATLAB中,利用meshgrid函数产生平面区域内的网格坐标矩阵。

其格式为[x,y]=meshdrid([-2:

0.2:

2]),并定义因变量z的表达式,产生三维数据。

(2)绘制三维曲线图用plot3函数,plot3函数与plot函数用法十分相似,其调用格式为:

 

plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,„,xn,yn,zn,选项n) 

其中每一组x,y,z组成一组曲线的坐标参数,选项的定义和plot函数相同。

当x,y,z是同维向量时,则x,y,z 对应元素构成一条三维曲线。

当x,y,z是同维矩阵时,则以x,y,z对应列元素绘制三维曲线,曲线条数等于矩阵列数。

(3)surf函数和mesh函数的调用格式为:

 

mesh(x,y,z,c):

画网格曲面,将数据点在空间中描出,并连成网格. surf(x,y,z,c):

画完整曲面,将数据点所表示曲面画出。

程序如下:

[x,y]=meshgrid([-2:

0.2:

2]);%定义x,y的范围及增值

z=x.*exp(-x.^2-y.^2);%确定因变量的表达式

subplot(2,2,1),plot3(x,y,z,'-k')%定义子窗图个数,绘制三维曲线

title('三维线图')%注明标题

subplot(2,2,2),mesh(z)%绘制网线图

title('网线图')

subplot(2,2,3),surf(x,y,z)%绘制表面图

title('表面图')

subplot(2,2,4),surf(x,y,z),shadinginterp%带渲染效果的表面图

title('渲染效果的表面图')

运行结果:

(图3-2)

第三题:

求和

分析:

(1)这道题使用两次循环,选用for循环来解题,for循环的相关结构如下  :

 

for语句格式为:

for 循环变量=表达式1:

表达式2:

表达式3          循环体语句  

    end  

其中表达式1的值为循环变量的初值,表达式2的值为步长,表达式3的值为循环变量的终值。

步长为1时,表达式2可以省略。

程序如下:

sum=0;%定义sum,并赋予初值0

fori=1:

10%第一个for循环,求和

t=1;

forj=1:

i%第二个for循环,求阶乘

t=t*j;%求阶乘

end

sum=sum+1/a;%求和

end

disp('sum='),disp(sum)%输出sum

结果如下:

(图3-3)

第四题:

分析下面每条指令的功能并运行,观察执行结果。

X=0:

0.7:

10;

Y=X.*exp(-X);

plot(X,Y),xlabel(‘x’),ylabel(‘y’),title(‘y=x*exp(-x)’);

A=zeros(1,10)

A(:

)=-3:

6

L=abs(A)>3

islogical(L)

X=A(L)

A=[3:

7;8:

12]

pow2(A)

A=zeros(2,4)

A(:

)=1:

8

A=A*(1+i)

A1=A.’

B1=A’

A=ones(2,3)

B=ones

(2)

C=eye(4)

D=diag(C)

E=repmat(C,1,3)

 

分析:

X=0:

0.7:

10;%定义X的范围及变化的z增量

Y=X.*exp(-X);%定义Y值的表达式

plot(X,Y),xlabel(‘x’),ylabel(‘y’),title(‘y=x*exp(-x)’);%绘制X关于Y的曲线图,并设置横纵轴标志和标题

运行结果:

 

(图3-4)

(2)

A=zeros(1,10)%产生一个1行10列的零矩阵

A(:

)=-3:

6%A从-3到6(增值为1)赋值

L=abs(A)>3%判断其绝对值是否大于3,若是值为1,否则为0

islogical(L)%判断L是否为逻辑数组,若是值为1,否则为0

X=A(L)%X为逻辑数组L对应为1的位置的数据是列向量

运行结果:

(图3-5)

(3)

A=[3:

7;8:

12]%创建一个2×5的矩阵,其值大小从3至12依次递增

pow2(A)%将矩阵A中的每个值都变为2^x,x为矩阵中的每个值

运行结果:

(图3-6)

(4)

A=zeros(2,4)%创建一个2×4的零矩阵

A(:

)=1:

8%将A矩阵赋值,依次从1到8

A=A*(1+i)%将A*(1+i)的值赋给A

A1=A.’%A行列转置后赋给A1

B1=A’%将A转置后再取其共轭复数将其赋给B1

运行结果:

(图3-7)

(5)

A=ones(2,3)%产生一个2×3的全1矩阵

B=ones

(2)%产生一个二阶的全1方阵

C=eye(4)%产生一个四阶的单位矩阵

D=diag(C)%取C矩阵主对角线上的元素构成向量D

E=repmat(C,1,3)%将矩阵复制1×3块,构成新的矩阵E

运行结果:

(图3-8)

第五题:

求A的逆、特征值和特征向量;验证Ax=λx。

分析:

(1)利用inv(A)求逆矩阵

(2)利用[e,r]=eig(A)求特征值和特征向量

(3)通过比较e*A和e*r的大小验证

程序如下:

formatcompact

A=[234;576;138]%定义矩阵并赋值

inv(A),[e,r]=eig(A)%求逆矩阵,特征值和特征向量

a=A*e,b=e*r%验证

运行结果:

(图3-9)

第六题:

求解线性方程组

的通解。

分析

(1)首先我们需要用A,B两个矩阵来表示未知数系数矩阵和常数矩阵,然后求出一组特解和通解的系数,再进行处理,组合得到方程组的通解,方法法如下:

A=[„„„„„„];    %输入方程组的系数矩阵 

B=[„„„„„„];    %输入常数项矩阵 format rat x1=A\B            

x0=A\B%求得非齐次方程组Ax=B的一个特解x0    

xx=null(A)%求得齐次方程组Ax=0 的基础解系xx 则方程组Ax=B的通解为:

  x=x0+k1*Y(:

1)+k2*Y(:

2)+„

程序如下:

A=[11-3-1;3-1-34;15-9-8],B=[140]'%输入系数矩阵,常数项矩阵,

x0=A\B,xx=null(A)%求出特解和基础解系

运行结果:

(图4-1)

由x0和xx就可得x的通解。

第七题:

试用matlab求函数

的极值,初值为

分析:

本题是一个三元函数的题,考虑用fminsearch函数求函数最小值并转向求函数最大值,其具体用法如下:

 

求极(或最)小值点或极(或最)小值的调用格式是:

[x,fval]=fminsearch(‘f’,x0) f是被最小化的目标函数名x0是求解的初始值向量

程序如下:

[Xmin,fmin]=fminsearch('x

(1)^2+sin(x

(2))-x(3)*x(3)*x

(2)*x

(2)',[-0.3,-1.1,0.15])

[Xmax,Fmin]=fminsearch('-x

(1)^2-sin(x

(2))+x(3

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1