当前位置:文档之家› Matlab(R2009a版)-第7讲_程序设计

Matlab(R2009a版)-第7讲_程序设计

MATLAB2009从入门到精通

课程主要内容?第1章MATLAB简介

?第2章数值运算

?第3章单元数组和结构

?第4章字符串

?第5章符号运算

?第6章MATLAB绘图基础

?第7章程序设计

?第8章计算方法的MATLAB实现?第9章优化设计

?第10章SIMULINK仿真初探

第7章程序设计

?MATLAB作为一种广泛应用于科学计算的工具软件,不仅具有强大的数值计算、符号计算、矩阵运算的能力和丰富的绘图功能,还可以像C语言、FORTRAN等计算机高级语言一样进行程序设计,

编写扩展名为.m的M文件,实现各种复杂的运算,同时MATLAB自带的许多函数就是M文件函数,用户也可以利用M文件来生成和扩充自己的函数库。

7.1 脚本和函数

?所谓M文件,简单来说就是用户把要实现的命令写在一个以.m作为扩展名的文件中,然后由MATLAB系统进行解释,最后运行出结果。?M文件有函数和脚本两种格式。两者只是在语法和使用上有些不同。脚本式M文件没有输入参数或输出参数,而函数式M文件有输入参数和输出参数;函数可以有零个或多个输入或输出变量。

7.1.1 脚本

?脚本是一个扩展名为.m的文件,其中包含了MATLAB的各种命令,与批处理文件很类似,在MATLAB命令窗口下直接输入此文件的主文件名,MATLAB可逐一执行在此文件内的所有命令,和在命令窗口逐行输入这些命令一样。脚本式M文

件运行产生的所有变量都是全局变量,运行脚本后,所产生的所有变量都驻留在MATLAB基本工作空间,只要用户不使用clear命令加以清除,且MATLAB指令窗口不关闭,这些变量将一直保存。基本空间随MATLAB的启动而产生,在关闭MATLAB软件时该基本空间被删除。

?例:huitu0.m

huitu0程序结果

7.1.2 函数

?MATLAB中许多常用的函数都是函数式M文件,使用时,MATLAB获取传递给它的变量,利用操作系统所给的输入,运算得到要求的结果,然后返回这些结果。函数文件类似于一个黑箱,由函数执行的命令以及这些命令所创建的中间变量都是隐含的。运算过程中的中间变量都是局部变量(除特别声明外),存放在函数本身的工作空间内,不会和MATLAB基本工作空间的变量相互覆盖,对用户来说,可见的只是输入和输出,因此易于使程序模块化,特别适合于大型程序代码。?例:huitu.m

huitu(1,2,3)程序结果

7.2 M文件的程序结构

?程序结构一般分为顺序结构、循环结构、分支结

构三种。

?理论上讲,只要有以上三种结构就可以构造功能

强大的程序。

?与大多数计算机语言一样,MATLAB也提供了上

述三种程序结构。

?虽然MATLAB没有C语言那样具有丰富的控制结构,但是MATLAB自身的强大功能弥补了这个不足,

使用户在编程时几乎感觉不到困难。下面分别对

这三种结构进行介绍。

7.2.1 顺序结构

?顺序结构就是依次顺序地执行程序的各条语句。顺序结构一般不含有其他子结构或控制语句,批处理文件就是典型的顺序结构的文件。

?例:jizhi.m

jizhi程序结果

7.2.2 循环结构

?在实际计算中,经常会碰到许多有规律的重复计算,此时就要对某些语句进行重复执行。

?一组被重复执行的语句称为循环体,每个循环语句都要有循环条件,以判断循环是否要继续进行下去。

?MATLAB中的循环语句包括for循环与while循环。

1、for循环

?for循环允许一组命令以固定的和预定的次数重复执行,for循环的一般形式如下所示:

?for 循环变量=数组

?循环体(执行语句);

?end

?在for与end语句之间的执行语句是按矩阵(或数组)中的每一列执行一次,即在每一次循环中,矩阵(或数组)元素一个一个地被赋给循环变量,然后由执行语句执行。

?例:for1.m,specmat.m

程序结果

?>> for1

?x =

?Columns 1 through 7

? 2.0304 1.8008 1.5131 1.4165 1.7183 2.5111 3.7462

?Columns 8 through 10

? 5.2620 6.8587 8.3891

?>> specmat(6)

?ans =

? 1 1 1 1 1 1? 1 2 3 4 5 6? 1 3 6 10 15 15? 1 4 10 10 15 15? 1 5 15 15 15 15? 1 6 15 15 15 15

?用for循环语句需要注意以下事项:

?(1)不能在for循环体内重新对循环变量n赋值来终止循环的执行。

?(2)for循环可以进行嵌套循环。

?(3)循环语句内的“;”可防止中间变量的输出。

2、while循环

?与for循环固定的次数求一组命令的值相反,while 循环以不定的次数来求一组命令的值。while循环的一般形式如下:

?while 表达式

?循环体();

?n+1;(自增)

?end

?只要表达式中的元素为真,就执行while和end语句之间的命令。通常,表达式给出的是一个标量值,但数组(或矩阵)同样有效。若为数组(或矩阵),则要求所有的元素都必须为真。

?例:while1.m

?>> while1? a =

? 2.4619

?问题描述:根据统计学的基础知识分析样本的平均值和标准差。?例:for2.m 和while2.m

()

112

1121-???

??-=

=

∑∑∑===N N x x N s x

N

x N

i i N

i i

N

i i

?>> for2

?Enter the number of the points:6?Enter the value:1

?Enter the value:3

?Enter the value:5

?Enter the value:7

?Enter the value:9

?Enter the value:0

?The mean of this data set is:4.166667?The standard deviation is:3.488075?The number of data is:6

MATLAB在二元阵方向图乘积定理教学中的应用

摘 要 本文针对天线与电波传播理论课程学习,基于MATLAB语言对二元相似阵方向图乘积定理的进行验证。 关键词 二元相似阵 MATLAB仿真 方向图 1 引言 天线理论分析实质就是求解满足特定边界条件的麦克斯韦方程组。但电磁理论抽象、数学推导较为繁琐以及空间概念难以想象等诸多特点,因此利用MATLAB强大的工程绘图功能,对天线进行辅助分析、设计和仿真等就显得格外重要。本文针对天线理论课程学习,利用MATLAB语言对二元对称振子相似阵进行仿真,其中包括阵因子方向图、方向图乘积定理。实践证明:利用该软件通过计算机仿真,不仅能够帮助学生理解和掌握二元相似阵基本理论,提高学生的学习效率与学习积极性,而且有助于提高学生利用MATLAB来分析解决实际问题的方法与技巧。 2 二元阵的方向性 对于二元相似阵,以天线1为参考天线,天线2相对于天线1的电流关系为I 2=mI 1e jξ,即:天线2的电流振幅为天线1的m 倍,初始相位超前ξ。则天线阵合成方向函数 为 = (1)其中 为天线1的方向性函数称为元因子; 只与两天线的电流比与相对位置有关称为阵因子;ψ=ξ+kdcosδ,k为波数,d为两元天线的间距,δ为电波射线与天线阵轴线之间的夹角。式(1)表明由相似元组成的二元阵,其方向函数(或方向图)等于单元天线的方向函数(或方向图)与阵因子(或方向图)的乘积,这就是方向图乘积定理。 3 方向图乘积定理的验证 3.1 验证二元齐平行阵方向图乘积定理 两个半波振子的轴线沿z轴方向,并沿y轴方向组成二元齐平行阵,其间距d=0.25λ,电流 ,验证方向图乘积定理。根据题意可得: 3.1.1 E面方向图乘积定理的验证。根据题意可知,E面为(yOz 即: ),因此E面方向性函数为: 根据方向性函数,利用Matlab画出E面元因子、阵因子、二元阵方向图如图7所示: MATLAB在二元阵方向图乘积定理教学中的应用 侯维娜 刘占军 (重庆邮电大学光电工程学院) 3.1.2 H面方向图乘积定理的验证。根据题意可知,H面为(xoy 即 : ),因此H面方向性函数为: 根据方向性函数,利用Matlab画出H面元因子、阵因子、二元阵方向图如图8所示 3.2 验证二元共线阵方向图乘积定理 两个半波振子的轴线沿y轴方向,并沿y轴方向组成二元共线阵,其间距d=λ,电流比Im 2=Im 1,验证方向图乘积定理。根据题意可得: 3.2.1 E面方向图乘积定理的验证。根据题意可知,E面为(yOz 即: ),因此E面方向性函数为: 根据方向性函数,利用Matlab画出E面元因子、阵因子、二元阵方向图如图9所示: 3.2.2 H面方向图乘积定理的验证 根据题意可知,H面为(xoz即 :),因此H面方向性函数为: f 2元阵H =1×2 可见H面元因子和阵因子都是常数(方向图为一个圆), 比较简单,故不作方向图。 通过对以上实例分析可知,利用Matlab验证方向图乘积定理简单、直观且快速,Matab在天线阵列分析中的重要性显而易见。 4 结束语 天线阵列能够增强辐射方向性,在现实生活中具有重要 (下转第111页)

MATLAB仿真设计

MATLAB仿真设计 系院:电子与电气工程学院 专业:电子信息工程 班级: 学号; 姓名: 指导老师: 学期;2013-2014学年第一学期 题目:铅酸电池充放电仿真模型

铅蓄电池充放电的仿真模型 本学期学习了matlab中simulink仿真系统,本文将介绍如何通过simulink来实现铅酸电池的充放电模型。首先要了解铅酸电池充电的化学原理,之后建立相应的化学模型,通过化学模型来实现理论上的成立。然后借助所学的matlab中的simulink仿真系统来实现电池的充放电模型。 内容摘要:simulink 铅酸电池仿真 一:铅酸电池的化学原理和公式 铅酸电池的工作机理是对铅酸蓄电池进行深入研究的基础,因此在讨论其他问题之前先进性简要的介绍。 1,铅酸电池充电时主要化学反应式为: 阴极( 还原反应) : PbSO4+ 2e= Pb+ SO42- 阳极( 氧化反应) : PbSO4+ 2H2O= PbO2+ 4H++ SO42- + 2e 充电时总反应为: PbSO4 + 2H2O = Pb + PbO2 + 2H2SO4 2,铅酸电池放电时主要化学反应为: 负极( 氧化反应) : Pb= Pb2+ + 2e 由于硫酸的存在, Pb2+立即生成难溶解的Pb-SO4。 正极( 还原反应) : PbO2+ 4H++ 2e= Pb2++2H2O 同样, 由于硫酸的存在, Pb2+ 也立即生成Pb-SO4。 放电时的总的反应为: Pb+ PbO2 + 2H2SO4 =2PbSO4+ 2H2O 二:铅酸电池模型的建立

在相同的充、放电模式下,单体电池间一致性的评价包括对电池的工作电压变化的一致性、电压内阻变化的一致性、电池容量变化一致性等三方面的内容。电池的端电压是一个与电池所处的环境温度和电荷荷电状态相关的函数,确定它们之间的关系,是确定电池电动势方程的关键。但是从电化学的角度来推导出其电动势和内阻的方程,是一件比较困难的事情,只能寻求另外的角度来解决这个问题。 三:蓄电池充放电是的变化曲线 蓄电池放电时,电压变化曲线不同放电时蓄电池端电压变化曲线 一额定功率放电的小时数放点小时数 不同充电率时蓄电池端电压变化充电时端电压变化曲线

matlab程序设计实践-牛顿法解非线性方程

中南大学MATLAB程序设计实践学长有爱奉献,下载填上信息即可上交,没有下载券的自行百度。所需m文件照本文档做即可,即新建(FILE)→脚本(NEW-Sscript)→复制本文档代码→运行(会跳出保存界面,文件名默认不要修改,保存)→结果。第一题需要把数据文本文档和m文件放在一起。全部测试无误,放心使用。本文档针对做牛顿法求非线性函数题目的同学,当然第一题都一样,所有人都可以用。←记得删掉这段话 班级: ? 学号: 姓名:

一、《MATLAB程序设计实践》Matlab基础 表示多晶体材料织构的三维取向分布函数(f=f(φ1,φ,φ2))是一个非常复杂的函数,难以精确的用解析函数表达,通常采用离散 空间函数值来表示取向分布函数,是三维取向分布函数的一个实例。 由于数据量非常大,不便于分析,需要借助图形来分析。请你编写一 个matlab程序画出如下的几种图形来分析其取向分布特征: (1)用Slice函数给出其整体分布特征; " ~ (2)用pcolor或contour函数分别给出(φ2=0, 5, 10, 15, 20, 25, 30, 35 … 90)切面上f分布情况(需要用到subplot函数);

(3) 用plot函数给出沿α取向线(φ1=0~90,φ=45,φ2=0)的f分布情况。 (

备注:数据格式说明 解: (1)( (2)将文件内的数据按照要求读取到矩阵f(phi1,phi,phi2)中,代码如 下: fid=fopen(''); for i=1:18 tline=fgetl(fid); end phi1=1;phi=1;phi2=1;line=0; f=zeros(19,19,19); [ while ~feof(fid) tline=fgetl(fid); data=str2num(tline); line=line+1;数据说明部分,与 作图无关此方向表示f随着 φ1从0,5,10,15, 20 …到90的变化而 变化 此方向表示f随着φ 从0,5,10,15, 20 … 到90的变化而变化 表示以下数据为φ2=0的数据,即f(φ1,φ,0)

Matlab中文简明教程

MatLab简介 MATLAB是什么? 典型的使用包括: 数学和计算 算术发展模型, 模拟,和原型 数据分析,开发,和可视化 科学和工程图学 应用发展包括图形用户界面设计 MATLAB表示矩阵实验室。 MATLAB系统 MATLAB系统由5主要的部分构成: 1. MATLAB语言。这是高阶的矩阵/数组语言,带控制流动陈述,函数,数据结构,输入/输出,而且面向目标的编程特点。 Ops 操作符和特殊字符。 Lang 程序设计语言作。 strfun 字符串。 iofun 输入/输出。 timefun 时期和标有日期。 datatypes数据类型和结构。 2. MATLAB工作环境。这是你作为MATLAB用户或程序编制员的一套工具和设施。 3. 制图这是MATLAB制图系统。它为2维上,而且三维的数据可视化,图象处理,动画片制作和表示图形包括高阶的指令在内。它也为包括低阶的指令在内,允许你建造完整的图形用户界面(GUIs),MATLAB应用。制图法功能在MATLAB工具箱中被组织成5文件夹: graph2d 2-的维数上的图表。 graph3d 三维的图表。 specgraph 专业化图表。 graphics 制图法。 uitools 图形用户界面工具。 4. MATLAB的数学的函数库。数学和分析的功能在MATLAB工具箱中被组织成8文件夹。 elmat 初步矩阵,和矩阵操作。 elfun 初步的数学函数。 specfun 专门的数学函数。

matfun 矩阵函数-用数字表示的线性的代数。 datafun 数据分析和傅立叶变换。 polyfun 插入物,并且多项式。 funfun 功能函数。 sparfun 稀少矩阵。 5. MATLAB应用程序接口(API)。这是允许你写C、Fortran语言与MATLAB交互。 关于 Simulink Simulink ? MATLAB为做非线性的动态的系统的模拟实验的交互式的系统。它是允许你通过把方框图拉到屏幕,灵活地窜改它制作系统的模型的用图表示的鼠标驱动的程序。实时工作室?允许你产生来自你的图表块的C代码,使之能用于各种实时系统。 关于工具箱 工具箱是为了解答特别种类的问题扩展MATLAB环境的MATLAB函数的综合的(M-文件)收集 MatLab工作环境 命令窗口 若输入 A = [1 2 3; 4 5 6; 7 8 10] 按下回车键后显示如下 A = 1 2 3 4 5 6 7 8 10 清除命令窗口 clc 这并不清除工作间,只是清除了显示,仍可按上箭头看到以前发出的命令

1实验一 Matlab程序设计与M文件(1)

实验一 Matlab 程序设计与M 文件 一、实验目的 1. 掌握Matlab 程序设计常用命令,如,循环、选择、暂停、显示输出、输入变量值等。 2. 掌握Matlab 的M 文件的创建于使用,包括脚本文件和函数文件。 3. 掌握常用的编程技巧。 二、实验内容 1. 输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。其中90分~100分为A ,80分~89分为B ,79分~79分为C ,60分~69分为D ,60分以下为E 。 要求: (1) 分别用if 语句和switch 语句实现。 (2) 输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 2. 硅谷公司员工的工资计算方法如下: (1) 工作时数超过120小时者,超过部分加发15%。 (2) 工作时数低于60小时者,扣发700元。 (3) 其余按每小时84元计发。 试编程按输入的工号和该号员工的工时数,计算应发工资。 3. 根据2 222211116123n π=++++,求π的近似值。当n 分别取100、1000、10000时,结果是多少? 要求:分别用循环结构和向量运算(使用sum 函数)来实现。 4. 考虑以下迭代公式: 1n n a x b x +=+ 其中a 、b 为正的学数。 (1) 编写程序求迭代的结果,迭代的终止条件为|x n+1-x n |≤10-5,迭代初值x 0=1.0,迭代次数不超过500次。 (2) 如果迭代过程收敛于r ,那么r 的准确值是,当(a,b)的值 取(1,1)、(8,3)、(10,0.1)时,分别对迭代结果和准确值进行比较。

5. 已知 12312311021 323 n n n n f n f n f n f f f f n ---==??==??==??=-+>? 求f 1~f 100中: (1) 最大值、最小值、各数之和。 (2) 正数、零、负数的个数。 6. 若两个连续自然数的乘积减1是素数,则称这两个边疆自然数是亲密数对,该素数是亲密素数。例如,2×3-1=5,由于5是素数,所以2和3是亲密数,5是亲密素数。求[2,50]区间内: (1) 亲密数对的对数。 (2) 与上述亲密数对对应的所有亲密素数之和。 7. 设2411()(2)0.1(3)0.01 f x x x =+-+-+,编写一个MATLAB 函数文件fx.m ,使得调用f(x)时,x 可用矩阵代入,得出的f(x)为同阶矩阵。 8. 一物理系统可用下列方程组来表示: 111211 12 220cos sin 0sin 0cos 000sin 000cos 1a m m a m g m N m N m g θθθθθθ--??????????????????=??????-??????-?????? 从键盘输入m 1、m 2和θ的值,求a 1、a 2、N 1和N 2的值。其中g 取9.8,输入θ时以角度为单位。 要求:定义一个求解线性方程组AX=B 的函数文件,然后在命令文件中调用该函数文件。

matlab入门教程

MATLAB入门教程 1.MATLAB的基本知识 1-1、基本运算与函数 在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如: >> (5*2+1.3-0.8)*10/25 ans =4.2000 MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上。 小提示: ">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。 我们也可将上述运算式的结果设定给另一个变数x: x = (5*2+1.3-0.8)*10^2/25 x = 42 此时MATLAB会直接显示x的值。由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。 小提示:MATLAB将所有变数均存成double的形式,所以不需经过变数宣告(Variable declaration)。MATLAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定.这些功能使的MATLAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。 若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例: y = sin(10)*exp(-0.3*4^2); 若要显示变数y的值,直接键入y即可: >>y y =-0.0045 在上例中,sin是正弦函数,exp是指数函数,这些都是MATLAB常用到的数学函数。 下表即为MATLAB常用的基本数学函数及三角函数: 小整理:MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle)

matlab程序设计作业

Matlab程序设计作业 姓名: 学号: 专业:

? MATLAB 程序设计》作业 1、考虑如下x-y 一组实验数据: x=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] y 二[1.2, 3, 4, 4, 5, 4.7, 5, 5.2, 6, 7.2] 分别绘出plot 的原始数据、一次拟合曲线和三次拟合曲线,给出 原始曲线 MATLAB 代码和运行结果。 7 6 5 4 3 2 2 3 4 5 6 7 8 9 10

7 6.5 6 5.5 5 4.5 4 3.5 3 2.5 10 一次拟合 三次拟合

x=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; y=[1.2, 3, 4, 4, 5, 4.7, 5, 5.2, 6, 7.2]; figure; plot(x,y) p1=polyfit(x,y,1); y1=polyval(p1,x); figure; plot(x,y1) p2=polyfit(x,y,3); y2=polyval(p2,x); figure; plot(x,y2) 2、在[0, 3n区间,绘制y二Sin(x)曲线(要求消去负半波,即(n 2n)区间内的函数值置零),求出曲线y 的平均值,以及y 的最大值及其最大值的位置。给出执行代码和运行结果。 x=0:pi/1000:3*pi; y=Sin(x); y1=(y>=0).*y; %消去负半波figure(1); plot(x,y1, 'b' ); a=mean(y1) %求出y1 的平均值 b=max(y1) %求出y1 的最大值b, 以及最大值在矩阵中的位置; d=x(find(y1==b)) >> ex1 a = 0.4243 b = 1 d = 1.5708 7.8540 >>

Matlab7操作大全

A a abs绝对值、模、字符的ASCII码值acos反余弦 acosh反双曲余弦 acot反余切 acoth反双曲余切 acsc反余割 acsch反双曲余割 align启动图形对象几何位置排列工具all所有元素非零为真 angle相角 ans表达式计算结果的缺省变量名any所有元素非全零为真 area面域图 argnames函数M文件宗量名 asec反正割 asech反双曲正割 asin反正弦 asinh反双曲正弦 assignin向变量赋值 atan反正切 atan2四象限反正切 atanh反双曲正切 autumn红黄调秋色图阵 axes创建轴对象的低层指令 axis控制轴刻度和风格的高层指令 B b bar二维直方图 bar3三维直方图 bar3h三维水平直方图 barh二维水平直方图 base2dec X进制转换为十进制 bin2dec二进制转换为十进制blanks创建空格串 bone蓝色调黑白色图阵 box框状坐标轴 break while或for环中断指令brighten亮度控制 C c

capture(3版以前)捕获当前图形 cart2pol直角坐标变为极或柱坐标 cart2sph直角坐标变为球坐标 cat串接成高维数组 caxis色标尺刻度 cd指定当前目录 cdedit启动用户菜单、控件回调函数设计工具cdf2rdf复数特征值对角阵转为实数块对角阵ceil向正无穷取整 cell创建元胞数组 cell2struct元胞数组转换为构架数组 celldisp显示元胞数组内容 cellplot元胞数组内部结构图示 char把数值、符号、内联类转换为字符对象chi2cdf分布累计概率函数 chi2inv分布逆累计概率函数 chi2pdf分布概率密度函数 chi2rnd分布随机数发生器 chol Cholesky分解 clabel等位线标识 cla清除当前轴 class获知对象类别或创建对象 clc清除指令窗 clear清除内存变量和函数 clf清除图对象 clock时钟 colorcube三浓淡多彩交叉色图矩阵 colordef设置色彩缺省值 colormap色图 colspace列空间的基 close关闭指定窗口 colperm列排序置换向量 comet彗星状轨迹图 comet3三维彗星轨迹图 compass射线图 compose求复合函数 cond(逆)条件数 condeig计算特征值、特征向量同时给出条件数condest范-1条件数估计 conj复数共轭 contour等位线 contourf填色等位线 contour3三维等位线

Matlab基础教程

1-1、基本运算与函数 在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如: >> (5*2+1.3-0.8)*10/25 ans =4.2000 MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上。 小提示: ">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。 我们也可将上述运算式的结果设定给另一个变数x: x = (5*2+1.3-0.8)*10^2/25 x = 42 此时MATLAB会直接显示x的值。由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。 小提示: MATLAB将所有变数均存成double的形式,所以不需经过变数宣告(Variable declaration)。MATLAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定.这些功能使的MATLAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。 若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例: y = sin(10)*exp(-0.3*4^2);

若要显示变数y的值,直接键入y即可: >>y y =-0.0045 在上例中,sin是正弦函数,exp是指数函数,这些都是MATLAB常用到的数学函数。 下表即为MATLAB常用的基本数学函数及三角函数: 小整理:MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数 ceil(x):天花板函数,即加入正小数至最近整数 rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开

matlab程序设计与应用实验指导书

附件2 《matlab程序设计与应用》实验指导书 山东建筑大学信息与电气工程学院

前言 一、实验目的 本课程是电气工程及其自动化、自动化、电力工程与管理专业本科生的 学科基础选修课,它在线性代数、信号分析和处理、控制系统设计和仿真等 方面有着广泛的应用。主要是学习MATLAB的语法规则、基本命令和使用环境,使学生掌握MATLAB的基本命令和基本程序设计方法,提高使用该语言 的应用能力,具有使用MATLAB语言编程和调试的能力,以便为后续多门课 程使用该语言奠定必要的基础。 通过上机实验,使学生掌握MATLAB在线帮助功能的使用、熟悉MATLAB运行环境和MATLAB语言的主要特点,掌握MA TLAB语言的基本 语法规则及基本操作命令的使用,学会M文件的建立和使用方法以及应用MATLAB实现二维和三维图形的绘制方法,具有使用MATLAB语言编程和 调试的能力。 二、实验前预习 每次实验前,学生须仔细阅读本实验指导书的相关内容,明确实验目的、要求;明确实验步骤、测试数据及需观察的现象;复习与实验内容有关的理论知识;预习仪器设备的使用方法、操作规程及注意事项;做好预习要求中提出的其它事项。 三、实验注意事项 1.实验开始前,应先检查本组电脑设备是否工作正常,matlab软件工作是否正常。 2.实验时每位同学应独立完成实验任务,避免抄袭。 3.实验后应及时将实验数据进行记录与存盘,避免因电脑故障或其它原因造成实验数据的丢失。 4.实验中严格遵循电脑操作规程,如电脑发生异常现象,应立即切断电源,

报告指导教师检查处理。 5.测量数据或观察现象要认真细致,实事求是。 6.未经许可,不得对电脑进行软件及硬件的更改操作。 7.实验结束后,实验记录交指导教师查看并认为无误后,方可关掉电脑离开。 8.爱护公物,发生仪器设备等损坏事故时,应及时报告指导教师,按有关实验管理规定处理。 9.自觉遵守学校和实验室管理的其它有关规定。 四、实验总结 每次实验后,应对实验进行总结,即实验数据进行整理,绘制波形和图表,分析实验现象,撰写实验报告。实验报告除写明实验名称、日期、实验者姓名、同组实验者姓名外,还包括: 1.实验目的; 2.实验内容 3.实验流程图; 4.程序命令清单; 5.运行结果; 6.实验的收获与体会; 7.回答每项实验的有关问答题。

matlab心得及学习方法(不断更新)

竭诚为您提供优质文档/双击可除matlab心得及学习方法(不断更新) 篇一:matlab心得及学习方法 matlab心得及学习方法(不断更新) 发现现在很多人(找工作的或者读博的)都想要学习或者正在学习matlab,问我要怎么学习。其实我虽然写matlab 代码的经验还算丰富,但是还不能说是一个很好的matlab 编程人员,这里有一些心得,分享给大家希望对大家有所帮助。 关于如何学习matlab 我的学习方法很简单:matlab是练出来的,而不是看出来的。很多人问我有没有比较好的matlab教材,我说随便 找一本吧,都可以。只要书里面有最基本的语法和命令,对于一个有编程基础的人,matlab可以在一个下午的时间内学会。当然,仅仅是学会。如果想要对matlab比较得心应手,那么最好的办法就是练习。练习的素材很多,比如对于学经济学的,可以做一些simulation之类的,也可以试着把计 量或者宏观教材里面的一些算法写写出来。一开始可能很慢,

但是当你完成了一个比较大的project的时候,你的matlab 的功力将会有巨大的提升。 当然,在你写程序之前,多读一些别人写的好的code 是非常有帮助的。 一些matlab的经验 1、适当了解一些数值计算、数值分析以及最优化的理论 用matlab的无非是做数值计算或者最优化,这也是matlab的强项,matlab有足够多的工具箱解决这些问题。但是在使用这些工具箱之前,应该首先了解一些数值计算以及最优化的理论。这一点在程序碰到问题或者计算结果不理想的时候尤为重要。很多时候结果不理想并不是自己的理论出了问题,而是盲目或者错误使用matlab的工具箱而导致的。比如我曾经做过一个单纯形法的优化程序,但是结果总是不理想,这个时候就要返回到单纯形法具体是一种什么样的算法来考虑这个问题,最后发现是由于目标函数的某一部分十分平缓导致的。当然更重要的是如果你不理解理论,很多问题根本不知道如何处理。有个学化学同学就曾问我一个程序怎么写,说matlab肯定可以完成的。了解清楚之后才明白原来他想做的就是一个受限最小二乘。但是他不懂得什么是最小二乘(因为没怎么学过数学),当然面对这个问题无从下手。

Matlab在解析几何中的应用

Matlan软件在解析几何中的应用 (作者:李世兴宁夏北方民族大学750021 ) 摘要:在解析几何教学和学习过程中,有些复杂的几何图形是无法用简单的工具画出的,动点轨迹问题的教学和学习由传统教学手段也是无法实现的,而Matlab软件具有强大的图形设计功能,正好弥补了传统教学和学习的不足,利用Matlab语言编程制出空间几何图形,有利于直观形象地判定空间图形的相关位置,也有利于观察动点轨迹的形成。这样的教学和学习方式不仅可以取得良好的教学效果,还能提高学生的学习兴趣。 关键词: MATLAB;解析几何;教学和学习; 一.引言: 解析几何是我们数学专业几何学课程体系的基础,它是中学数学课程中几何学的延伸和推广。既然是几何顾名思义这门学科要求学生有一定的空间想象能力和空间构图能力。但是,目前的大多数学校在解析几何的教学中的方法还是比较陈旧没有随着计算机技术的发展而即使更新,教学手段比较落后,就例举解析几何中曲线及曲面的形成过程与变换过程而言,只通过传统的教师讲授、静态图示表示出来,一方面不够生动,另一方面也不够准确,这些都是目前解析几何教学中的不足。而这样的不足用MATLAB就可以很好的解决。在几何教学中应用MATLAB可以把曲线、曲面准确地模拟出来,对教学效率提高和学生的空间想象能力的培养都有事半功倍的作用。而且应用MATLAB的绘图功能,就可以美观又准确绘制图形而且许多老师在黑板上难以画出来的复杂图形对MATLAN来说都不是问题。其次MATLAB 绘图函数都不是非常复杂的函数,例如:绘线的函数Plot()、描点的函数catter()、绘线的函数plot3()、绘制网面图的函数surf()等。 1.解析几何中的线关系相对于后面的空间曲面比较简单,比如直线的平行,相交,垂直, 异位都是中学阶段的知识。下面我们用MATLAB演示一个相对复杂的空间曲线; 程序:ezplot3('3*t*cos(t)','3*t*sin(t)','t^1/3',[0,60]);

Matlab程序设计实训

实习报告 实习名称Matlab程序设计实训 专业班级**** 姓名*** 学号*** 成绩评定 电气与信息工程学院 和谐勤奋求是创新

实习考核和成绩评定办法 1.实习成绩的考核由指导教师根据实习表现、实习报告、实习成果、现场操作、设计、口试或笔试等几个方面,给出各项权重,综合评定。该实习考核教研室主任审核,主管院长审批备案。 2.成绩评定采用五级分制,即优、良、中、及格、不及格。 3.参加本次实习时间不足三分之二或旷课四天以上者,不得参加本次考核,按不及格处理。 4.实习结束一周内,指导教师提交实习成绩和实习总结。 5.实习过程考核和实习成绩在教师手册中有记载。 实习报告内容 实习报告内容、格式各专业根据实习类别(技能实习、认识实习、生产实习、毕业实习等)统一规范,经教研室主任审核、主管院长审批备案。 注:1. 实习任务书和实习指导书在实习前发给学生,实习任务书放置在实习报告封面后和正文目录前。 2. 为了节省纸张,保护环境,便于保管实习报告,统一采用A4纸,实习报告建议双面打印(正文采 用宋体五号字)或手写,右侧装订。

2016/2017学年第二学期 《Matlab程序设计实训》计划 指导教师:****** 班级:自动化1541、2班 实习地点:1教8楼机房 一、实习目的 实习的目的:了解并掌握MATLAB软件的各种应用开发环境;了解并掌握MATLAB软件强大的科学运算功能;了解并掌握利用MATLAB语言程序设计流程进行程序设计的方法;了解并掌握MATLAB的图形处理功能;了解MATLAB软件的交互式仿真功能;了解并掌握MATLAB软件在控制系统建模、分析以及设计中的应用。 实习的任务:通过实习可以使学生将MATLAB软件与控制系统理论及仿真相结合,加深对控制系统理论知识的理解,验证理论知识的正确性,提高软件的实际操作能力,可以有效地培养学生分析及解决实际问题的能力,不断提高自学能力,养成良好的科学态度以及实事求是、严谨踏实的学习风气,成为真正的应用型本科人才。通过实训达到边学边练、理论与实际操作相结合的学习目的。 二、实习内容 掌握MATLAB编程环境、基础知识;掌握矩阵生成及运算、数组运算;矩阵函数;掌握常用绘图命令及方法;掌握基本图形处理、二维图形处理方法;掌握可视化M文件程序设计及调试;掌握Simulink仿真工具的建立和基本仿真方法。 了解并掌握基于MATLAB的控制系统数学模型及分析方法;了解并掌握基于MATLAB的控制系统PID控制器的基本设计方法。综合应用MATLAB程序设计语言,根据设计任务要求,完成软件程序的编制并调试运行。 四、实习要求 实习期间,严格遵守课堂纪律,不许迟到、早退;实习期间,学习态度端正,认真上机练习;熟练掌握MATLAB软件的应用方法;完成实习报告一份,内容充实,写出实习的体会与收获;实习报告打印成文。

实验二MATLAB程序设计含实验报告精编版

实验二M A T L A B程序设计含实验报告精编版 MQS system office room 【MQS16H-TTMS2A-MQSS8Q8-MQSH16898】

实验二MATLAB 程序设计 一、 实验目的 1.掌握利用if 语句实现选择结构的方法。 2.掌握利用switch 语句实现多分支选择结构的方法。 3.掌握利用for 语句实现循环结构的方法。 4.掌握利用while 语句实现循环结构的方法。 5.掌握MATLAB 函数的编写及调试方法。 二、 实验的设备及条件 计算机一台(带有以上的软件环境)。 M 文件的编写: 启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正 三、 实验内容 1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。并输入几组典型值加以检验。 (提示:提示输入使用input 函数) 2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。 要求:(1)用switch 语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。 (提示:注意单元矩阵的用法) 3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如: 2?1 3?10?5?16?8?4?2?1 6?3?10?5?16?8?4?2?1 运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。 请为关键的Matlab 语句填写上相关注释,说明其含义或功能。

matlab习题

1.请登陆美国MathWorks 公司的网站(https://www.doczj.com/doc/db6926207.html,),查看看现在大概有多少本MATLAB-based books (以MATLAB 为基本软件,来说明各个专业领域的教科书或工具书)。哪一个领域的MATLAB-based books 最多?中文书共有几本? 2.若有任何MATLAB/Simulink 技术上的问题,可以直接连到MathWorks 公司的技术支持部网站(https://www.doczj.com/doc/db6926207.html,/support) 寻求支持。请在技术支持部网站的搜寻引擎输入「Web Server」,看会传回多少和MATLAB Web Server 相关的信息。 3.请在MATLAB中直接输入下列常数,看它们的值是多少: a.i b.j c.eps d.inf e.nan f.pi g.realmax h.realmin 4.请使用lookfor 指令,找出具有下列功能的MATLAB 指令。(每一项只需找出一个相关度最高的MATLAB 指令。) a.找出矩阵的大小(即行维度和列维度) b.改变矩阵的大小(例如将4×6 的矩阵改成12×2) c.将矩阵左右翻转(Left-right flip) d.将矩阵上下翻转(Up-down flip) e.找出矩阵每一列的最大值 f.对矩阵的每一列进行排序 g.矩阵的旋转(Rotate) h.逆矩阵(Inverse matrix)的计算 i.求矩阵的秩(rank) j.计算矩阵的行阶梯矩阵reduced row echelon form

k.计算矩阵的特征值(Eigenvalues)与特征向量(Eigenvectors) l.直角坐标转成极坐标 m.极坐标转成直角坐标 5.写一个MATLAB 小程序findN01.m,求出最小的n 值,使得n! > realmax。请问n 的值是多少?此时(n-1)! 的值又是多少? 6.MATLAB 的sqrt 指令可对任一数值进行开平方的运算。用此指令求出下列各数的平方根,并验算之: a. b.2*i c.-5+12*i 其中i 是单位虚数。 7.写一个MATLAB 函数myFun.m 来计算下列方程式: y = 0.5*exp(x/3)-x*x*sin(x) 其中x 是函数的输入,y 是函数的输出。你的函数必须能够处理当x 是标量或是向量的两种情况。此外,请利用下述两列程序代码来画出此函数的图形: x=0:0.1:10; plot(x, myFun(x)); 8.写一个MATLAB 函数piFun.m 来计算下列级数: f(n) = 4*(1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ...) 其中n 为函数的输入,代表上述级数的项数,级数和f(n) 则是函数的输出。 9.使用tic 和toc 指令来测量piFun(100000) 的计算时间。请说明你的计算机规格以及其计算时间。 10.请写一个函数minxy.m,其功能是由一个二维矩阵中找出小元素,用法如下: [minValue, minIndex] = minxy(matrix)

matlab7.0详细安装教程

Matlab7.0安装教程详解 开始出现不能 1:在电脑——属性——高级——环境变量里面的temp和tep什么的全部该成一样的中间不能有空格的如D:\temp 2:你的管理员身份不能是中文的 3:在你的盘里面安装一个文件夹和你改变的一样,如D:\temp 4:安装包所在的文件夹不能有中文,不能是2级以上的文件夹,就是安装包最好直接放在哪个盘里面 5:安装时候名字什么都要是中文 6:安装时安装的地方所在的文件夹不能有中文,不能有空格(如progrem files,错) 7:安装完成可以把电脑——属性——高级——环境变量里面的temp和tep改回来 首先,下载一个安装压缩包,网上都有,百度一下就可以 二,要配置环境变量,如下:右键我的电脑(计算机)——属性——高级系统设置——在高级选项卡中,点环境变量——在系统变量中,吧TEMP、TMP的路径改为C:\temp 如图1 图1 三、在C盘下建一个临时文件夹(安装时用) 图2 四、直接双击压缩包中的setup(注意不用解压缩)如图3

图3 图4 五、如图4所示在红线内属于序列号。有以下序列号可供选择: Matlab 7 (R14) 注册码1: 14-13299-56369-16360-32789-51027-35530-39910-50517-56079-43171-436 96-14148-64597-46518-35191-10070-58980-25665-36629-51033-46438-011 27-52395-28569-20030-38795-14563-11876-23292-58825-37547-05827-263 97 Matlab 7 (R14) 注册码2: 14-58204-39252-07634-11570-16849-09455-22809-05445-13616-29058-082 76-06885-12215-41987-21894-60423-57622-18647-58411-24238-20443-590

matlab程序设计实践-牛顿法解非线性方程

中南大学 MATLAB程序设计实践学长有爱奉献,下载填上信息即可上交,没有下载券 的自行百度。所需m文件照本文档做即可,即新建(FILE)→脚本(NEW-Sscript)→复制本文档代码→运行(会跳出 保存界面,文件名默认不要修改,保存)→结果。第 一题需要把数据文本文档和m文件放在一起。全部测 试无误,放心使用。本文档针对做牛顿法求非线性函 数题目的同学,当然第一题都一样,所有人都可以用。 ←记得删掉这段话 班级: 学号: 姓名: 一、《MATLAB程序设计实践》Matlab基础

表示多晶体材料织构的三维取向分布函数(f=f(φ1,φ,φ2))是一个非常复杂的函数,难以精确的用解析函数表达,通常采用离散空间函数值来表示取向分布函数,是三维取向分布函数的一个实例。由于数据量非常大,不便于分析,需要借助图形来分析。请你编写一个matlab程序画出如下的几种图形来分析其取向分布特征:(1)用Slice函数给出其整体分布特征; (2)用pcolor或contour函数分别给出(φ2=0, 5, 10, 15, 20, 25, 30, 35 … 90)切面上f分布情况(需要用到subplot函数);

(3) 用plot函数给出沿α取向线(φ1=0~90,φ=45,φ2=0)的f分布情况。

备注:数据格式说明 解: (1)将文件内的数据按照要求读取到矩阵f(phi1,phi,phi2)中,代码如下: fid=fopen(''); for i=1:18 tline=fgetl(fid); end phi1=1;phi=1;phi2=1;line=0; f=zeros(19,19,19); while ~feof(fid) tline=fgetl(fid); data=str2num(tline); line=line+1; if mod(line,20)==1 phi2=(data/5)+1; phi=1; 数据说明部分,与作图无关 此方向表示f 随着φ1从0,5,10,15, 20 …到90的变化而变化 此方向表示f 随着φ从0,5,10,15, 20 …到90的变化而变化 表示以下数据为φ2=0的数据,即f (φ1,φ,0)

matlab7.1安装教程

安装方法: 1.解压crack 2.打开CD1(不需要要解压),双击setup.exe,进行安装,(crack文件夹中有PLP)。 3.当安装过程中提示插入CD2时,先点Browse,然后打开下载的CD2(不需要要解压),双击setup.exe,注意观察插入光盘的对话框中(就是点了Browse后的对话框)多了哪一个文件,再选择那个文件,确认,OK,就可以继续安装了 4.CD3的安装方法跟CD2一样。安装完成后会出现两个对话框,关掉就行了。 首先下载 http://119.147.41.16/down?cid=CDCA082456D4DFEFF6C7FC985C9910A3748EBF38&t=2&fm t=&usrinput=matlab7.1下载&dt=0&ps=0_0&rt=0kbs&plt=0 然后打开下载的文件,如图打开setup.exe(一般不用解压,解压有可能安装不成功) 然后根据向导一步一步操作.

1.安装完成后,打不开Matlab,弹出一个警告的的错误,一般是你的桌面主题不兼容,换一个主题,或者换成经典视图即可解决. 2.如果打开Matlab如果自动关闭,就看下面操作:

解决如下: 加一个系统的环境变量:“我的电脑右键”--“属性”--“高级”--“环境变量”--“新建” 名称:BLAS_VERSION 值:matlab安装目录atlas_Athlon.dll 例如:图片中我装在D盘的MA TLAB7下,所以值为: D:\MATLAB7\bin\win32\atlas_Athlon.dll 这个时候在打开MA TLAB就不会主动关闭了。 3.成功打开后如果出现--D:\MATLAB7\toolbox\exlink\info.xml中\name> error 其实这对你没什么影响,但是我们可以在D:\MA TLAB7\toolbox\exlink文件夹下,用记事本打开info.xml,在里面找到 \name>改为<\name> 这个时候不出其他问题的话就安装完成了. 呵呵简单吧!这是我自己安装以及帮同学安装出现的问题 1.五、如图4所示在红线内属于序列号。有以下序列号可供选择: Matlab 7 (R14) 注册码1: 14-13299-56369-16360-32789-51027-35530-39910-50517-56079-43171-43696-14148-64597-46518-35191-10070-58980-25665-36629-51033-464 38-01127-52395-28569-20030-38795-14563-11876-23292-58825-37547-05827-26397 Matlab 7 (R14) 注册码2: 14-58204-39252-07634-11570-16849-09455-22809-05445-13616-29058-08276-06885-12215-41987-21894-60423-57622-18647-58411-24238-204 43-59027-07209-27706-28292-14609-15393-48293-13036-12293-43713-57876-43362 Matlab 7 (R14) 注册码3: 14-44889-04614-04275-46147-23559-43066-41714-23083-65272-04997-17469-27919-17226-59862-27901-53983-56217-20094-53460-62647-581 66-24499-35558-19511-44882-53016-25658-61109-03776-34505-00776-15813-07183

相关主题
文本预览
相关文档 最新文档