MATLAB程序设计3
- 格式:ppt
- 大小:101.00 KB
- 文档页数:48
实验三M 文件及MATLAB 程序设计与调试一、实验目的全面掌握在MA TLAB 下进行程序设计的有关问题,具体涉及到M 脚本文件和M 函数文件的编写、全局和局部变量的使用、流程控制结构、提高程序执行效率的设计技术、程序调试等问题。
二、实验内容1、关于M 脚本文件和M 函数文件MATLAB 的M 文件有两类:脚本文件和函数文件。
(1)脚本文件——将原本要在MATLAB 的指令窗口中直接输入的语句,放在一个以.m 为后缀的,称为脚本文件中。
有了脚本文件,可直接在MATLAB 中输入脚本文件名(不含后缀)。
MATLAB 会打开这一脚本文件,并依次执行脚本文件中的每一条语句,这与在MATLAB 中直接输入语句的结果完全一致。
(2)函数文件——它的第一行必须是函数定义行。
M 函数文件由5 部分构成:◆函数定义行◆H1 行◆函数帮助文本◆函数体◆注释注意:在函数文件中,除了函数定义行之外,其它部分都是可以省略的。
但作为一个函数,为了提高函数的可用性,应加上H1 行和函数帮助文本,为了提高函数的可读性,应加上适当的注释。
例如:function y = mean(x)% MEAN Average or mean value.% For vectors, MEAN(X) is the mean value of the elements in X.% For matrices, MEAN(X) is a row vector containing the mean value of each column.[m,n]=size(x);if m==1% Determine whether x is a vectorm=n;endy = sum(x)/m;①函数定义行:function y = mean(x)function 为函数定义的关键字,mean 为函数名,y 为输出变量,x 为输入变量当函数具有多个输出变量时,则以方括号括起;当函数具有多个输入变量时,则直接用圆括号括起。
matlab程序设计与应用第3版pdf版引言概述:《MATLAB程序设计与应用第3版》是一本经典的MATLAB编程教材,它提供了广泛的知识和技巧,帮助读者掌握MATLAB的应用。
本文将从五个大点出发,详细阐述该书的内容,包括基础知识、数据处理、图形绘制、符号计算和应用实例。
正文内容:1. 基础知识1.1 MATLAB环境介绍:介绍MATLAB的工作环境和基本操作,包括命令窗口、编辑器、变量和函数的定义等。
1.2 数据类型和运算:详细介绍MATLAB中的数据类型,如标量、向量、矩阵和结构体等,以及常用的运算符和函数。
1.3 控制流程:讲解MATLAB中的条件语句、循环语句和函数的定义与调用,帮助读者掌握程序的流程控制。
1.4 文件与数据的输入输出:介绍如何读写文件和处理各种数据格式,如文本文件、Excel文件和图像文件等。
1.5 调试与性能优化:提供调试MATLAB程序的技巧和方法,并介绍如何优化程序的性能,提高代码的运行效率。
2. 数据处理2.1 数据导入与清洗:介绍如何导入外部数据,并对数据进行清洗和预处理,包括数据类型转换、缺失值处理和异常值检测等。
2.2 数据可视化:讲解如何使用MATLAB的绘图函数绘制各种类型的图表,如折线图、散点图、柱状图和饼图等,以及如何添加标签和注释。
2.3 数据分析与统计:介绍常用的数据分析和统计方法,如描述统计、假设检验、回归分析和聚类分析等,以及MATLAB中相应的函数和工具箱的使用。
2.4 信号处理:介绍信号处理的基本概念和方法,包括时域分析、频域分析和滤波器设计等,以及MATLAB中相关的函数和工具箱。
2.5 机器学习与数据挖掘:简要介绍机器学习和数据挖掘的基本原理和方法,并介绍MATLAB中的机器学习工具箱和数据挖掘工具箱的使用。
3. 图形绘制3.1 2D图形绘制:详细介绍绘制2D图形的方法和技巧,包括曲线绘制、图形样式设置和图形的保存等。
3.2 3D图形绘制:讲解如何绘制3D图形,包括曲面图、散点图和体积图等,以及如何设置视角和光照效果。
实验一 MATLAB 运算基础欧阳家百(2021.03.07)0<r<lz 4 =<r 2 -11 <r < 2解./Ul •M 文件:z 1 =2*sin(85*pi/l 80)/( 1 +exp(2))x=[2 1+2衍;-.45 习;z2= l/2*log(x+sqrt(l +x A 2))a=-3.0:0.1:3.0; z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2) t=0:0.5:2.5;z4=(t>=0&t<1 ).*(t.A 2)+(t>=1 &t<2)/(t.A 2-1 )+(t>=2&t<3) ?(t.A 2-2*t+1)运算结果:z1=2*sin(85*pi/180)/(1 +exp(2)) x=[2 1+2*i ;-.45 5]; z2=1/2*log(x+sqrt(1 +x A 2))a=-3.0:0.1:3.0;z3=(exp(0.3.*a)-exp(-0.3.*a))./2.*sin(a+0.3)+log((0.3+a)./2) t=0:0.5:2.5; z4=(t>=0&t<1 ).*(t.A 2)+(t>=1 &t<2).*(t.A 2-1 )+(t>=2&t<3) .*(t.A 2-2*t+1) Z1 =1・先求下列表达式的值, 用情况并保存全部变量。
然后显示MATLAB 工作空间的使 2 sin 85° Z\ = ;-(1) 2 Zi= — ln(x +)⑵-2\其中严Y 5 = 12-0.45二映+ 0・3"¥1 + 2/ 5 _G = _3Q-29・・・,2・9,3・0t 2-2t + l 2<t<3其中 匸0:0.5250.2375 z2 =0.7114 ・ 0.0253i 0.8968 + 0.3658i0.6474 0.64700.63510.6119Columns 57 through 600.2139 + 0.9343i 1.1541 ・ 0.0044iz3 =Columns 1 through 4 0.7388+ 3.1416i 0.7696 3.1416i0.7871 +3.1416i0.7913 + 3.14161Columns 5 through 8 0.7822 + 3.14161 0.7602 3.1416i0.7254+ 3.1416i0.6784+ 3.1416iColumns 9 through 12 0.6196 + 3.14161 0.5496 3.1416i0.4688+ 3.1416i0.3780 + 3.14161Columns 13 through 16 0.2775+ 3.1416i 0.1680 3.1416i0.0497+ 3.1416i-0.0771 +3.1416iColumns 17 through 20 -0.2124 + 3.14161 -0.3566 3.1416i -0.51043.14161 -0.6752+ 3.1416iColumns 21 through 24 -0.8536 + 3.14161 -1.0497 3.1416i -1.27013.14161 -1.5271 +3.1416iColumns 25 through 28 -1.8436 + 3.14161 -2.2727 3.1416i -2.98373.1416i -37.0245Columns 29 through 32 -3.0017-2.3085Columns 33 through 36 -1.3575-1.1531Columns 37 through 40 -0.6567-0.5151Columns 41 through 44 -0.1374-0.0255Columns 45 through 48 0.26630.3478Columns 49 through 52 0.53790.5815Columns 53 through 56-1.8971-1.5978-0.9723-0.8083-0.3819-0.25610.07920.17660.42060.48410.6145 0.63660.5777 0.5327 0.4774 0.4126 Column 610.3388Z4 =0 0.2500 0 1.2500 1.0000 2.25002.已知:求下列表达式的值:(1)A+6*B和A-B+I (其中I为单位矩阵)(2)A*B 和A.*B(3)A A3 和A.A3(4)A/B 及B\A(5)[A,B]和[A([1,3],:);B7] 解.J UT •M文件:A=[12 34 -4; 34 7 87;3 65 7 ] ; B= [ 1 3 -1;2 0 3;3 -2 7]; A+6.*B A-B+eye (3)A*BA. *BA"3A. A3A/BB\A[A,B][A([l,3]z:);B^2]运算结果:A=[12 34 -4;34 7 87;3 65 7];B=[1 3-1;2 0 3;3 -2 7);A+6/BA-B+eye(3)A*BA/BA A3A.A3A/BB\A[A,B][A([1,3],:);BA2]ans =18 52 -1046 7 10521 53 49ans =12 31 ■332 8 840 67 1 ans =68 44 62309 ■72596 154 -5 241 ans =12 102 468 0 2619 - 130 49 ans =37226 247370 78688233824 48604 i 149188 600766454142 118820ans =1728 39304 -6439304 343 65850327 274625 343ans =16.4000 -13.6000 7.600035.8000 -76.2000 50.200067.0000 ■134.000068.0000ans =109.4000 ・131.2000 322.8000-53.0000 85.0000 -171.0000-61.6000 89.8000 -186.2000ans =12 34 ■4 1 3 -134 7 87 2 0 33 65 7 3 - -2 7ans =12 34 ■43 65 74 5 111 0 1920 -5 403•设有矩阵A和B(1)求它们的乘积C。
MATLAB程序设计实验指导书MATLAB是集数值计算、符号运算及图形处理等强大功能于一体的科学计算语言。
作为强大的科学计算平台,它几乎能满足所有的计算需求。
在美国及其他发达国家的理工科院校里,MATLAB已经作为一门必修的课程;在科研院所、大型公司或企业的工程计算部门,MATLAB也是最普遍的计算工具之一。
有鉴于此,我院开设了《MATLAB程序设计》这门课程,它需要一定的理论基础,同时又具有很强的实践性。
如何加强理论课程的学习、加深学生对本课程中的基本理论知识及基本方法的理解,如何培养学生实践动手能力是教学的当务之急。
而MATLAB程序设计实验课程就是一种重要的教学手段和途径。
实验将MATLAB程序设计的基本方法灵活地运用在数学、电路等课程中,重点突出,内容丰富。
同时,注重理论分析与实际动手相结合,以理论指导实践,以实践验证基本原理,旨在提高学生分析问题、解决问题的能力及动手能力,使学生进一步巩固基本理论知识,建立比较全面的MATLAB程序设计的概念。
实验注意事项1、实验系统接通电源前请确保电源插座接地良好。
2、完成实验后请确保关闭电脑电源及插座电源。
实验一 矩阵及其运算一、实验目的1、熟悉MATLAB 工作环境2、掌握矩阵和数组的创建、寻访和运算 二、实验内容验证欧姆定律:iur ,其中i u r , ,分别是电阻(欧姆)、电压(伏特)、电流(安培)。
已知u=[0.89, 1.20, 3.09, 4.27, 3.62, 7.71, 8.99, 7.92, 9.70, 10.41],i=[0.028, 0.040, 0.100, 0.145, 0.118, 0.258, 0.299, 0.257, 0.308, 0.345]。
三、实验器材PC 机 (装有 MA TLAB 软件 ) 1台 四、实验原理 4.1 Desktop 简介MATLAB R2006a 版的Desktop 操作桌面,是一个高度集成的MATLAB 工作界面。
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+(2) 21ln(2z x =,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--L (4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.5 解:2. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵)(2) A*B 和A.*B(3) A^3和A.^3(4) A/B 及B\A(5) [A,B]和[A([1,3],:);B^2]解:运算结果:3. 设有矩阵A 和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(1) 求它们的乘积C。
(2) 将矩阵C的右下角3×2子矩阵赋给D。
(3) 查看MATLAB工作空间的使用情况。
解:. 运算结果:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
matlab程序 课程设计一、课程目标知识目标:1. 理解Matlab程序的基本结构和编程语法;2. 掌握Matlab中数据类型、运算符和流程控制的使用方法;3. 学会使用Matlab进行数据处理、图像绘制和仿真计算;4. 了解Matlab在实际工程和科研中的应用。
技能目标:1. 能够运用Matlab编写简单的程序,解决实际问题;2. 能够运用Matlab进行数据分析和图像绘制,展示实验结果;3. 能够运用Matlab进行简单的科学计算和模型仿真;4. 能够在团队项目中,运用Matlab编程技能,完成所承担的任务。
情感态度价值观目标:1. 培养学生对Matlab编程的兴趣和热情,激发学生学习编程的积极性;2. 培养学生具备良好的编程习惯,注重代码的规范性和可读性;3. 培养学生面对编程问题时的耐心和毅力,克服困难,解决问题;4. 培养学生具备团队协作精神,能够在项目中发挥各自优势,共同完成任务。
课程性质:本课程为实践性较强的学科,注重培养学生实际操作能力和编程思维。
学生特点:学生具备一定的数学基础和计算机操作能力,但对Matlab编程尚处于入门阶段。
教学要求:结合学生特点,通过讲解、演示、实践等方式,引导学生掌握Matlab编程技能,并在实际应用中提高学生的编程水平。
教学过程中,注重培养学生的学习兴趣和团队协作能力,为后续相关课程和实际工作打下基础。
将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. Matlab基础知识- Matlab简介与安装- Matlab界面与基本操作- Matlab编程规范与技巧2. 数据类型和运算符- 基本数据类型:数值、字符串、逻辑等- 运算符:算术、关系、逻辑运算符3. 程序控制结构- 顺序结构- 选择结构:if-else-end- 循环结构:for、while循环4. 函数与脚本- 函数的定义与调用- 输入输出参数的使用- 脚本文件的编写与执行5. 数据处理与分析- 数组与矩阵操作- 数据可视化:绘图函数与图形美化- 数据分析:统计、插值、拟合等6. 模型仿真与优化- 模型建立与仿真- 参数优化与模型求解- 应用案例:物理、生物、经济等领域7. 综合应用与项目实践- 综合案例:结合实际问题的Matlab程序设计- 项目实践:团队协作完成指定项目,提高编程能力教学内容安排与进度:共安排16个课时,按照以下进度进行教学:1-4课时:Matlab基础知识与基本操作5-8课时:数据类型、运算符和程序控制结构9-12课时:函数与脚本、数据处理与分析13-16课时:模型仿真与优化、综合应用与项目实践教学内容与教材关联性:以上教学内容与教材章节相对应,涵盖了Matlab编程的主要知识点,旨在帮助学生系统地掌握Matlab编程技能。
实验3 MATLAB程序设计实验3 MATLAB程序设计实验目的1. 学习使用MATLAB进行程序的设计与实现;2. 掌握MATLAB函数的编写与调用方法;3. 掌握MATLAB的编程基础知识。
实验内容编写一个MATLAB程序,实现以下功能:1. 输入一个正整数n;2. 判断该正整数是否为素数;3. 如果是素数,输出该数;4. 如果不是素数,输出该数的所有质因数;输出该数的最大质因数;输出该数的因数个数。
实验步骤3. 编写一个函数`isPrime`,用于判断一个数字是否为素数。
函数定义如下:matlabfunction result = isPrime(n)result = 1; % 假设n是素数if n <= 1result = 0; % 排除小于等于1的数字return;endfor i = 2:sqrt(n)if mod(n, i) == 0result = 0; % n可以被i整除,所以n不是素数break;endendend4. 在主函数中,调用`isPrime`函数判断输入的数字是否为素数,并输出结果;5. 如果输入的数字不是素数,编写一个函数`primeFactors`,用于计算数字的所有质因数,并输出结果。
函数定义如下:matlabfunction primeFactors(n)factors = ; % 存储质因数的数组for i = 2:nwhile mod(n, i) == 0factors = [factors i]; % i是n的质因数n = n / i;endendfprintf('该数的质因数为:');disp(factors);end6. 继续在主函数中,如果输入的数字不是素数,调用`primeFactors`函数计算所有质因数并输出;7. 在主函数中,编写一个函数`maxPrimeFactors`,用于计算数字的最大质因数,并输出结果。
函数定义如下:matlabfunction maxFactor = maxPrimeFactors(n)factors = ; % 存储质因数的数组for i = 2:nwhile mod(n, i) == 0factors = [factors i]; % i是n的质因数n = n / i;endendmaxFactor = max(factors); % 计算最大质因数end8. 继续在主函数中,调用`maxPrimeFactors`函数计算数字的最大质因数并输出;9. 在主函数中,编写一个函数`factorCount`,用于计算数字的因数个数,并输出结果。