MATLAB综合作业修改

合集下载

Matlab代码调试技巧

Matlab代码调试技巧

Matlab代码调试技巧在科学计算领域,Matlab是一款功能强大的软件工具,广泛应用于数据分析、图像处理、数值模拟等众多领域。

然而,编写和调试Matlab代码并不总是一帆风顺。

本文将介绍一些Matlab代码调试的技巧,帮助开发者有效地解决问题,提高代码质量和性能。

一、使用断点调试断点调试是调试过程中最常用的方法之一,它允许开发者在代码的某一行设置断点,并在程序运行到该行时暂停执行,以便观察变量的值、调用堆栈等信息。

在Matlab中,可以通过在编辑器左侧的行号处单击设置断点,或者使用命令"dbstop"在代码中指定断点。

一旦程序运行到断点处,可以使用命令行窗口检查变量的值,或者逐步执行代码。

二、调试输出在调试过程中,输出语句是另一种有用的调试工具。

Matlab中的"disp"函数可以用于打印变量的值或调试信息。

通过在关键位置添加输出语句,可以追踪代码的执行流程,并监视变量的变化。

例如,以下代码段演示了如何使用输出语句调试一段计算平均值的代码:```matlabdata = [1, 2, 3, 4, 5];sum = 0;for i = 1:length(data)sum = sum + data(i);disp(['Current sum: ', num2str(sum)]);endaverage = sum / length(data);disp(['Average: ', num2str(average)]);```通过添加输出语句,我们可以观察每次迭代的累加和和最终的平均值,帮助我们找到代码中的错误并进行调试。

三、使用条件断点在某些情况下,我们只在满足特定条件时才希望暂停执行代码。

Matlab的条件断点功能可以在满足条件时触发断点。

通过在断点的设置菜单中选择"Edit Breakpoint Condition",我们可以指定一个条件,只有在该条件成立时才会中断程序执行。

matlab的教学课程设计

matlab的教学课程设计

matlab 的教学课程设计一、课程目标知识目标:1. 掌握MATLAB的基础知识,包括数据类型、矩阵运算、程序流程控制等;2. 学会使用MATLAB进行数据可视化、图像处理、数值计算等操作;3. 了解MATLAB在工程领域的应用,并能结合所学专业进行简单的数据分析。

技能目标:1. 能够熟练运用MATLAB编写程序,解决实际问题;2. 学会使用MATLAB进行数据导入、导出,以及与Excel、Word等软件的数据交互;3. 培养学生运用MATLAB进行科学计算和工程问题求解的能力。

情感态度价值观目标:1. 培养学生对MATLAB编程的兴趣和热情,激发学生主动探索精神;2. 培养学生严谨的科学态度,提高学生的团队协作能力;3. 引导学生认识到MATLAB在现代工程技术中的重要性,树立正确的价值观。

课程性质:本课程为实践性较强的课程,旨在培养学生的编程能力和实际应用能力。

学生特点:学生具备一定的数学基础和编程兴趣,但对MATLAB编程可能较为陌生。

教学要求:结合学生特点和课程性质,注重理论与实践相结合,以案例教学为主,培养学生的实际操作能力。

在教学过程中,关注学生的个体差异,鼓励学生提问、讨论,提高学生的参与度和积极性。

通过课程学习,使学生能够独立完成MATLAB程序编写,解决实际问题。

二、教学内容1. MATLAB基础知识:数据类型、矩阵运算、程序流程控制等;教材章节:第一章 MATLAB概述,第二章 MATLAB基础知识。

2. 数据可视化与图像处理:绘图函数、图像处理基本操作等;教材章节:第三章 数据可视化,第四章 图像处理。

3. 数值计算:线性方程组求解、数值积分、插值等;教材章节:第五章 数值计算。

4. MATLAB在实际工程中的应用:结合所学专业,进行数据分析与处理;教材章节:第六章 MATLAB在工程中的应用。

5. MATLAB与其他软件的数据交互:数据导入、导出,与Excel、Word等软件的数据交互;教材章节:第七章 MATLAB与其他软件的数据交互。

MATLAB作业

MATLAB作业

MATLAB作业⼀、必答题:1. MATLAB系统由那些部分组成?答:MATLAB系统主要由开发环境、MATLAB语⾔、MATLAB数学函数库、图形功能和应⽤程序接⼝五个部分组成。

2. 如何启动M⽂件编辑/调试器?答:在操作界⾯上选择“建⽴新⽂件”或“打开⽂件”操作时,M⽂件编辑/调试器将被启动。

在命令窗⼝中键⼊“edit”命令也可以启动M⽂件编辑/调试器。

3. 存储在⼯作空间中的数组能编辑吗?如何操作?答:存储在⼯作空间的数组可以通过数组编辑器进⾏编辑:在⼯作空间浏览器中双击要编辑的数组名打开数组编辑器,再选中要修改的数据单元,输⼊修改内容即可。

4. 在MATLAB中有⼏种获得帮助的途径?答:在MATLAB中有多种获得帮助的途径:(1)帮助浏览器:选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器;(2)help命令:在命令窗⼝键⼊“help” 命令可以列出帮助主题,键⼊“help 函数名”可以得到指定函数的在线帮助信息;(3)lookfor命令:在命令窗⼝键⼊“lookfor 关键词”可以搜索出⼀系列与给定关键词相关的命令和函数(4)模糊查询:输⼊命令的前⼏个字母,然后按Tab键,就可以列出所有以这⼏个字母开始的命令和函数。

5. 有⼏种建⽴矩阵的⽅法?各有什么优点?答:(1)以直接列出元素的形式输⼊;(2)通过语句和函数产⽣;(3).在m⽂件中创建矩阵;(4)从外部的数据⽂件中装⼊。

6. 命令⽂件与函数⽂件的主要区别是什么?答:命令⽂件: M⽂件中最简单的⼀种,不需输出输⼊参数,⽤M ⽂件可以控制⼯作空间的所有数据。

运⾏过程中产⽣的变量都是全局变量。

运⾏⼀个命令⽂件等价于从命令窗⼝中顺序运⾏⽂件⾥的命令,程序不需要预先定义,只要依次将命令编辑在命令⽂件中即可。

函数⽂件:如果M⽂件的第⼀个可执⾏⾏以function开始,便是函数⽂件,每⼀个函数⽂件定义⼀个函数。

电气工程软件训练(三)——Matlab 作业

电气工程软件训练(三)——Matlab 作业

D1(江苏大学《电气工程软件训练三》课程设计报告设计题目:MATLAB专业班级:J电气1401学生姓名:唐鹏学生学号:4141127007指导老师:完成日期:江苏大学京江学院一MATLAB课程设计的目的和要求1.MATLAB软件功能简介MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。

它是一种科学计算软件,专门以矩阵的形式处理数据。

MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。

MATLAB 软件包括五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。

其中,符号运算功能的实现是通过请求MAPLE内核计算并将结果返回到MATLAB命令窗口。

该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强。

目前,Mathworks公司已推出30多个应用工具箱。

MATLAB在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、次那好和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。

2.MATLAB课程设计的目的本次课程设计主要是为了使学生了解MATLAB软件的基本知识,熟悉MATLAB的上机环境,掌握MATLAB数值运算、程序设计、二维/三维绘图、符号运算、Simulink仿真等相关知识,并初步具备将一般数学问题转化为对应的计算机进行处理的能力,以便为今后进一步的学习打下坚定基础。

二MATLAB课程内容1 MATLAB语言基础实验目的:基本掌握MATLAB 向量、矩阵、数组的生成及其基本运算(区分数组运算和矩阵运算)、常用的数学函数。

MATLAB实验指导书(DOC)

MATLAB实验指导书(DOC)

MATLAB实验指导书(DOC)MATLAB实验指导书前⾔MATLAB程序设计语⾔是⼀种⾼性能的、⽤于科学和技术计算的计算机语⾔。

它是⼀种集数学计算、分析、可视化、算法开发与发布等于⼀体的软件平台。

⾃1984年MathWorks公司推出以来,MATLAB以惊⼈的速度应⽤于⾃动化、汽车、电⼦、仪器仪表和通讯等领域与⾏业。

MATLAB有助于我们快速⾼效地解决问题。

MATLAB相关实验课程的学习能加强学⽣对MATLAB程序设计语⾔理解及动⼿能⼒的训练,以便深⼊掌握和领会MATLAB应⽤技术。

⽬录基础型实验............................................................................................ - 1 - 实验⼀MATLAB集成环境使⽤与基本操作命令练习............. - 1 - 实验⼆MATLAB中的数值计算与程序设计 ............................. - 7 - 实验三MATLAB图形系统......................................................... - 9 -基础型实验实验⼀ MATLAB 集成环境使⽤与基本操作命令练习⼀实验⽬的熟悉MATLAB 语⾔编程环境;熟悉MATLAB 语⾔命令⼆实验仪器和设备装有MATLAB7.0以上计算机⼀台三实验原理MATLAB 是以复杂矩阵作为基本编程单元的⼀种程序设计语⾔。

它提供了各种矩阵的运算与操作,并有较强的绘图功能。

1.1基本规则1.1.1 ⼀般MATLAB 命令格式为[输出参数1,输出参数2,……]=(命令名)(输⼊参数1,输⼊参数2,……)输出参数⽤⽅括号,输⼊参数⽤圆括号如果输出参数只有⼀个可不使⽤括号。

1.1.2 %后⾯的任意内容都将被忽略,⽽不作为命令执⾏,⼀般⽤于为代码加注释。

matlab常见错误以及解决办法

matlab常见错误以及解决办法

matlab常见错误以及解决办法1.Subscript indices must either be real positive integers or logicals 中文解释:下标索引必须是正整数类型或者逻辑类型出错原因:在访问矩阵(包括向量、二维矩阵、多维数组,下同)的过程中,下标索引要么从0 开始,要么出现了负数。

注:matlab 的语法规定矩阵的索引从1 开始,这与C 等编程语言的习惯不一样。

解决办法:自己调试一下程序,把下标为0 或者负数的地方修正。

2.2.Undefined function or variable "U" 中文解释:函数或变量U 没有定义 .出错原因及解决办法:可能变量名输入错误,仔细检查 33..Matrix dimensions must agree 中文解释:矩阵的维数必须一致出错原因:这是由于运算符(= + - / * 等)两边的运算对象维数不匹配造成的,典型的出错原因是错用了矩阵运算符。

matlab 通过“.”来区分矩阵运算和元素运算。

解决办法:自己调试一下程序,保证运算符两边的运算对象维数一致。

4.4.Function definitions are not permitted at the prompt or in scripts 中文解释:不能在命令窗口或者脚本文件中定义函数出错原因:一旦在命令窗口写function c = myPlus(a,b),此错误就会出现,因为函数只能定义在m 文件中。

关于脚本文件和m 文件的区别请查阅matlab 基础书。

简言之: 1) 如果你写成function 的形式,那么必须写在m 文件中,且以function 开头(即function 语句前不能包含其他语句,所有语句必须放在function 中,当然,function 的定义可以有多个,各function 之间是并列关系,不能嵌套);2) 如果你写成脚本的形式,则既可以写在命令窗口中,也可以写在m 文件中,但两者均不能包含function 语句(即不能进行函数的定义)解决办法:新建一个m 文件,然后再进行函数的定义5. 5.One or more output arguments not assigned during call to '...' 中文解释:在调用...函数过程中,一个或多个输出变量没有被赋值出错原因:函数如果带有输出变量,则每个输出在返回的时候都必须被赋值。

MATLAB中常见问题解决方案大全

MATLAB中常见问题解决方案大全

MATLAB中常见问题解决方案大全引言:MATLAB是一种功能强大的数学计算软件,广泛应用于科学研究、工程设计和数据分析等领域。

然而,在使用MATLAB的过程中,我们经常会遇到一些问题和困惑。

本文将总结一些常见的MATLAB问题,并提供相应的解决方案,帮助读者更好地理解和应用这个工具。

一、MATLAB的安装问题解决方案1. 问题描述:安装MATLAB时遇到许可证问题。

解决方案:首先,确保已经获取到了有效的许可证文件。

然后,运行安装程序并按照提示进行操作。

若仍出现问题,可以尝试禁用防火墙、关闭杀毒软件,并以管理员身份运行安装程序。

2. 问题描述:安装过程中出现错误代码。

解决方案:错误代码通常会提供问题的具体描述,可通过MATLAB官方网站或谷歌搜索相关错误代码进行查找。

MATLAB官方网站提供了相应的解决方案和技术支持。

二、MATLAB的基础问题解决方案1. 问题描述:如何导入和保存数据?解决方案:可以使用`load`函数导入数据,使用`save`函数保存数据。

另外,MATLAB还支持其他格式的数据导入和导出,如`csvread`和`csvwrite`用于CSV格式,`xlsread`和`xlswrite`用于Excel格式等。

2. 问题描述:如何修改MATLAB的默认设置?解决方案:可以通过修改MATLAB的配置文件来实现。

通过运行命令`edit('matlabrc.m')`可以打开该文件,并根据需要修改默认设置。

三、MATLAB的数据处理问题解决方案1. 问题描述:如何处理丢失数据?解决方案:可以使用MATLAB提供的插值函数来处理丢失数据,如`interp1`和`interp2`等。

这些函数可以根据已有数据的趋势,推断出丢失数据的可能取值,从而填补空缺。

2. 问题描述:如何处理异常值?解决方案:可以使用MATLAB中的统计函数来处理异常值,如`mean`和`median`等。

matlab课程设计大作业

matlab课程设计大作业

matlab课程设计大作业一、教学目标本课程的教学目标是使学生掌握MATLAB基本语法、编程技巧以及MATLAB 在工程计算和数据分析中的应用。

通过本课程的学习,学生将能够熟练使用MATLAB进行简单数学计算、线性方程组求解、函数图像绘制等。

1.掌握MATLAB基本语法和编程结构。

2.了解MATLAB在工程计算和数据分析中的应用。

3.熟悉MATLAB的函数库和工具箱。

4.能够使用MATLAB进行简单数学计算。

5.能够使用MATLAB求解线性方程组。

6.能够使用MATLAB绘制函数图像。

7.能够利用MATLAB进行数据分析和处理。

情感态度价值观目标:1.培养学生对计算机辅助设计的兴趣和认识。

2.培养学生团队合作和自主学习的能力。

二、教学内容本课程的教学内容主要包括MATLAB基本语法、编程技巧以及MATLAB在工程计算和数据分析中的应用。

1.MATLAB基本语法:介绍MATLAB的工作环境、基本数据类型、运算符、编程结构等。

2.MATLAB编程技巧:讲解MATLAB的函数调用、脚本编写、函数文件编写等编程技巧。

3.MATLAB在工程计算中的应用:介绍MATLAB在数值计算、线性方程组求解、图像处理等方面的应用。

4.MATLAB在数据分析中的应用:讲解MATLAB在数据采集、数据分析、数据可视化等方面的应用。

三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合的方式进行教学。

1.讲授法:通过讲解MATLAB的基本语法、编程技巧以及应用案例,使学生掌握MATLAB的基本知识和技能。

2.案例分析法:通过分析实际工程案例,使学生了解MATLAB在工程计算和数据分析中的应用。

3.实验法:安排上机实验,使学生在实际操作中巩固所学知识,提高实际编程能力。

四、教学资源本课程的教学资源包括教材、实验设备、多媒体资料等。

1.教材:选用《MATLAB教程》作为主要教材,辅助以相关参考书籍。

2.实验设备:为学生提供计算机实验室,配备有MATLAB软件的计算机。

matlab综合大作业(附详细答案)

matlab综合大作业(附详细答案)

m a t l a b综合大作业(附详细答案)-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII《MATLAB语言及应用》期末大作业报告1.数组的创建和访问(20分,每小题2分):1)利用randn函数生成均值为1,方差为4的5*5矩阵A;实验程序:A=1+sqrt(4)*randn(5)实验结果:A =0.1349 3.3818 0.6266 1.2279 1.5888-2.3312 3.3783 2.4516 3.1335 -1.67241.2507 0.9247 -0.1766 1.11862.42861.5754 1.6546 5.3664 0.8087 4.2471-1.2929 1.3493 0.7272 -0.6647 -0.38362)将矩阵A按列拉长得到矩阵B;实验程序:B=A(:)实验结果:B =0.1349-2.33121.25071.5754-1.29293.38183.37830.92471.65461.34930.62662.4516-0.17665.36640.72721.22793.13351.11860.8087-0.66471.5888-1.67242.42864.2471-0.38363)提取矩阵A的第2行、第3行、第2列和第4列元素组成2*2的矩阵C;实验程序:C=[A(2,2),A(2,4);A(3,2),A(3,4)]实验结果:C =3.3783 3.13350.9247 1.11864)寻找矩阵A中大于0的元素;]实验程序:G=A(find(A>0))实验结果:G =0.13491.25071.57543.38183.37830.92471.65461.34930.62662.45165.36640.72721.22793.13351.11860.80871.58882.42864.24715)求矩阵A的转置矩阵D;实验程序:D=A'实验结果:D =0.1349 -2.3312 1.2507 1.5754 -1.29293.3818 3.3783 0.9247 1.6546 1.34930.6266 2.4516 -0.1766 5.3664 0.72721.2279 3.1335 1.1186 0.8087 -0.66471.5888 -1.67242.4286 4.2471 -0.38366)对矩阵A进行上下对称交换后进行左右对称交换得到矩阵E;实验程序:E=flipud(fliplr(A))实验结果:E =-0.3836 -0.6647 0.7272 1.3493 -1.29294.2471 0.80875.3664 1.6546 1.57542.4286 1.1186 -0.1766 0.9247 1.2507-1.6724 3.1335 2.4516 3.3783 -2.33121.5888 1.2279 0.6266 3.3818 0.13497)删除矩阵A的第2列和第4列得到矩阵F;实验程序:F=A;F(:,[2,4])=[]实验结果:F =0.1349 0.6266 1.5888-2.3312 2.4516 -1.67241.2507 -0.17662.42861.5754 5.3664 4.2471-1.2929 0.7272 -0.38368)求矩阵A的特征值和特征向量;实验程序:[Av,Ad]=eig(A)实验结果:特征向量Av =-0.4777 0.1090 + 0.3829i 0.1090 - 0.3829i -0.7900 -0.2579 -0.5651 -0.5944 -0.5944 -0.3439 -0.1272-0.2862 0.2779 + 0.0196i 0.2779 - 0.0196i -0.0612 -0.5682 -0.6087 0.5042 - 0.2283i 0.5042 + 0.2283i 0.0343 0.6786 0.0080 -0.1028 + 0.3059i -0.1028 - 0.3059i 0.5026 0.3660 特征值Ad =6.0481 0 0 0 00 -0.2877 + 3.4850i 0 0 00 0 -0.2877 - 3.4850i 0 00 0 0 0.5915 00 0 0 0 -2.30249)求矩阵A的每一列的和值;实验程序:lieSUM=sum(A)实验结果:lieSUM =-0.6632 10.6888 8.9951 5.6240 6.208710)求矩阵A的每一列的平均值;实验程序:average=mean(A)实验结果:average =-0.1326 2.1378 1.7990 1.1248 1.24172.符号计算(10分,每小题5分):1)求方程组20,0++=++=关于,y z的解;uy vz w y z w实验程序:S = solve('u*y^2 + v*z+w=0', 'y+z+w=0','y,z');y= S. y, z=S. z实验结果:y =[ -1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))-w] [ -1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))-w] z =[ 1/2/u*(-2*u*w-v+(4*u*w*v+v^2-4*u*w)^(1/2))] [ 1/2/u*(-2*u*w-v-(4*u*w*v+v^2-4*u*w)^(1/2))]2)利用dsolve 求解偏微分方程,dx dyy x dt dt==-的解; 实验程序:[x,y]=dsolve('Dx=y','Dy=-x')实验结果:x =-C1*cos(t)+C2*sin(t)y = C1*sin(t)+C2*cos(t)3.数据和函数的可视化(20分,每小题5分):1)二维图形绘制:绘制方程2222125x y a a +=-表示的一组椭圆,其中0.5:0.5:4.5a =;实验程序:t=0:0.01*pi:2*pi; for a=0.5:0.5:4.5; x=a*cos(t); y=sqrt(25-a^2)*sin(t); plot(x,y) hold on end实验结果:2) 利用plotyy 指令在同一张图上绘制sin y x =和10x y =在[0,4]x ∈上的曲线;实验程序:x=0:0.1:4; y1=sin(x); y2=10.^x;[ax,h1,h2]=plotyy(x,y1,x,y2); set(h1,'LineStyle','.','color','r'); set(h2,'LineStyle','-','color','g'); legend([h1,h2],{'y=sinx';'y=10^x'});实验结果:3)用曲面图表示函数22z x y =+;实验程序:x=-3:0.1:3; y=-3:0.1:3; [X,Y]=meshgrid(x,y); Z=X.^2+Y.^2; surf(X,Y,Z)实验结果:4)用stem 函数绘制对函数cos 4y t π=的采样序列;实验程序:t=-8:0.1:8;y=cos(pi.*t/4); stem(y)实验结果:4. 设采样频率为Fs = 1000 Hz ,已知原始信号为)150π2sin(2)80π2sin(t t x ⨯+⨯=,由于某一原因,原始信号被白噪声污染,实际获得的信号为))((ˆt size randn x x+=,要求设计出一个FIR 滤波器恢复出原始信号。

MATLAB作业4参考答案

MATLAB作业4参考答案

MATLAB作业4参考答案MATLAB作业四参考答案2yt,,sin(103)1、用在(0,3)区间内生成一组较稀疏的数据,并用一维数据插值的方法对给出的数据进行曲线拟合,并将结果与理论曲线相比较。

【求解】类似于上面的例子~可以用几乎一致的语句得出样本数据和插值效果。

>> t=0:0.2:3;y=sin(10*t.^2+3); plot(t,y,'o')ezplot('sin(10*t^2+3)',[0,3]); hold on x1=0:0.001:3;y1=interp1(t,y,x1,'spline'); plot(x1,y1)由于曲线本身变换太大~所以在目前选定的样本点下是不可能得出理想插值效果的~因为样本数据提供的信息量不够。

为了得到好的插值效果~必须增大样本数据的信息量~对本例来说~必须在快变化区域减小样本点的步长。

>> hold offt=[0:0.1:1,1.1:0.04:3]; y=sin(10*t.^2+3); plot(t,y,'o')ezplot('sin(10*t^2+3)',[0,3]); hold on x1=0:0.001:3;y1=interp1(t,y,x1,'spline'); plot(x1,y1)241,,xy22fxyexyxy,,(,)sin()2、用原型函数生成一组网络数据或随机数据,分别拟合出曲3xy,3面,并和原曲面进行比较。

【求解】由下面的语句可以直接生成一组网格数据~用下面语句还可以还绘制出给定样本点是三维表面图。

>> [x,y]=meshgrid(0.2:0.2:2);z=exp(-x.^2-y.^4).*sin(x.*y.^2+x.^2.*y)./(3*x.^3+y); surf(x,y,z) 选择新的密集网格~则可以通过二元插值得出插值曲面。

matlab作图中图例、字体、符号的尺寸和比例修改

matlab作图中图例、字体、符号的尺寸和比例修改

修改Matlab作图中的字体、图例及曲线上符号格式的方法用Matlab画图时,图中字体、图例及曲线上的小符号的格式都是软件默认的格式,有时为了自己论文的要求需要对以上格式进行修改,有一种不需要编写程序,就能实现该目的的方法。

(1)在生成的图中,右击图例,选择”show property editor”,就会出现类似于下图的窗口:
(2)点击上图右上角的向上小箭头,窗口又变为下图,这样图形不再是真。

(3)横纵坐标的名称及图例中的文字说明都可以更改格式,只需右击,选择Front,就可以对字体、字形、大小进行修改。

右击图例选择color, edge color, line width等可分别做相应修改。

右击曲线选择marksize可以对曲线中小符号的大小进行修改。

(4)还可以通过鼠标拖动或压缩改变主图和图例位置和尺寸。

等最后所有需要的修改都完成后,就可以点击Edit—Copy Figure将图形完整地复制出来。

MATLAB的基本使用方法

MATLAB的基本使用方法

MATLAB的基本使用方法一、MATLAB基础1.启动和退出MATLAB若要启动MATLAB,双击桌面上的MATLAB图标或通过命令行输入"matlab"。

若要退出MATLAB,可以在命令窗口中输入"quit"或直接关闭窗口。

2.MATLAB界面3.基本操作在命令窗口中,可以执行各种MATLAB命令和表达式。

例如,可以进行简单的数学计算:>>2+3>> sqrt(16)也可以定义变量:>>x=5;>>y=x+3;>>y84.矩阵和向量可以使用中括号创建矩阵和向量:>>A=[123;456;789];>>B=[123];>>C=[1;2;3];可以通过A(row, col)的方式访问矩阵元素:>>A(2,3)6可以进行矩阵运算:>>A+2>>A*B>> inv(A)5.图形绘制使用plot函数,可以绘制曲线图:>> x = linspace(0, 2*pi, 100);>> y = sin(x);>> plot(x, y);可以通过给plot函数传递额外参数来设置图形属性,如线型、颜色和标记等:>> plot(x, y, 'r--o');>> xlabel('x');>> ylabel('y');>> title('Sine Curve');6.控制流程可以使用if-else语句进行条件判断:>>x=5;>> if x > 0>> disp('x is positive');>> else>> disp('x is negative');>> end可以使用for循环语句进行迭代操作:>> for i = 1:10>> disp(i);>> end7.函数和脚本可以在MATLAB中编写和调用函数。

MATLAB作业2参考答案(2018年)

MATLAB作业2参考答案(2018年)

MA TLAB 作业二参考答案1、试求下面线性代数方程的解析解与数值解,并检验解的正确性。

2932114010110503848246303356684953X -----⎡⎤⎡⎤⎢⎥⎢⎥----⎢⎥⎢⎥=⎢⎥⎢⎥---⎢⎥⎢⎥------⎣⎦⎣⎦【求解】求出A , [A;B ] 两个矩阵的秩,可见二者相同,所以方程不是矛盾方程,应该有无穷多解。

>> A=[2,-9,3,-2,-1; 10,-1,10,5,0; 8,-2,-4,-6,3; -5,-6,-6,-8,-4]; B=[-1,-4,0; -3,-8,-4; 0,3,3; 9,-5,3]; [rank(A), rank([A B])] ans =4 4用下面的语句可以求出方程的解析解,并可以验证该解没有误差。

>> x0=null(sym(A));x_analytical=sym(A)\B; syms a; x=a*[x0 x0 x0]+x_analyticalx =[ a+967/1535, a-943/1535, a-159/1535][ -1535/1524*a, -1535/1524*a, -1535/1524*a][ -3659/1524*a-1807/1535,-3659/1524*a-257/1535,-3659/1524*a-141/1535] [ 1321/508*a+759/1535, 1321/508*a-56/1535, 1321/508*a-628/1535] [ -170/127*a-694/307, -170/127*a+719/307, -170/127*a+103/307] >> A*x-B ans = [ 0, 0, 0][ 0, 0, 0] [ 0, 0, 0] [ 0, 0, 0]用数值解方法也可以求出方程的解,但会存在误差,且与任意常数a 的值有关。

>> x0=null(A); x_numerical=A\B; syms a; x=a*[x0 x0 x0]+x_numerical; vpa(x,10)ans =[ .2474402553*a+.1396556436, .2474402553*a-.6840666849, .2474402553*a-.1418420333][-.2492262414*a+.4938507789,-.2492262414*a+.7023776988e-1,-.2492262414*a+.3853511888e-1][ -.5940839201*a, -.5940839201*a, -.5940839201*a][ .6434420813*a-.7805411315, .6434420813*a-.2178190763,.6434420813*a-.5086089095][-.3312192394*a-1.604263460, -.3312192394*a+2.435364854, -.3312192394*a+.3867176824] >> A*x-B[ 1/18014398509481984*a, 1/18014398509481984*a, 1/18014398509481984*a] [ -5/4503599627370496*a, -5/4503599627370496*a, -5/4503599627370496*a][ -25/18014398509481984*a, -25/18014398509481984*a, -25/18014398509481984*a] [ 13/18014398509481984*a, 13/18014398509481984*a, 13/18014398509481984*a]2、求解下面的联立方程,并检验得出的高精度数值解(准解析解)的精度。

matlab大作业

matlab大作业

安阳工学院专业课课程大作业课程名称(中文) MATLAB编程应用成绩姓名李健班级 10通信工程学号 201002030013日期 2010年12月22日关于matlab图形绘制的应用摘要:图形处理系统使得MA TLAB能方便的图形化显示向量和矩阵,而且能对图形添加标注和打印。

它包括强大的二维三维图形函数、图像处理和动画显示等函数。

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

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

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

关键词:mat lab 图形绘制编程应用二维三维一、设计目的(1)了解MATLAB平面绘图的命令,如MATLAB常用的二维及三维绘图命令。

(2)了解MATLAB立体图形的绘制,其中包括常用的立体绘图函数的理解。

(3)熟练掌握MATLAB软件,编写计算平均值和标准差公式,编译程序运行是否有错误并改正。

(4)掌握使用软件MATLAB 用数学方法生成符合要求的图形,会用数学方法对图形图像作需要的处理。

二、设计要求(1) 应能独立操作,独立使用软件MATLAB 及编写程序及操作;(2) 每次课后在课外对教师提出的问题的解决程序或者命令在第二次上课前准备好;(3) 综合实验项目涉及到的数学知识必须在教师指导下在课外作好复习。

三、Matlab介绍及功能1、matlab的简介Matlab的图形绘制和数值计算的功能是很强大,熟练的掌握可以为我们解决很多的实际问题。

它和c语言、java语言等一样也是一门独立存在的语言,它强大而智能化的作图功能更好的解决了这方面的问题。

下面通过几个具体的实例应用来说这一点。

2、MA TLAB的绘图功能:(1)二维绘图:A、plot——最基本的二维图形指令:1. 单窗口单曲线绘图;2. 单窗口多曲线绘图;3. 单窗口多曲线分图绘图;4. 多窗口绘图;5.可任意设置颜色与线型;6.图形加注功能;7.fplot——绘制函数图函数;8.ezplot——符号函数的简易绘图函数C、特殊二维绘图函数:bar——绘制直方图;polar——绘制极坐标图;hist——绘制统计直方图;stairs——绘制阶梯图;stem——绘制火柴杆图;rose——绘制统计扇形图;comet——绘制彗星曲线;errorbar——绘制误差棒图;compass——复数向量图(罗盘图);feather——复数向量投影图(羽毛图);quiver——向量场图;area——区域图;pie——饼图;convhull——凸壳图;scatter——离散点图。

上海电院Matlab大作业

上海电院Matlab大作业

1、编写Matlab函数命令M文件,完成下列功能,要求程序语句尽可能简洁:(1)函数输入参数为正整数n,要求3<n<10,如果输入的参数不符合3<n<10,则给出提示。

(2)生成n阶随机矩阵A;(3)生成n阶矩阵B,B的每个元素是对应位置上A矩阵元素的自然对数;(4)求矩阵B的所有对角线元素之和m。

(5)返回值为矩阵B和m。

(6)要求:进行上机编程,调试完成后将程序书写在大作业报告中、并加以注释,将调试结果截图打印粘贴在大作业报告中。

解:①根据题目要求编写一个函数文件,设函数名为heer ,则函数文件名为heer.m②因为题目要求最终的返回值为B和m,故在定义函数时可设置为 function [B,m]=heer(n)③根据要求,矩阵的阶数n是有限定范围(3<n<10)的,故可采用if语句实现④在这个大前提下,矩阵A是系统产生的,且矩阵B在A的基础上进行对数运算,可以直接用赋值语句实现:A=rand(n,n)B=log(A)⑤因为题目还要求矩阵B的所有对角线上的元素和,考虑到对角线上元素为B[i,i], 即元素下标相等,则可以用for 循环语句实现:for i=1:1:nsum=sum+B(i,i);end这样,整个M文件的内容就确定下来,只需在软件中先编写好该文件,再保存,即可在命令窗口直接调用该文件。

下面为M文件的截图如下图所示,设置n=2,则系统显示错误信息如下图所示,设置n=7.,程序运行结果如下2、一个50Hz的简单电力系统如下图所示,试在Simulink中建立仿真模型研究该系统性能。

k1GTLD2LLD1系统建模要求如下:(1) 发电机G 采用“Synchronous Machine pu Fundamental ”模型,变压器T 采用“Three-Phase Transformer (Two Windings)”模型,输电线路L 采用“Three-Phase Series RLC Branch ”模型,负荷LD1、LD2采用“Three-Phase Parelell RLC Load ”模型。

MATLAB大作业

MATLAB大作业

M A T L A B大作业(总15页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--MATLAB大作业作业要求:(1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。

(2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。

打印稿不要求MATLAB程序,但电子稿要包含MATLAB程序。

(3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。

不要抄袭复制,可以参考网上、文献资料的内容,但要理解,要变成自己的语言,按自己的思路组织内容。

(4)从给出的问题中至少选择一题(多做不限,但必须独立完成,严禁抄袭)。

(5)大作业占过程考核的20%,从完成情况、工作量、作业文档方面评分。

第一类:绘制图形。

(B级)问题一:斐波那契(Fibonacci)螺旋线,也称黄金螺旋线(Golden spiral),是根据斐波那契数列画出来的螺旋曲线,自然界中存在许多斐波那契螺旋线的图案,是自然界最完美的经典黄金比例。

斐波那契螺旋线,以斐波那契数为边的正方形拼成的长方形,然后在正方形里面画一个90度的扇形,连起来的弧线就是斐波那契螺旋线,如图所示。

问题二:绘制谢尔宾斯基三角形(Sierpinskitriangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集。

其生成过程为:取一个实心的三角形(通常使用等边三角形),沿三边中点的连线,将它分成四个小三角形,然后去掉中间的那一个小三角形。

接下来对其余三个小三角形重复上述操作,如图所示。

问题三:其他分形曲线或图形。

分形曲线还有很多,教材介绍了科赫曲线,其他还有皮亚诺曲线、分形树、康托(G. Cantor)三分集、Julia集、曼德布罗集合(Mandelbrot set),等等。

(完整)Matlab图形的编辑(含绘图修改的奥义

(完整)Matlab图形的编辑(含绘图修改的奥义

1matlab 画图中线型,颜色及字体的设置 (3)1。

1.................................................. plot格式31.2图形尺寸和字体的设置:方法:Flie—Export Setup,进入如下界面:4 2matlab作图标注 (5)2.1坐标轴的标题:title函数, (5)2。

2坐标轴的说明:xlabel和ylabel函数, (5)2。

3图形说明文字:text和gtext函数 (6)2。

4在图形中添加图例框:legend函数。

其调用格式为:62.5用鼠标点选屏幕上的点: (6)2。

6使用多个x轴和y轴 (8)2。

7..................................... axis对坐标轴的控制93绘图设置 (10)3.1网格设置: (10)3.2曲线设置 (10)3.3在单线图上绘制多重线:有三种办法. (11)4一些特殊函数的绘图方法 (11)5其他一些绘图技巧 (17)5.1图像不显示 (17)5.2Legend设置 (17)5.3Matlab如何在一个figure中添加多个data cursor 185。

4.............................. m atlab可不可以建文件夹?185.5如果程序不小心进入死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来中断。

(18)5。

6.............................. f igure命令建一个绘图窗口185。

7注释掉一段程序: (19)5.8doc 命令名,打开命令的帮助文档 (19)5。

9.......................... box on %打开图框195。

10................................................ close all 195。

11.................................................. T ab补全195.12cell模式 (19)5.13获取文件列表,批处理 (20)5。

MATLAB作业1_2016_

MATLAB作业1_2016_

MATLAB 作业1
1 、试用符号元素工具箱支持的方式表达多项式5432()34236f x x x x x x =+++++,并令11
s x s -=+,将f(x) 替换成s 的函数。

2、用数值方法可以求出63626302
124822i i S ===++++++∑ ,试不采用循环的形式求出
和式的数值解。

由于数值方法采用double 形式进行计算的,难以保证有效位数字,所以结果不一定精确。

试采用符号运算的方法求该和式的精确值。

3、编写一个矩阵相加函数mat_add() ,使其具体的调用格式为A=mat_add(A1 ,A2 ,A3 ,…) ,要求该函数能接受任意多个矩阵进行加法运算。

(注:varargin 变量的应用)
4、下面给出了一个迭代模型
2111 1.40.3k k k k k
x y x y x ++⎧=+-⎨=⎩ 写出求解该模型的M-函数(M-脚本文件),如果取迭代初值为000,0x y == ,那么请进行30000 次迭代求出一组x 和y 向量,然后在所有的k x 和k y 坐标处点亮一个点( 注意不要连线) ,最后绘制出所需的图形。

(提示这样绘制出的图形又称为Henon 引力线图,它将迭代出来的随机点吸引到一起,最后得出貌似连贯的引力线图。


5、对合适的θ范围选取分别绘制出下列极坐标图形(注:要求把图形窗口分为4块,每块绘一个图)
①21.0013ρθ=,②cos(7/2)ρθ=,③sin()/ρθθ=,④31cos (7)ρθ=-
6、请分别绘制出xy 和sin()xy 的三维图和等高线。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab编程大作业院(系)机械工程学院专业机械工程及自动化班级学生姓名提交日期 2009 年 9 月 30 日MATLAB综合作业1、利用函数文件,实现直角坐标(x,y)与极坐标(ρ,θ)之间的转换。

(10分)function [rou,cita]=f1(x,y)x=input('Input zhijiao x:')y=input('Input zhijiao y:')rou=sqrt(x^2+y^2) %转换后的ρcita=atan(x/y)*180/pi %转换后的θ(角度制)在命令窗口输入f1即可。

2、用筛选法求某自然数范围内的全部素数。

(10分)cleardisp(2) %已知2是素数,直接输出for i=1:2:100for k=2:(i-1)if rem(i,k)==0break;endif k>=i-1disp(i)endendend以脚本文件f2存储,所以在命令窗口输入f2即可。

3、设22=+,对z函数在(0,1)×(0,2)区域内(0.5,0.4),(0.6,0.4),(0.5,0.5)和(0.6,0.5)点处进z x y行插值。

(10分)x=0:0.1:1;y=[0:0.15:2]';z=[0,0.01,0.04,0.09,0.16,0.25,0.36,0.49,0.64,0.81,1;0.0225,0.0325,0.0625,0.1125,0.1825,0.2725,0.3825,0.5125,0.6625,0.8325,1.0225;0.09,0.10,0.13,0.18,0.25,0.34,0.45,0.58,0.73,0.90,1.09;0.2025,0.2125,0.2425,0.2925,0.3625,0.4525,0.5625,0.6925,0.8425,1.0125,1.2025;0.36,0.37,0.40,0.45,0.52,0.61,0.72,0.85,1.00,1.17,1.36;0.5625,0.5725,0.6025,0.6525,0.7225,0.8125,0.9225,1.0525,1.2025,1.3725,1.5625;0.81,0.82,0.85,0.90,0.97,1.06,1.17,1.30,1.45,1.62,1.81;1.1025,1.1125,1.1425,1.1925,1.2625,1.3525,1.4625,1.5925,1.7425,1.9125,2.1025;1.44,1.45,1.48,1.53,1.60,1.69,1.80,1.93,2.08,2.25,2.44;1.8225,1.8325,1.8625,1.9125,1.9825,2.0725,2.1825,2.3125,2.4625,2.6325,2.8225; 2.25,2.26,2.29,2.34,2.41,2.50,2.61,2.74,2.89,3.06,3.25;2.7225,2.7325,2.7625,2.8125,2.8825,2.9725,3.0825, 3.2125,3.3625,3.5325,3.7225; 3.24,3.25,3.28,3.33,3.40,3.49,3.60,3.73,3.88,4.05,4.24;3.8025,3.8125,3.8425,3.8925,3.9625,4.0525,4.1625,4.2925,4.4425,4.6125,4.8025]; x1=0.5:0.1:0.6; y1=[0.4:0.1:0.5]'; z1=interp2(x,y,z,x1,y1) mesh(x,y,z) %绘图 z1 =0.4150 0.52500.5050 0.6150该程序也以脚本文件f3存储,运行时在命令窗口输入f3即可。

4、编写一个 M 文件,画出下列分段函数所表示的曲面。

(10分)2222220.75 3.75 1.560.75 3.75 1.50.54 1(,)0.7575 110.5457 1x y y x y x y y e x y p x y e x y e x y -------+⎧+>⎪⎪=-<+≤⎨⎪+≤-⎪⎩x=-3:0.05:3;y=-3:0.05:3;[X,Y]=meshgrid(x,y);Z1=0.54*exp(-0.75*X.^2-3.75*Y .^2-Y .*1.5); mesh(X,Y ,Z1); i=find(X+Y<=1); z1=Z1,z1(i)=NaN;Z2=0.7575*exp(-X.^2-6*Y .^2); mesh(X,Y ,Z2);j=find(X+Y>1|X+Y<=-1); z2=Z2,z2(j)=NaN;Z3=0.5457*exp(-0.75*X.^2-3.75*Y .^2+Y .*1.5); mesh(X,Y ,Z3); k=find(X+Y>-1); z3=Z3,z3(k)=NaN; mesh(X,Y ,z1); hold onmesh(X,Y ,z2); hold on;mesh(X,Y ,z3)该程序保存在f4.m 中。

5、已知一个多项式3x5+4x3-5x2-7.2x+5,计算:(10分)(1)计算f(x)=0 的全部根。

(2)由方程f(x)=0的根构造一个多项式g(x),并与f(x)进行对比。

(3)计算f(5)、f(7.8)、f(9.6)、f(12.3)的值。

P=[3,0,4,-5,-7.2,5]; %输入系数X=roots(P) %求根G=poly(X) %构造多项式g(x)A=[5,7.8,9.6,12.3]A1=polyval(P,A) %计算多项式的值X =-0.3046 + 1.6217i-0.3046 - 1.6217i-1.00661.01900.5967G =1.0000 0.0000 1.3333 -1.6667 -2.4000 1.6667A1 =1.0e+005 *0.0972 0.8816 2.4763 8.5120该程序存储在脚本文件f5中,在命令窗口运行f5即可。

6、对矩阵A=[1,-8,5;4,12,6;13,7,-13] 做如下排序。

(10分)(1) 对A的每列按升序排序;(2) 对A的每行按降序排序。

A=[1,-8,5;4,12,6;13,7,-13];[X,I1]=sort(A,1,'ascend') %按列升序[Y,I2]=sort(A,2,'descend') %按行降序该程序保存在f6.m中。

7、轴的长度为10米,若该轴的线性密度计算公式是f(x)=6+0.3x千克/米(其中x为距轴的端点距离),求轴的质量。

(10分)x=0:0.01:10;y=6+0.3*x;I1=trapz(x,y) % 用trapz函数计算定积分function f=fx7(x)f=6+0.3*x %建立被积函数文件fx.m[I2,n]=quad8('fx7',0,10) %牛顿-柯特斯法函数文件保存在fx7.m 文件中,运行程序保存在f7.m 中,在命令窗口输入f7.m 即可显示两种算法的计算结果。

8、分别用数值计算和符号计算方法求解如下微分方程,并将两种结果绘制曲线进行比较。

(10分) 符号计算方法:y=dsolve('Dy+2*y/x-4*x=0','y(1)=2','x') ezplot('(x^4+1)/x^2',[-3,3]),grid y =(x^4+1)/x^2该段程序保存在脚本文件ffh8.m 中 数值计算方法: %M-Filefunction Y1=fx8(x,Y)Y1=4*x-2*Y/x; %M 文件保存在fx8.m 中 [x,Y]=ode23(@fx8,[1,3],[2]),size(x) %列出x 被离散分成的节点数 ode23(@fx8,[1,3],[2]),grid该段程序保存在脚本文件fsz8.m 中9、下表是美国人口统计数据,根据这份资料预测2000年美国人口总数。

(10分)t=1790:10:1980;p=[3.9,5.3,7.2,9.6,12.9,17.1,23.2,31.4,38.6,50.2,62.9,76,92,106.5,123.2,131.7,150.7,179.3,204.0,226.5] %读取数据 plot(t,p,'o');axis([1790 2010 0 300]); title('Population of the U.S.1790-1980');ylabel('Millions'); %根据数据绘制图形f1=polyfit(t,p,3);f2=polyfit(t,p,4); %对数据t,p 做3,4阶多项式拟合,结果分别为f1和f2v=[polyval(f1,1990),polyval(f2,1990)]; %计算当t=1990时多项式f1和f2的值abs(v-251.4) %计算两个模型与1990年人口数的绝对误差 V1=polyval(f1,2000) %通过返回结果确定3阶多项式与结果较近 该程序存储在脚本文件f9中,在命令窗口输入f9即可,计算结果为V1 =278.3216。

10、右图给出了某城市部分单行街道的交通流量(每小时通过的车辆数),试计算图中单行2'40(1)2y y x x y ⎧+-=⎪⎨⎪=⎩街道未知的交通流量。

(10分)A=[0,1,-1,1,0,0,0,0,0,0;0,0,0,1,1,0,0,0,0,0;0,0,0,0,0,-1,1,0,0,0;1,1,0,0,0,0,0,0,0,0;1,0,0,0,1,0,0,0,0,0;0,0,0,0,0,0,1,1,0,0;0,0,0,0,0,0,0,0,1,0;0,0,0,0,0,0,0,0,1,-1;0,0,0,0,0,0,0,0,0,1];B=[300;500;200;800;800;1000;400;-200;600];x=A\B Warning: Rank deficient, rank = 8, tol = 3.1402e-015.x =1.0e+003 *0.8000-0.00000.20000.50000.80001.00000.40000.6000程序保存在f10文件中。

相关文档
最新文档