




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录摘要1一、Matlab运算与应用21.121.23二、Matlab运算与应用设计题目分析42.142.252.362.472.5122.6132.7142.8162.9182.1020三、matlab课程设计心得体会21参考文献22摘要MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。Matlab和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。Matlab可以经行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。本次课程设计主要通过学习了解Matlab,熟悉Matlab界面、进行简单操作,并运用此款软件完成安排的相关题目。关键字:Matlab、课程设计、矩阵实验室一、Matlab运算与应用1.1理论分析Matlab是MathWorks公司的产品,是一个为科学和工程计算而专门设计的高级交互式放的软件包。Matlab环境集成了图示与精确的数值计算,是一个可以完成各种计算和数据处理可视化的、强有力的、易于使用和理解的工具。Matlab已被证明是为解决数学、物理、化学、工程、医药、金融和其他涉及复杂数值计算的应用领域的一个十分灵活的、便于使用的工具,也是数学、数值分析和工程等课程教学的一个优秀的教育工具。这个程序被世界各地高等学院广泛使用,在工业应用中也很流行,Matlab使用于PC到超级计算机以及大多数诸如PC、Macintosb和UNIX等平台。Matlab中有大量的命令集和可用函数集,也通称为Matlab M文件,这是应用更加容易。因此,在Matlab中求解问题通常比传统编程快得多,由于是采用自然表示法,因而使代码清晰和自释。因为多数M文件是公开的,因此,易于修改这些函数。Matlab中有一些命令可以用来控制Matlab语句的执行,如条件语句、循环语句和支持用户交互的命令。Matlab是一种高级的程序设计语言,能帮助用户解决矩阵户或其它问题。 1.2归纳与总结Matlab的主要特点是:(1)有高性能数值计算的高级算法,特别适合矩阵代数领域;(2)有大量事先定义的数学函数,并具有用户自定义函数的能力;(3)绘图和显示数据,并具有教育、科学和艺术学的图解和可视化的二维、三维图;(4)基于HTML的完全帮助系统;(5)适合个人应用的强有力的面向矩阵/向量的高级程序设计语言;(6)与用其他语言编写的程序结合和输入输出格式化的能力;(7)有在多个应用领域解决难题的工具箱。MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。二、Matlab运算与应用设计题目分析2.1已知t=linspace(0,2*pi,6),求t的正弦和正弦的绝对值。2.1.1理论分析由题目已知分析知,linspace(a,b,n)为线性分割函数,在a与b之间均匀地产生n个点值,行成n维向量。Matlab中求解正弦的函数为sin(),求取绝对值和复数模值的函数为abs()。 2.1.2程序代码 t=linspace(0,2*pi,6) %创建线性间隔向量t,范围从0到2pi,元素个数为6 a=cos(t) %对向量t求得余弦向量a b=abs(a) %对余弦向量a求绝对值得绝对值向量b 2.1.3运行结果a =1.0000 0.3090 -0.8090 -0.8090 0.3090 1.0000b =1.0000 0.3090 0.8090 0.8090 0.3090 1.00002.1.4题目总结为了方便给大量元素赋值,Matlab提供了一些基本矩阵,Linspace()就是其中的均分向量函数命令,大部分的Matlab函数都适用于做元素群运算,只有专门的几个除外,那就是*、/、运算符和sqrtm、expm、logm三个函数。题目中用到的正弦函数sin()和取绝对值函数abs()均可用于元素群运算,也即其自变量都可以是任意阶的矩阵。2.2绘制余弦曲线y=cos(x)和指数函数y=x2曲线。2.2.1理论分析本题是画函数的曲线图,可以利用plot,ezplot等命令进行绘图。也可以用funtool命令直接绘制函数图象。由于plot要设置自变量的范围,而ezplot不需要设置,所以本题采用ezplot进行画图。 2.2.2程序代码: syms x;%声明变量y1=cos(x);%将cos(s)赋值给y1y2=x2;% 将x2赋值给y2ezplot(y1);%画函数1图hold on%保持图形 grid on%画方格 ezplot(y2)%画函数2图2.2.3运行结果图2.2.32.2.4题目总结ezplot功能简介: EZPLOT即:Easy to use function plotter。它是一个易用的一元函数绘图函数。特别是在绘制含有符号变量的函数的图像时,ezplot要比plot更方便。因为plot绘制图形时要指定自变量的范围,而ezplot无需数据准备2,直接绘出图形。要将两个函数绘制到同一个图上要使用hold on 命令。2.3利用for . end循环语句,求 2+4+6+100 的值。2.3.1理论分析for语句作用是按照预先设定的循环步骤重复执行某语句段, 其语法: for 循环控制变量=存储着该变量依次所取值的一个向量。循环语句块, 本块重复执行的次数由上方向量的长度决定, 每次执行, 循环控制变量依次取该向量中的值.end2.3.2程序代码sum=0;%赋初值sum为0for i=2:2:100%变量i变化范围为2到100,以2步进 sum=sum + i;%累加求和 end%结束for循环2.3.3运行结果 sumsum = 25502.3.4题目总结matlab的for 循环语句有其独有的特点, 它使用一个向量来控制循环, 循环次数由向量的长度来决定, 而每次循环都依次从向量中取值. 这使得Matlab循环更灵活多样, 其循环变量取值可以不按照特定的规律; 但是另一方面, Matlab 的for循环也有独特的限制, 当次循环中改变循环变量赋值, 不会代入下次循环, 所以除非在其中用break提前退出, Matlab循环的次数是预先定好的.举个例子: for a=1:2:7 , 将循环4次, a的取值依次是1, 3, 5, 7.2.4分析下面每条指令的功能并运行,观察执行结果。(1)X=0:0.25:3;Y=X.*exp(-X);plot(X,Y),xlabel(x), ylabel(y),title(y=x*exp(-x);(2) A=zeros(3,5)A(:)=-4:5L=abs(A)4islogical(L)X=A(L)(3) A=1:5;6:10pow2(A)(4) A=zeros(3,2)A(:)=1:6A=A*(1+i)A1=A.;B1=A;(5) A=ones(2,3)B=ones(2)C=eye(4)D=diag(C)E=repmat(C,1,3)2.4.1程序分析l X=0:0.25:3;%变量x的取值范围为0 3,以0.25增加Y=X.*exp(-X);%函数y=的表达式plot(X,Y),xlabel(x), ylabel(y),title(y=x*exp(-x);%绘制y=的图线,横坐标为x,纵坐标为y,标题为y=x*exp(-x)l A=zeros(3,5) %创建一个3*5的零矩阵A A(:)=-4:5 %为矩阵A赋值,得到列向量范围为-4到5,步进为1 L=abs(A)4 %判断矩阵A的绝对值是否大于4 islogical(L) %判断L是否为逻辑值 X=A(L) %X为逻辑数组L对应为1的位置的数据为列向量l A=1:5;6:10%创建一个2*5的矩阵A,范围为1到10,步进为1pow2(A)%返回数组X,依次计算A中元素以2为底的幂l A=zeros(3,2)%创建一个3*2的零矩阵A(:)=1:6%为矩阵A赋值,范围为1到6,步进为1A=A*(1+i)%将矩阵A中的每一个元素乘以(1+i) A1=A.%对A进行数组转置生成矩阵A1B1=A%对A进行矩阵转置生成矩阵B1l A=ones(2,3)%创建一个2*3的1矩阵AB=ones(2)%创建一个2*2的1矩阵BC=eye(4) %创建一个4*4的单位矩阵CD=diag(C)%获取单位矩阵C的对角线元素矩阵DE=repmat(C,1,3)%将矩阵C生成为1*3的新矩阵E2.4.2运行结果2.4.2.1程序运行结果一图2.4.2.12.4.2.2程序运行结果二A = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0A = -4 -1 2 5 8 -3 0 3 6 9 -2 1 4 7 10L = 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1ans = 1X = 5 6 7 8 9 10 2.4.2.3程序运行结果三 pow2(A) ans = 2 4 8 16 32 64 128 256 512 10242.4.2.4程序运行结果四 A1=A.A1 = 0 + 2.0000i 0 + 4.0000i 0 + 6.0000i 0 + 8.0000i 0 +10.0000i 0 +12.0000i B1=AB1 = 0 - 2.0000i 0 - 4.0000i 0 - 6.0000i 0 - 8.0000i 0 -10.0000i 0 -12.0000i2.4.2.5程序运行结果五 A=ones(2,3)A = 1 1 1 1 1 1 B=ones(2)B = 1 1 1 1 C=eye(4)C = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 D=diag(C)D = 1 1 1 1 E=repmat(C,1,3)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 12.4.3题目总结对于实数矩阵,矩阵转置和数组矩阵计算结果是一样的,但是对于复数矩阵,数组转置和矩阵转置的计算结果不一致。所以,对于数组转置运算也被称为非共轭转置,矩阵转置运算则被称为共轭矩阵。数组的运算是指数组对应元素之间的运算,也称点运算。2.5计算多项式p(x)= x3+15x2+8x在x=3和x=0:1:8时的值。2.5.1理论分析由题目已知的条件分析可知是运用MATLAB计算多项式。这里运用到的是polyval()命令。通过polyval()命令可以快速的计算出在相应值下的多项式的值。2.5.2程序代码x=3;%赋初值3给xy= x3+15.*x2+8.*x%写出函数表达式l clear all %清除所有变量 syms x; %声明变量x y=x3+15.*x2+8.*x; %写出函数表达式 x=0:1:8; %生成一个0到8的数组,每相邻两数间间隔为1 p=1 15 8; %将函数表达式的系数放在数组P中 polyval(p,x) %用polyval函数求得表达式的值2.5.3运行结果X=3时y = 186X=0:1:8时2.5.4题目总结Matlab为用户提供了解决多项式运算的和插值的函数库,ployval()就是其中的多项式求值函数。在表达多项式系数中要把缺少的自变量系数0补充到系数矩阵中。2.6随机生成一个100003的矩阵,并绘制其柱状图2.6.1理论分析随机生成矩阵函数可以用rand(M,N),表示随机产生一个M*N的矩阵。柱状绘图函数可以用bar,此函数是在平面内绘制柱状图,如果要绘制立体的,用bar3。2.6.2程序代码arry=rand(10000,3);%随机生成一个10000*3的矩阵bar(arry)%bar函数用于绘制柱状图%画出柱状图2.6.3运行结果图2.6.32.7利用switchcase编写以下程序:某商场对顾客所购买的商品实行打折销售,标准如下(商品价格用price来表示): price200 无折扣 200price500 5折扣 500price1000 10折扣 Price1000 15折扣输入所售商品的价格,求其实际销售价格。2.7.1理论分析MATLAB语言为解决多分支判断选择提供了switch-case语句。switch-case语句的一般表达形式为:switch选择判断量Case 选择判断值1选择判断语句1case 选择判断值2选择判断语句2otherwise判断执行语句2.7.2程序代码price = input();%输入商品价格switch fix(price/100)%价格除以100后取整 case 0,1 price=price*1; case 2,3,4 price=price*0.95; case 5,6,7,8,9 price=price*0.9; case others price=price*0.85;end 2.7.3运行结果2.7.4题目总结与其他的程序设计语言的switch-case语句不同的是,在MATLAB语言中,当其中一个case语句后的条件为真时,switch-case语句不对其后的case语句进行判断,也就是说在MATLAB语言中,即使有多条case判断语句为真,也只执行所遇到的第一条为真的语句。这样就不必像C语言那样,在每条case语句后加上break语句以防止继续执行后面为真的case条件语句。2.8编程将表达式进行部分分式展开2.8.1理论分析计算模型=,s=0;,s=6;,s=16。2.8.2程序代码clear,close all;%清除所以变量和关闭所有打开的图像框syms x,x=0;syms s;while x20 %判断当x f=(x) x-2*x-3; x,fv=fminbnd(f,2,3)x = 2.9999fv = -2.6667 看样子MATLAB是使用了定长小区间的方式计算的,而且结果也是错误的,这不免让人对这个函数的可靠性产生怀疑三、matlab课程设计心得体会这次Matlab课程设计使用了Matlab2010版本,虽然对它熟悉不过短短一个月左右时间,但也感受和学习到它的功能强大、可扩展性强和智能化程度高。它提供了丰富的操作指令,还有强大而又简单的作图功能。而且软件本身还提供了演示(demo)和求助(help)的命令,让用户更好的学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安徽省港航集团所属企业招聘15人考试参考题库及答案解析
- 小学数学分数教学案例与设计方案
- 大宗商品采购流程及风险控制
- 2025贵州仁怀市中等职业学校秋季招聘顶岗教师31人考试参考题库及答案解析
- 2026中国电信浙江公司校园招聘考试参考题库及答案解析
- 2025年商丘永城市消防救援大队公开招聘10名政府专职消防员考试参考题库及答案解析
- 2025广西来宾市忻城县农业农村局编外聘用工作人员招聘1人考试参考题库及答案解析
- 2025三季度云南航空产业投资集团招聘(云南空港飞机维修服务有限公司岗位)考试考试参考题库及答案解析
- 数字货运平台的智能化调度-洞察及研究
- 2025复旦大学附属妇产科医院招聘科研助理1人考试参考题库及答案解析
- 胸腹水常规检测标准操作规程
- 学习解读《调查研究的重要论述》专题PPT
- 领导干部个人有关事项报告表(模板)
- 《中国近现代史纲要》 课件 第十一章 中国特色社会主义进入新时代
- 《最优化方法》研究生配套教学课件
- EN61238-1额定电压36kV电力电缆用压接和机械连接器 试验方法和要求
- 专利法全套ppt课件(完整版)
- 自动插件机操作指导书
- 培智三年级上册生活数学全册教案
- 高考作文卷面书写
- 船舶驾驶台资源管理bridge team management
评论
0/150
提交评论