MATLAB平时作业
- 格式:doc
- 大小:732.50 KB
- 文档页数:19
matlab校正课程设计一、课程目标知识目标:1. 学生能理解Matlab在校正技术中的应用,掌握基本的图像校正原理和方法;2. 学生能运用Matlab软件进行图像的几何变换、灰度变换等校正操作;3. 学生了解图像校正技术在现实生活中的应用,如摄影、遥感图像处理等。
技能目标:1. 学生能熟练使用Matlab软件进行图像校正操作,包括读取、显示、保存图像等基本操作;2. 学生能运用所学知识解决实际问题,如对图像进行畸变校正、对比度增强等;3. 学生具备分析图像校正结果的能力,能够根据需求调整校正参数以获得满意的效果。
情感态度价值观目标:1. 学生通过学习Matlab校正课程,培养对图像处理技术的兴趣,提高学习的积极性和主动性;2. 学生在学习过程中,养成合作、探究的学习习惯,培养团队协作能力;3. 学生能够认识到图像校正技术在实际应用中的重要性,激发他们将所学知识应用于实际问题的热情。
课程性质:本课程为选修课,适用于高年级学生,要求学生具备一定的Matlab编程基础和图像处理知识。
学生特点:学生具备一定的编程能力和图像处理知识,对Matlab校正技术有一定了解,但实践经验不足。
教学要求:结合课程性质和学生特点,注重实践操作,培养学生的动手能力和解决问题的能力。
通过案例教学,使学生能够将所学知识应用于实际问题。
同时,注重培养学生的团队协作能力和创新精神。
在教学过程中,将课程目标分解为具体的学习成果,以便进行有效的教学设计和评估。
二、教学内容1. 图像校正原理- 图像几何变换:旋转、缩放、翻转等;- 图像灰度变换:线性、对数、幂次等变换。
2. Matlab图像校正操作- 图像读取、显示和保存;- 几何变换函数:imrotate、imresize等;- 灰度变换函数:imadjust、histeq等。
3. 实践案例- 摄影图像畸变校正;- 遥感图像对比度增强;- 其他实际应用场景的校正处理。
4. 教学大纲安排- 第1周:图像校正原理介绍,学习图像几何变换和灰度变换;- 第2周:Matlab图像校正操作学习,掌握相关函数的使用;- 第3周:实践案例1,学生分组进行摄影图像畸变校正;- 第4周:实践案例2,学生分组进行遥感图像对比度增强;- 第5周:课程总结与展示,学生分享学习成果。
matlb课程设计作业一、教学目标本课程的教学目标是使学生掌握MATLAB基本语法、编程技巧以及应用方法,培养学生解决实际问题的能力。
具体目标如下:1.知识目标:(1)理解MATLAB的基本概念,如变量、数据类型、运算符等。
(2)掌握MATLAB编程的基本语法,如矩阵操作、函数定义与调用、循环结构、条件语句等。
(3)熟悉MATLAB与其他软件(如Mathematica、Python等)的接口转换。
(4)了解MATLAB在工程领域中的应用,如信号处理、控制系统、图像处理等。
2.技能目标:(1)能够运用MATLAB进行简单的数学计算、数据分析及图形绘制。
(2)具备编写MATLAB脚本文件和函数文件的能力。
(3)学会使用MATLAB解决实际问题,如编写程序实现线性方程组求解、最优化问题求解等。
(4)掌握MATLAB在实验数据处理、仿真实验等方面的应用。
3.情感态度价值观目标:(1)培养学生对科学探究的兴趣,提高其创新意识。
(2)培养学生团队协作、沟通交流的能力。
(3)培养学生具备良好的编程习惯和职业道德。
二、教学内容本课程的教学内容主要包括以下几个部分:1.MATLAB基本概念:变量、数据类型、运算符等。
2.MATLAB编程语法:矩阵操作、函数定义与调用、循环结构、条件语句等。
3.MATLAB高级应用:数组运算、图像处理、控制系统、信号处理等。
4.MATLAB与其他软件的接口转换。
5.实践项目:利用MATLAB解决实际问题,如线性方程组求解、最优化问题求解等。
三、教学方法本课程采用讲授法、案例分析法、实验法等多种教学方法相结合,以提高学生的学习兴趣和主动性。
1.讲授法:用于讲解MATLAB基本概念、语法和应用。
2.案例分析法:通过分析实际案例,使学生掌握MATLAB在各个领域的应用。
3.实验法:让学生亲自动手实践,培养其运用MATLAB解决实际问题的能力。
四、教学资源1.教材:选用《MATLAB教程》作为主要教材,辅助以相关参考书籍。
matlab课程设计完整版一、教学目标本节课的教学目标是让学生掌握MATLAB的基本语法和操作,能够利用MATLAB进行简单的数学计算和数据分析。
具体来说,知识目标包括:了解MATLAB的历史和发展,掌握MATLAB的基本语法和数据类型,熟悉MATLAB的工作环境。
技能目标包括:能够使用MATLAB进行矩阵运算,编写简单的MATLAB脚本程序,进行数学计算和数据分析。
情感态度价值观目标包括:培养学生对科学计算软件的兴趣,增强学生的动手能力和团队协作能力。
二、教学内容本节课的教学内容主要包括MATLAB的基本语法和操作。
首先,介绍MATLAB的历史和发展,使学生对MATLAB有一个整体的认识。
然后,讲解MATLAB的基本语法和数据类型,如矩阵的创建和操作,数据的输入和输出等。
接着,介绍MATLAB的工作环境,包括命令窗口、变量浏览器和脚本文件等。
最后,通过实例演示和练习,使学生能够熟练使用MATLAB进行简单的数学计算和数据分析。
三、教学方法为了达到本节课的教学目标,将采用讲授法、实践法和讨论法等多种教学方法。
首先,通过讲授法向学生介绍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软件在哈夫曼编码中的应用。
首先,介绍哈夫曼编码的原理和方法,让学生了解编码的基本概念。
然后,通过讲解和示例,引导学生理解哈夫曼树的结构和性质。
最后,利用MATLAB软件,让学生动手实践构建哈夫曼树,并实现字符编码。
三、教学方法为了激发学生的学习兴趣和主动性,本节课采用多种教学方法。
首先,通过讲授法,向学生传授哈夫曼编码的基本原理和方法。
其次,利用讨论法,让学生分组讨论哈夫曼树的性质,促进学生之间的交流和合作。
再次,运用案例分析法,通过分析实际案例,让学生更好地理解哈夫曼编码的应用。
最后,采用实验法,让学生亲自动手操作MATLAB软件,构建哈夫曼树并实现字符编码。
四、教学资源为了支持教学内容和教学方法的实施,本节课准备了一系列教学资源。
教材《数据结构与算法》提供了关于哈夫曼编码的基本原理和算法的介绍。
参考书《MATLAB编程与应用》为学生提供了MATLAB软件的使用方法和实例。
多媒体资料包括PPT课件和视频教程,用于辅助讲解和演示。
实验设备包括计算机和MATLAB软件,为学生提供动手实践的机会。
这些教学资源将丰富学生的学习体验,帮助学生更好地理解和掌握哈夫曼编码技术和MATLAB软件的应用。
五、教学评估本节课的评估方式包括平时表现、作业和考试。
平时表现通过课堂参与、提问和小组讨论等方式评估。
作业包括编程练习和理论题目,以检验学生对哈夫曼编码和MATLAB应用的理解。
考试则全面考察学生对课程内容的掌握,包括理论知识和实践操作。
matlab信号处理课程设计一、课程目标知识目标:1. 学生能理解并掌握MATLAB软件在信号处理领域的基本应用;2. 学生能运用MATLAB进行常见信号的时域和频域分析;3. 学生掌握信号处理中滤波器的设计原理,并利用MATLAB实现滤波器的搭建与仿真。
技能目标:1. 学生能熟练运用MATLAB软件进行信号的读取、显示和存储;2. 学生能运用MATLAB函数对信号进行处理,如傅里叶变换、滤波等;3. 学生具备利用MATLAB解决实际信号处理问题的能力。
情感态度价值观目标:1. 学生通过课程学习,培养对信号处理技术的兴趣,激发学习热情;2. 学生在团队协作中,学会沟通、分享与互助,培养良好的团队精神;3. 学生认识到信号处理技术在工程领域的广泛应用,增强对科技创新的认识。
本课程针对高年级本科生,结合学科特点,注重理论与实践相结合。
课程性质为专业选修课,旨在帮助学生掌握MATLAB在信号处理领域的应用,提高解决实际问题的能力。
根据学生特点和教学要求,课程目标分解为具体的学习成果,以便后续教学设计和评估。
通过本课程的学习,学生将能够独立完成信号处理相关任务,并为后续研究和工作打下坚实基础。
二、教学内容1. MATLAB基础操作:介绍MATLAB软件的界面与基本操作,包括数据类型、矩阵运算、脚本编写等(对应教材第一章)。
2. 信号的表示与处理:学习信号的分类、表示方法,以及MATLAB中信号处理相关函数的使用(对应教材第二章)。
- 时域分析:信号的时域特征,如均值、方差、相关函数等。
- 频域分析:傅里叶变换及其应用,频率域滤波器设计原理。
3. 滤波器设计与实现:介绍数字滤波器的设计方法,包括IIR和FIR滤波器,利用MATLAB函数实现滤波器的设计与性能分析(对应教材第三章)。
4. 信号处理应用案例:分析实际信号处理问题,如语音信号处理、图像处理等,运用MATLAB解决相关问题(对应教材第四章)。
5. 课程项目:分组进行课程项目设计,要求学生结合所学内容,自主选题,完成信号处理相关任务。
计算机学习的心得体会计算机学习的心得体会1大二的第一学期,也就是20某某年的下半年,我们信电学院通信工程迎来了一门陌生的科目————Matlab(计算机仿真)。
当这门课程的名字第一次从我耳旁响起的时候,让我感受到它与我们是那么的具有距离感。
因为这个名词具有太多的专业气息,而且具有其独特的一面。
但细想后才发现我们已经是大二的学生了,是应该开始接触相对专业的知识了。
初略的翻书过后,发现书上呈现的是各式各样的图形与流程。
这不正与大一下学期的C语言的公式相近吗?个人感觉这门Matlab的计算方式与赋值方式与C语言大致相同。
而对于我的C语言比较自信,所以感觉自己学这门课应该比较轻松的吧。
但事实并非如此,当涉及到图形的演示的时候明显感觉到自己的知识已经赶不上了,已经无法轻易理解公式与流程了。
上课的机房在大一的时候是我们信电学院通信工程英语自主学习的机房,所以对于这个教室而言,还是较为熟悉的,因此我们宿舍也就习惯性的坐在了我们熟悉的位子,也就是离主讲台最远的地方。
从此往后,那片地区便成为了我们宿舍的长期根据地。
虽然机房内有音响,可以放大老师的声音,不过没有眼前的监视,对于现在的我们而言还是难以全身心的投入到上课中,所以在平时上课的时候也会时不时的分心去干与课堂无关别的事,以致于最终当老师讲到关于新的知识的时候就感到无比的吃力了。
鉴于这门Matlab的学习体会,整体上来说留下最深的印象便是:在大学中你所需要学习的并不是全在课堂上,在课外的资料查询也是必不可少的。
下面来讲讲我对于这门课在学习中的体会吧。
1、在第二章中讲的是Matlab的基本语法。
因为这上的内容大致与C语言相同,所以个人感觉在这章中需要对Matlab的语法进行学习,了解Matlab最为基本的操作与用法。
其中也附带有相对于C语言不同的基本绘图方法以及对于M文件及程序调试。
所以当讲到这里的时候也就是理解不透的地方了,需要借助于图书馆的书籍来完善了。
2、对于后面的几章关于高数、信息处理、自动控制等知识感觉相当的靠近专业知识了,所以面当这些知识来临时只能是牵强着听着,不能了解他们真正的含义。
MATLAB 平时作业第一章 习题16. 以下两种说法对吗?(1)“MATLAB 的数值表达精度与其指令窗中的数据显示精度相同。
”答:此种说法错误。
MATLAB 提供了控制数据显示格式的控制指format ,该指令并不改变MATLAB 内存中变量的精度,只是改变其显示精度。
(2)“MATLAB 指令窗中显示的数值有效位数不超过7位。
”答:此种说法错误。
当变量小于1000时,使用format 或format short 后,或者默认情况下,变量的显示精度最多不超过7位,但显示精度不等于变量的精度。
7. 想要在MATLAB 中产生二维数组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=987654321S ,下面哪些指令能实现目的? S=[1,2,3;4,5,6;7,8;9]S=[1 2 3;4 5 6;7 8 9]S=[1,2,3;4,5,6;7,8,9] %整个指令在中文状态下输入 答:操作如图:第1、2条指令可以实现,第3条指令不可实现。
第三章 习题31.在MATLAB 中,先运行指令A=magic(3), B=[1,2,1;3,4,3;5,6,7], C=reshape(1:6,3,2)生成阵列33⨯A ,23⨯B ,23⨯C ,然后根据运行结果回答以下问题:运行结果如图:(1)计算A*B, B*A ,这两个乘积相同吗? 计算结果如图:答:不同。
(2)计算A\B, B/A ,左除、右除结果相同吗?计算结果如图:答:不同。
(3)计算B( : ,[1,2]).*C和C.*B( : , [1,2]),这两个乘积相同吗?计算结果如图答:相同。
(4)计算A\A和A.\A,这两个计算结果相同吗?计算结果如图:答:相同。
(5)计算A\eye(3)和inv(A),这两个计算结果相同吗?计算结果如图:答:不同。
(提示:根据对计算结果的目测回答问题)2.在MATLAB中,先运行A=[1, 2; 3, 4],b=0.5,C=[4, 2; 1, 0.5], 然后根据计算结果回答以下问题:创建数据步骤略(1)计算A^b和A.^b, 这两个计算结果相同吗?答:不同。
matlab小游戏课程设计一、课程目标知识目标:1. 学生能理解Matlab的基本操作,包括变量定义、运算符使用和程序流程控制。
2. 学生能够运用Matlab编写简单的交互式小游戏,如猜数字、迷宫等。
3. 学生掌握Matlab中绘图和动画功能,实现对游戏结果的展示。
技能目标:1. 学生培养编程思维,学会运用Matlab解决实际问题。
2. 学生能够运用所学知识,设计并实现具有简单逻辑和交互功能的Matlab小游戏。
3. 学生通过团队协作,提高沟通与协作能力。
情感态度价值观目标:1. 学生培养对计算机编程的兴趣,提高学习积极性。
2. 学生在游戏设计和实现过程中,培养创新精神和实践能力。
3. 学生通过游戏编程,体验团队合作的重要性,树立正确的价值观。
本课程针对高中年级学生,结合Matlab编程知识,以趣味性小游戏为载体,激发学生兴趣,培养编程技能和团队协作能力。
课程要求学生在理解基本编程知识的基础上,动手实践,实现具体的学习成果。
通过本课程的学习,使学生能够更好地掌握Matlab编程技能,提高解决实际问题的能力。
二、教学内容1. Matlab基础知识回顾:变量定义、数据类型、运算符、程序流程控制(条件语句、循环语句)。
2. Matlab绘图与动画:二维绘图、三维绘图、动画制作。
3. 简单交互式小游戏设计:- 猜数字游戏:随机生成一个数字,学生编写程序实现用户输入猜测,程序给出提示的功能。
- 迷宫游戏:设计一个简单迷宫,编写程序实现角色移动、碰撞检测和路径寻找。
4. 团队项目实践:学生分组设计并实现一个Matlab小游戏,要求包含交互、绘图和动画功能。
教学内容安排与进度:第一课时:Matlab基础知识回顾。
第二课时:Matlab绘图与动画。
第三课时:简单交互式小游戏设计(猜数字游戏)。
第四课时:简单交互式小游戏设计(迷宫游戏)。
第五课时:团队项目实践。
本教学内容基于Matlab编程知识,结合课程目标,制定详细的教学大纲。
MATLAB大作业题目备选matlab大作业备选题目1.基于MATLAB的含噪语音信号处理本课题要求基于matlab对有噪音语音信号进行处理,综合运用数字信号处理的理论知识对加噪语音信号进行时域、频域分析和滤波,利用matlab作为工具进行计算机实现。
在设计实现的过程中,要求使用双线性变换法设计iir数字滤波器,对模拟加噪语音信号进行低通滤波、高通滤波及带通滤波,并利用matlab作为辅助工具完成设计中的计算与图形的绘制。
2.基于MATLAB的学生平均学分和分数计算软件设计学分与绩点,是每位大学生所关心的重要指标之一,很多同学辛苦学习,早出晚归,不断的奔波于教室、图书馆、食堂、寝室之间,为的就是能够考个好成绩,取得好的绩点。
然而在平时我们计算学分与绩点的时候,大都只能用计算器一个一个数据的输入,其过程繁琐麻烦,又容易出错。
因此,本课题要求利用MATLAB知识实现平均学分和分数的计算,并开发相应的人机界面。
3、基于matlab的试卷分析管理系统本设计要求采用基于MATLAB图形用户界面的编程方法,并涉及相关数据库知识。
要求通过一个简单的用户交互界面,实现试卷的录入、查询、修改和整体分析功能。
目的是学习使用matlab编程,尤其是掌握matlab中的GUI,加深对matlab的理解,并学会使用matlab实现实际应用。
4、基于matlab的图像处理软件设计学习Matlab GUI程序设计,使用Matlab图像处理工具箱设计并实现一个简单的图像处理软件,实现以下功能:1)图像读取和保存。
2)设计一个图形用户界面,使用户可以任意调整图像的亮度和对比度,并显示和比较变换前后的图像。
3)设计一个图形用户界面,让用户可以用鼠标选择图像的感兴趣区域,显示并保存所选区域。
4)编写一个程序,通过最近邻插值和双线性插值等算法,将用户选择的图像区域放大缩小整数倍,保存并比较几种插值的效果。
5)对于图像直方图统计和直方图均衡化,需要显示直方图统计并比较直方图均衡化的效果。
MATLAB程序设计基础平时作业专业班级电科1402学号3140504043姓名宋晓晨《MATLAB程序设计基础》平时作业1.对于每输入的一个百分制成绩,要求输出对应的成绩等级A、B、C、D、E。
其中A的分值在区间[90,100)内;B的分值在区间[80,90)内;C的分值在区间[70,80)内;D的分值在区间[60,70)内;E的分值在区间[0,60)内;要求:1)要有对输入成绩是否合理的判断:①输入成绩如果含有小数,只能是“x.5”的形式,其实x为合理的整数。
②成绩必须在百分制范围内。
③如果输入的成绩不合理,应向命令窗口输出报错信息“输入的成绩不合理”2)用if语句实现题目要求3)用switch语句实现题目要求clear all;clc; %清除以前所使用的变量后清屏,下同A=input('请输入分数:');B=floor(A); %使用一个变量来分析输入成绩的小数位if A<0||A>100 %判断成绩的合理性disp('输入成绩不合理');elseif A-B~=0.5&&A~=Bdisp('输入成绩不合理');elseswitch floor(A/10)case 10C='A';case 9C='A';case 8C='B';case 7;C='C';case 6;C='D';otherwiseC='E';enddisp('你的成绩等级为:');disp(C);end运行结果:2. 设计程序,完成[10,99]之间两位整数的加、减、乘、除四则运算。
要求:1)随机产生区间[10,99]之内的两位随机整数2)在产生符合要求的随机数后,输入一个运算符号,做相应的运算3)运算结果显示在命令窗口,其显示类似于“a=x+y=68”的形式。
clc;clear;a=floor(90*rand(1,2))+10;b=a(1,1);c=a(1,2);B=num2str(b);C=num2str(c);disp('数据为:')disp(strcat(B,',',C))D=input('输入运算符(+ - * /):','s');if D=='+'e=b+c;E=num2str(e);disp(strcat(B,'+',C,'=',E));elseif D=='-'e=b-c;E=num2str(e);disp(strcat(B,'-',C,'=',E));elseif D=='*'e=b*c;E=num2str(e);disp(strcat(B,'*',C,'=',E));elseif D=='/'e=b/c;E=num2str(e);disp(strcat(B,'/',C,'=',E));elsedisp('输入错误');end运行结果:3. 求下列分段函数的值并绘制函数曲线。
2226,056,1,⎧+-<≠⎪=-+≤≠≠⎨⎪--⎩x x x x y x x x x x x x 且 -30<10,2且 3其他要求:1)x 的值以向量的形式从键盘输入。
2)用if 语句实现,分别输出x =﹣5.0,﹣3.0,1.0,2.0,2.5,3.0,5.0时的y 值。
y=14,11,2,1,-0.25,5,63)自行拟定自变量的取值,绘制该分段函数的二维曲线。
clear all;x=input('输入变量:');if x<0&&x~=-3y=x.^2+x-6;elseif 0<=x&&x<10&&x~=2&&x~=3y=x.^2-5*x+6;elsey=x.^2-x-1;endX=num2str(x);Y=num2str(y);disp(strcat('x=',X,'y=',Y));clear all;x=-10:0.01:15;f=@(x)(x.^2+x-6).*(x<0&&x~=-3)+(x.^2-5*x+6).*(0<=x&&x<10&&x~=2&&x~=3)+(x.^2-x-1).*(x==-3||x==2||x==3||x>=10);ezplot(f,x);axis([-10 15 0 150]);grid on;运行结果:4. 分别使用for循环语句和while循环语句找出最小的n值,使得n!>10100,并求出n!。
clear all;for循环>> N=1;>> for n=1:100N=N*n;if N>10100break;endend>> disp(strcat('最小的n是',num2str(n))); clear all;While循环>> N=1;>> n=0;>> while(N<10100)n=n+1;N=N*n;end>> disp(strcat('最小的数是',num2str(n)));运行结果:5. 已知f1=1,n=1f2=0,n=2f3=1,n=3f n=f n-1-2f n-2+f n-3,n>3求f1 ~ f50中:1)最大值和最小值及它们的位置、各数之和(最大值给变量MAX,其位置给变量x,最小值给变量MIN,其位置给变量y,各数之和给变量SUM)。
2)正数、零、负数的个数(依次赋值给变量N_positive,N_zero,N_negative)。
>> clear all;f=zeros(1,50);f(1,1)=1;f(1,2)=0;f(1,3)=1;for n=4:50f(1,n)=f(1,n-1)-2*f(1,n-2)+f(1,n-3);endSUM=0;N_positive=0;N_zero=0;N_negative=0;for n=1:50SUM=SUM+f(1,n);if f(1,n)<0N_negative=N_negative+1;elseif f(1,n)==0N_zero=N_zero+1;elseN_positive=N_positive+1;endendfor n=2:50if f(1,n)>f(1,n-1)MAX=f(1,n);x=n;endif f(1,n)<f(1,n-1)MIN=f(1,n);y=n;endenddisp(strcat('最大值',num2str(MAX),'位置',num2str(x)));disp(strcat('最小值',num2str(MIN),'位置',num2str(y)));disp(strcat('总和',num2str(SUM)));disp(strcat(num2str(N_positive),'个正数'));disp(strcat(num2str(N_zero),'个零'));disp(strcat(num2str(N_negative),'个负数'));最大值406631位置49最小值-403795位置50总和7686125个正数2个零23个负数运行结果:6. Fibonacci数组的元素满足Fibonacci规则:a k+2=a k+a k+1,(k=1,2,3,…);且a1= a2=1。
请设计一段程序,求出该数组中第一个大于10000的元素对应的k值以及该元素值。
clear all;a=zeros(1,10000);a(1,1)=1;a(1,2)=1;for n=3:10000a(1,n)=a(1,n-1)+a(1,n-2);if a(1,n)>10000break;endenddisp(strcat('第',num2str(n),'个元素大于10000'));disp(num2str(a(1,n)));第21个元素大于1000010946运行结果:7. 定义自变量x的取值区间为[﹣5,5],编写一个函数文件,实现绘制函数y=ax3+bx2+cx+d 的曲线,其中给定各系数值分别为①a=﹣1,b=2,c=﹣5,d=3;②a=3,b=﹣7,c=1,d=4;③a=0,b=4,c=0,d=﹣5要另外编写调用该函数文件的m文件,实现调用。
function y=f(a,b,c,d)x=-5:0.01:5;y=a*x.^3+b*x.^2+c*x+d;clear all;disp('输入变量a,b,c,d')a=input('a=');b=input('b=');c=input('c=');d=input('d=');y=f(a,b,c,d);plot(y);运行结果:8. 设计程序,在一个图形窗体中画出函数y=e x和y=logx的特性曲线。
其中y=e x中x取值区间为(﹣2,2),y=logx中x取值区间为(0.1,5)。
要求:1)要有图例、标题('二维图')、坐标轴标签('x轴数据'和'y轴数据');2)每条曲线的属性自己设置,但不能全用默认值。
clear all;clc;x1=-2:0.01:2;x2=0.1:0.01:5;y1=exp(x1);y2=log(x2);plot(x1,y1,'r',x2,y2,'g');axis tight;grid on;title('二维图');xlabel('x轴数据');ylabel('y轴数据');legend('y=e^x','y=logx');运行结果:9. 采用2行2列子图的方式进行二维图形绘制,要求:1)自变量x的取值区间为[0,2π]2)三个函数分别为:y1=sin(x),y2=cos(x),y3=sin(x)+cos(x)3)在第1幅子图绘制y1的曲线;在第2幅子图绘制y2的曲线;在第3幅子图绘制y3的曲线;在第4幅子图中绘制所有3条曲线4)对每一幅子图,都要有图例、坐标轴标签;曲线的属性自己设置,不能全用默认值。