matlab_控制系统_备注

matlab_控制系统_备注
matlab_控制系统_备注

MATLAB 语言程序设计基础(2)

%第六章微分方程问题的解法 % 微分方程的解析解方法 % 常微分方程问题的数值解法 % 微分方程问题算法概述 % 四阶定步长Runge-Kutta算法及MATLAB 实现 % 一阶微分方程组的数值解 % 微分方程转换 % 特殊微分方程的数值解 % 边值问题的计算机求解 % 偏微分方程的解 % 6.1 微分方程的解析解方法 % y=dsolve(f1, f2, …, fm ,'x') % syms t; u=exp(-5*t)*cos(2*t+1)+5; % uu=5*diff(u,t,2)+4*diff(u,t)+2*u % syms t y; % y=dsolve(['D4y+10*D3y+35*D2y+50*Dy+24*y='... % '87*exp(-5*t)*cos(2*t+1)+92*exp(-5*t)*sin(2*t+1)+10'],'y(0)=3','Dy(0)=2','D2y(0)=0','D3y(0)=0') % [x,y]=dsolve('D2x+2*Dx=x+2*y-exp(-t)',... % 'Dy=4*x+3*y+4*exp(-t)') % syms t x; % x=dsolve('Dx=x*(1-x^2)+1') % Warning: Explicit solution could not be found; implicit solution returned. % > In D:\MATLAB6p5\toolbox\symbolic\dsolve.m at line 292 % x = % t-Int(1/(a-a^3+1),a=``..x)+C1=0 % 故只有部分非线性微分方程有解析解。 % 6.2 微分方程问题的数值解法 % 6.2.1 微方程问题算法概述 %Euler算法% %function [outx,outy]=MyEuler(fun,x0,xt,y0,PointNum) % fun 表示f(x,y); x0,xt:自变量的初值和终值; % y0:函数在x0处的值,其可以为向量形式; % PointNum表示自变量在[x0,xt]上取的点数 % if nargin<5 |PointNum<=0 %PointNum 默认值为100 % PointNum=100; % end % if nargin<4 % y0默认值为0

Matlab语言程序设计

MATLAB 语言程序设计 1、应用题(20 分) 某工厂生产A和B两种产品,它们需要经过三种设备的加工,工时如表1所列。设备一、二、三每天可使用的时间分别不超过12、10和8小时。产品A和B的利润随市场的需求有所波动,如果预测未来某个时期内A和B的利润分别为4000元/吨和3000元/吨,问每天应安排产品A、B各多少吨,才能使工厂获利最大? 表 1 生产产品工时表 产品设备一设备二设备三 A/(小时/吨) 3 3 4 B/(小时/吨) 4 3 2 设备每天最多可工作时数/小时12 10 8 请写出具体解决方案,并编写该解决方案的具体MATLAB程序代码。 假设每天应安排生产产品A和B分别为和吨,依题意可建数学模型如下: max z=4000x 1+ 3000x2 3x1+ 4x2≤12 3x1+ 3x2≤10 4x1+ 2x2≤8 x1≥0, x2≥0 首先将目标函数转换为标准形式:min z=-4000-3000 M文件如下: f = [-4000;-3000]; A = [3 4;3 3;4 2]; b = [12;10;8]; lb = zeros(2,1); [x,fval] = linprog(f,A,b,[],[],lb) 结果如下图1所示: 图1

2、结合MATLAB 图像的读写知识,请你写出具体MATLAB 图像读写方法,结合实例,给出图像读写步骤。(20分) 读写方法: imfinfo(FileNAme) %从FileNAme中获取或显示图像文件的特征数据 [X,cmap]=imread(FileNAme) %读取变址图像的数据矩阵与伴随色图,并分别送给X 和cmap X=imread(FileNAme) %从FileNAme中读取强度图像或真彩图像的数据矩阵并送给X imwrite(X,cmap,FileName,Parameter,Value) %将变址图像写入文件 imwrite(X ,FileName,Parameter,Value)%将强度图像或真彩图像写入文件 [例2-1] M文件如下: I=imread('m2.png'); imwrite(I,'m2.tif'); [X,cmap]=imread('m2.tif'); image(X); colormap(cmap); axis image off; 结果如下图2所示: 图2 3、结合课本第四章所提供的18种绘图方法,请实现其中8种绘图,提供程序代码及所绘制的图形。(30分)

05级通信工程、电子信息工程《MATLAB语言程序设计》考试卷

安徽农业大学2006―2007学年第二学期 《MATLAB 语言程序设计》试卷(A 卷) 考试形式: 闭卷笔试,2小时 适用专业: 05级通信工程、电子信息工程 一、填空题(本题满分30分,每空3分) 1. 设有程序 A=[1,2,3,4;4,3,2,1;1, -2 ,1, -2];B=[3,1,-1;0,4,2];A1=A(:,[1 3]); M=size(A1)+ length(B(:,2)) 将下列命令的运行结果填在横线上 M= ;A1+B' = . 2. A=[1,2,3,4;2,3,4,5;3,4,5,6]; A1=sum(A<4,2);A([2,3],:)=[],A2=A A1= ; A2= ; 3.P=[1,2,3,4;3,0,1,2];max(P)= ;mean(P,2)= 院: 专业班级: 姓名: 学号: 装 订 线

二、(本题满分12分)试编写计算程序 V; 与特征向量 U 的特征值 B 2 A 求 (4). E; 5 B A 2B BX 解矩阵 . (3) ); A B) (B(A R R 的秩 A (2). |; B) 2 B)(A (A | D (1). , 6 2 1 5 7 2 , 2 1 5 1 2 3 3 2 1 1 1 + + = + = + - = ? ? ? ? ? ? ? - = ? ? ? ? ? ? ? = - - T T T B A 方程 设

三、(本题满分8分) 的程序组写出求解超定线性方程?????? ?=++-=++=--=++1 21212:321 321321 321x x x x x x x x x x x x 四、(本题满分16分)运用符号运算功能写出下列各题Matlab 程序 解求方程03.12=-x e x Adx dx A d x wx x x xe A x ??? ????=-1 022,,cos )sin(sin .2并计算 生成符号矩阵

matlab程序设计实例

MATLAB 程序设计方法及若干程序实例 樊双喜 (河南大学数学与 信息科学学院开封475004) 摘要本文通过对 MATLAB 程序设计中的若干典型问题做简要的分析和总结,并在此基础上着重讨论了有关算法设计、程序的调试与测试、算法与程序的优化以及循环控制等方面的问题.还通过对一些程序实例做具体解析,来方便读者进行编程训练并掌握一些有关MATLAB 程序设计方面的基本概念、基本方法以及某些问题的处理技巧等.此外,在文章的最后还给出了几个常用数学方法的算法程序, 供读者参考使用.希望能对初学者进行 MATLAB 编程训练提供一些可供参考的材料,并起到一定的指导和激励作用,进而为MATLAB 编程入门打下好的基础. 关键字算法设计;程序调试与测试;程序优化;循环控制 1 算法与程序 1.1 算法与程序的关系算法被称为程序的灵魂,因此在介绍程序之前应先了 解什么是算法.所谓算 法就是对特定问题求解步骤的一种描述.对于一个较复杂的计算或是数据处理的问题,通常是先设计出在理论上可行的算法,即程序的操作步骤,然后再按照算法逐步翻译成相应的程序语言,即计算机可识别的语言. 所谓程序设计,就是使用在计算机上可执行的程序代码来有效的描述用于解决特定问题算法的过程.简单来说,程序就是指令的集合.结构化程序设计由于采用了模块分化与功能分解,自顶向下,即分而治之的方法,因而可将一个较复杂的问题分解为若干子问题,逐步求精.算法是操作的过程,而程序结构和程序流程则是算法的具体体现. 1.2MATLAB 语言的特点 MATLAB 语言简洁紧凑,使用方便灵活,库函数极其丰富,其语法规则与科技人员的思维和书写习惯相近,便于操作.MATLAB 程序书写形式自由,利用其丰富

《MATLAB语言程序设计》练习题1(08通信)

《MATLAB语言程序设计》练习题1(2010.5) 一、填空题 1.设有程序 A=[1,2,3,4;6,-5,6,3];B=[2,4,5,7];A1=A(:,[1 3 4]);A2=A(1,[2,3]). 将下列命令的运行结果填在横线上 size(A)= ;A(1,: ).*B= ;length(B)= ; A1= ; A2= ;A+3= ;B.^2= 2. A=[1,2,3,4;6,-5,6,3];B=[-2,4,-6,7,9];A1=(A<3);A2=all(A(:,1)<5);A3=any(A(2,:)<10); A4=find(abs(B)<3| abs(B)>7); A5=find(abs(B)<7& abs(B)>3) A1= ; A2= ; A3= ; A4= ;A5= .

; ).4(; 2(3).);BA R(A R 2).A (|;)(|).1(,21 4154 101 ,32 1214 1531 1 1 V U A E B A B AX AB D B A :、T T 与特征向量 的特征值 求解矩阵方程 的秩设题试编写程序计算下列各二+=+==???? ? ? ?--=????? ? ?-=--- ??? ?? ?? ??=+-=++-=++=-+=++???????=-++-=-++=-++=+++?? ?=-++=+++3 512332232.31 23322352:.2221 432:.13213213213213214321 43214321432143214321x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x 、超定方程组 恰定方程组 欠定方程组 程组的程序 写出求解下列各线性方三 .)(,cos 3)sin()sin(cos 2sin )(.3;)(,,1 sin )ln(.2;02.1: ,4 321 2 2 2 2 3 变换的计算并计算生成符号矩阵 的根求方程下列各题运用符号运算功能计算四Laplace t A wt e wt t t te t t t te t t A dx x A dx A d x x e s x x A x x 、ut t t x ? ??? ? ??? ? ?=??? ? ??? ?+==+---? 的解 函数求解微分方程用1)0(')0(,sin '2".4===++x x t x x x dsolve (1) 若.2 c bt at y t y ++=的经验公式为 与试编写程序计算出上式中的a 、b 、c;

MATLAB 语言程序设计基础(1)

%第二章MATLAB 语言程序设计基础% % MATLAB 基本命令简介 % MATLAB 程序设计语言基础 % 基本数学运算 % MATLAB语言流程控制 % MATLAB 函数的编写 % 二维图形绘制 % 三维图形绘制 % 二维图形 % 基本平面 % plot % fplot%f(x) %fplot('tanh',[-2 2]) % loglog%双对数图形 % semilogx%x轴对数图形 % semilogy %zoom %meshgrid

% 特殊平面 %polar %bar %barh %compass %comet %errorbar %feather %hist 二维直方图%histc 直方图记数%rose 角度直方图%stairs %stem 柄形图 %stem3 %pie 饼形图 % 注释命令 % grid % gtext % text % legend % title

% xlabel,ylabel % 三维图形 % % 三维曲线,面填色命令 % comet3 三维彗星 % fill3 % 三维图形等高线 %clabel 二维等高线图中添加高度标签 % [x,y] = meshgrid(-2:.2:2); % z = x.*y.*exp(-x.^2-y.^2); % [C,h] = contour(x,y,z); % clabel(C,h); %contour %contourc 低级等高线图形计算命令。计算等高线矩阵c %contour3 三维空间等高线图 %contourf 填充二维等高线图 %contour,contour3和contourf %pie3

大学毕业设计-MATLAB语言程序设计

MATLAB语言程序设计 系别:电子电气工程系 班级:08级自动化班 姓名:XXX 学号:

1.编写一个求圆的面积的函数文件。 >> f(1) s = 3.1416 >> f(2) s = 12.5664 通过此题掌握了独立文件与函数文件的区别。 2.三次抛物线的方程为:y=a*x^3+b*x^2+c*x 试探讨参数a,b和c对其图形的影响。 >> clear all; >> subplot(1,3,1) >> fplot('(-2:2)*x.^3+x.^2+x',[-2 2]) %绘制变量a=-2,-1,0,1,2时的图形 >> grid,axis('equal'),axis([-2 2 -4 4]) %显示网格,纵横坐标轴保持一致图 >> %显示区间 >> subplot(1,3,2) >> fplot('x.^3+(-2:2)x.^2+x',[-2 2]) %绘制变量b=-2,-1,0,1,2时的图形 >> fplot('x.^3+(-2:2)*x.^2+x',[-2 2]) %绘制变量b=-2,-1,0,1,2时的图形 >> grid,axis('equal'),axis([-2 2 -4 4]) >> subplot(1,3,3) >> fplot('x.^3+x.^2+(-2:2)*x',[-2 2]) %绘制变量c=-2,-1,0,1,2时的图形 >> grid,axis('equal'),axis([-2 2 -4 4]) >> gtext('a=2'),gtext('a=-2'),gtext('a=0') %用gtext命令在其他两个子图上标注字符程序运行结果如下:

MATLAB软件语言及程序设计报告(含源程序版

MATLAB软件语言及程序设计 姓名: 学号: 班级: 院系: 指导老师:张登峰 时间:2010-5-10

一、问答题(15分) 1. 在安装MATLAB软件时,哪些组件(模块)是必须选择的?否则,不能建立MATLAB工作环境。 Toolboxes、MATLAB、Complier 2. 写出MA TLAB中的6个预定义变量名,并说明各自的含义。 ans:计算结果的缺省变量名 pi:圆周率 i,j:虚数单位 inf:无穷大 eps:计算机的最小数 NaN:不定量,如0/0,00/00 nargin:函数的输入变量个数 nargout:函数的输出变量个数 realmin:最小正实数 realmax:最大正实数 lasterr:存放最新的错误信息 lastwarn:存放最新的警告信息 3. 在MA TLAB指令窗中运行指令(-243)^(1/5)后,会得到-3吗? 的全部方根有几 个,请写出计算全部方根的M文件程序代码,要求对每条语句加注释说明。 不会,会得到2.4271 + 1.7634i,用nthroot(-243,5)可以得到一个根-3。 可以用solve解决,程序如下 solve('t^5+243') 得到结果为: ans = -3 -3/4*5^(1/2)+3/4-3/4*i*2^(1/2)*(5+5^(1/2))^(1/2) 3/4*5^(1/2)+3/4-3/4*i*2^(1/2)*(5-5^(1/2))^(1/2) 3/4*5^(1/2)+3/4+3/4*i*2^(1/2)*(5-5^(1/2))^(1/2) -3/4*5^(1/2)+3/4+3/4*i*2^(1/2)*(5+5^(1/2))^(1/2) 4. 指令clear,clf,clc各有什么用处,它们运行结果的区别是什么? Clear :清除内存中所有的或指定的变量和函数 Clf:擦除MATLAB当前工作窗口中的图形 Clc:擦除MATLAB工作窗口中所有显示的内容 5. 在MATLAB指令表达式中,标点符号“空格”和“逗号”各有什么作用?请举例说明,在哪些情况下,两者的作用相同?在哪些情况下,二者的作用不同? 空格和逗号都能起到分隔符的作用,逗号可作为函数分割符,也用于区分行,显示运算结果,当然不加标点也显示运算结果,而在大多数情况下,MA TLAB对空格不予处理。

实验1 Matlab程序设计基础

实验1 Matlab 程序设计基础 一、实验名称:Matlab 程序设计基础. 二、实验目的:掌握Matlab 语言,会用Matlab 进行一些简单的程序设计. 三、实验要求: 1、对以下问题,编写M 文件: (1)用起泡法对10个数由小到大排序.即将相邻两个数比较,将小的调到前头. (2)有一个4×5矩阵,编程求其最大值及其所处的位置. (3)编程求∑=20 1!n n . (4)一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下.求它在第10次落地时,共经过多少米?第10次反弹有多高? (5)有一函数f(x,y)=x^2+sin(x*y)+2*y ,写一程序,输入自变量的值,输出函数值. 2、在同一平面中的两个窗口分别画出心形线和马鞍面. 要求: (1)在图形上加格栅、图例和标注. (2)定制坐标. (3)以不同角度观察马鞍面. 3、请编写绘制以下图形的Matlab 命令,并展示绘得的图形: (1)4,12222=+=+y x y x 分别是椭圆14/2 2=+y x 的内切圆和外切圆; (2)指数函数和对数函数x y ln =的图像关于直线x y =对称. 四、实验内容: 1、1)源程序: function p=paixu(a) a=[1,2,5,6,8,7,9,4,3,0]; for i=9:-1:1 for j=1:i if a(j)>a(j+1) t=a(j); a(j)=a(j+1); a(j+1)=t; end end end a 调试结果:a = 0 1 2 3 4 5 6 7 8 9 2)源程序: function j=juzhen(a)

MATLAB程序设计复习题(最新整理)

《MATLAB程序设计》复习题 一填空题 1 已知A=[ 2 5 6;1 7 8];B=[1 4 3;4 7 0];写出下列各指令运行的结果。 A & B 的运行结果为 [1 1 1;1 1 0] 。 A== B的运行结果为 [0 0 0 ;0 1 0] 。 2 产生3阶单位阵的命令为 eye(3) ;产生4阶全1方阵的命令为ones(4)。 3 A=rand(5,8);b=size(A);c=length(A);则b和c的值分别为[5,8]和8。 4 求矩阵的特征值的指令为 eig 。 5符号;可以使命令行不显示运算结果, % 用来表示该行为注释行。6在线形图型格式的设置中,字符r表示什么颜色(红色) 7fix函数四舍五入对数组[3.17,5.34,8.90,2.52]取整,结果为 [3 5 8 2] 。 8 P, Q分别是个多项式的系数矢量,求P对应的多项式的根,使用的命令是 roots(P) 9使2个plot的图形在同一个坐标显示,使用 hold on 命令进行图形保持,使用 grid on 命令为图形添加网格。 10 数据拟合采用___polyfit___函数;求不定积分采用___ int ___函数。 11 A=rand(2,5);b=size(A);c=length(A);则b和c的值分别为_2 5和5__ 12已知A是矩阵,求A的对角矩阵函数是___diag(A)____,求A的下三角矩阵函数是__tril(A)____。 13条形图由函数__bar___来实现。 14已知s=‘显示“hey”’,则s的元素个数是9 二解答题 1、A=[71,3,-8; 2,-9,8; 0,4,5]

MATLAB课程设计报告(绝对完整)

课程设计任务书 学生姓名:董航专业班级:电信1006班 指导教师:阙大顺,李景松工作单位:信息工程学院 课程设计名称:Matlab应用课程设计 课程设计题目:Matlab运算与应用设计5 初始条件: 以上版本软件; 课程设计辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应用”、线性代数及相关书籍等; 先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类相关课程等。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) 课程设计内容:根据指导老师给定的7套题目,按规定选择其中1套完成; 本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结。具体设计要求包括: 初步了解Matlab、熟悉Matlab界面、进行简单操作; MATLAB的数值计算:创建矩阵矩阵运算、多项式运算、线性方程组、数值统计; 基本绘图函数:plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形标注、简单颜色设定等; 使用文本编辑器编辑m文件,函数调用; 能进行简单的信号处理Matlab编程; 按要求参加课程设计实验演示和答辩等。 课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括: 目录; 与设计题目相关的理论分析、归纳和总结; 与设计内容相关的原理分析、建模、推导、可行性分析; 程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结; 课程设计的心得体会(至少500字); 参考文献(不少于5篇); 其它必要内容等。 时间安排:周(分散进行) 参考文献: (美)穆尔,高会生,刘童娜,李聪聪.MATLAB实用教程(第二版) . 电子工业出版社,2010. 王正林,刘明.精通MATLAB(升级版) .电子工业出版社,2011. 陈杰. MATLAB宝典(第3版) . 电子工业出版社,2011. 刘保柱,苏彦华,张宏林. MATLAB 从入门到精通(修订版) . 人民邮电出版社,2010. 指导教师签名:年月日 系主任(或责任教师)签名:年月日

《MATLAB7.x》程序设计语言(第二版)课后题答案

《MATLAB7.x》程序设计语言(第二版)部分课后习题答案(楼顺天,姚若玉,沈俊霞编著) 说明:所有答案均是本人在备考过程中亲自整理的,收录了一部分题目的答案。答案可能存在不足甚至谬误,很多算法也可能不是最优的,仅供参考。本人尽力整理的一点点心血,希望对大家有所帮助。 第二章 8、 a=rand(5,5); [i,j]=find(a>0.5); for u=1:length(i); b(u)=a(i(u),j(u)); end b' 10、aa=any(a'); i=find(aa==0) a(i,:)=[]; 第四章 1、function flag=isprime(m) %m为素数,flag=1 %m不为素数,flag=0 k=sqrt(m); flag=1; for i=2:k; if rem(m,i)==0; flag=0; break end end m=input('input an integer\n'); flag=isprime(m); if flag==1 disp([num2str(m),'是素数']) else disp([num2str(m),'不是素数']) end 4、function [x1,x2]=jfc(a,b,c) d=b^2-4*a*c; if d>0; x1=(-b-sqrt(d))/(2*a); x2=(-b+sqrt(d))/(2*a); elseif d==0; x1=-b/(2*a); x2=x1; end

a=input('a='); b=input('b='); c=input('c='); [x1,x2]=jfc(a,b,c); if x1~=x2; disp('原方程存在两个不同的根') disp(['x1=',num2str(x1)]) disp(['x2=',num2str(x2)]); elseif x1==x2; disp('原方程存在两个相同的根') disp(['x1=x2=',num2str(x1)]) else disp('原方程的根不存在') end %MATLAB上机作业,184页习题4,求二次方程的实根 function [s1,s2]=solve(a,b,c) d=b^2-4*a*c; if d>0 s1=(-b-sqrt(d))/(2*a) s1=(-b-sqrt(d))/(2*a) %disp(['原方程有两个不同的根'num2str(s1)'和'nums2tr(s2)]) elseif d==0 s1=(-b-sqrt(d))/(2*a); s1=(-b-sqrt(d))/(2*a); %disp(['原方程有两个相同的根'num2str(s1)) else disp('原方程无实根') end end 5、x=-3:0.01:3; if x>=-3 & x<-1; y=(-x.^2-4*x-3)/2; elseif x>=-1 & x<1; y=-x.^2+1; else y=(-x.^2+4*x-3)/2; end plot(x,y) 6、%MATLAB上机作业,184页习题6,点不同按钮产生不同分布的数 s=menu('请选择随机数类型','U[-10,10]','U[-5,5]','U[-1,1]','N(0,1)'); switch s case 1,n=(rand(1)-0.5)*20; case 2,n=(rand(1)-0.5)*10; case 3,n=(rand(1)-0.5)*2; case 4,n=randn(1); otherwise disp('请选择!')

电子书_MATLAB程序设计与应用(第二版)

阅阅读读时时::请请选选择择““视视图图 || 文文档档结结构构图图””,,弹弹出出文文档档中中的的标标题题链链接接。。 数学软件 MATLAB 程序设计与应用

第1章MATLAB系统环境 1.1 MATLAB概貌 1.2 MATLAB环境的准备 1.3 MATLAB操作界面 1.4 MATLAB帮助系统 自上世纪80年代以来,出现了科学计算语言,亦称数学软件。 MATLAB Mathematica Mathcad Maple LINDO LINGO 1.1 MATLAB概貌p3 MATLAB 是MATrix LABoratory(矩阵实验室)的缩写。 1984年由Math Works 公司推出,现已成为国际公认的优秀的工程应用开发环境,是影响最大,流行最广的科学计算语言。 1.1.1 MATLAB的发展 2. 例如MATLAB7.6的建造编号是R2008a。说明MATLAB7.6与MATLAB2008a是等同的;

3. 对于建造编号,正规化以后,每年出两个版本。一般来说。a是测试版,b是正式版。a是前半 年出,b是后半年出。 教材采用MATLAB7.0(R14,2004) 实验室采用MATLAB 7.8(R2009a,2009.3,汉化) 1.1.2 MATLAB的主要功能p4 ◆数值计算和符号计算功能 ◆绘图功能 ◆语言体系 ◆MATLAB工具箱 (1) 数值计算和符号计算功能 MATLAB以矩阵作为数据操作的基本单位,还提供了十分丰富的数值计算函数。 MATLAB先后和著名的符号计算语言Maple与MuPAD(从MATLAB 2008b开始使用MuPAD)相结合,使得MATLAB具有符号计算功能。 (2) 绘图功能 可以绘制二维和三维图形。 MATLAB提供了两个层次的绘图操作: ●对图形句柄进行的低层绘图操作; ●建立在低层绘图操作之上的高层绘图操作。 (3) 语言体系 MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。 MATLAB是解释性语言,不能脱离MATLAB环境而独立运行。 (4) MATLAB工具箱 MATLAB包含两部分内容:基本部分和各种可选的工具箱。 MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。 基本部分 构成MATLAB的核心内容,也是使用和构造工具箱的基础。 功能性工具箱 主要用来扩充其符号计算功能、可视建模仿真功能及文字处理功能等。 学科性工具箱 Control System Toolbox 控制系统工具箱 Signal Processing Toolbox 信号处理工具箱 Neural Network Toolbox 神经网络工具箱 Optimization Toolbox 最优化工具箱 Financial Toolbox 金融工具箱 Statistics Toolbox 统计学工具箱 开始→工具箱 MATLAB具备很强的开放性 除内部函数外,所有MATLAB基本文件和各工具箱文件都是可读、可改的源文件,用户可通过对源文件的修改或加入自己编写的文件去构成新的专用工具箱。

MATLAB程序设计语言

第二章MATLAB程序设 计语言

§2.1 MATLAB6.1的启动 一、MATLAB启动 MATLAB启动有两种方法: (1)MATLAB6.1的图标快捷启动方式 (2)菜单启动方式 §2.2 MATLAB环境 一、MATLAB的命令窗口 1、命令窗口的命令菜单 2、命令窗口的工具栏 3、命令窗口的命令编辑区 ↑:光标移到上一行 ↓:光标移到下一行 ←:光标回移一个字符 →:光标向右移一个字符 Ctrl→:向右移一个单词 Ctrl←:向左移一个单词 Backspace:删除光标前字符 Delete:删除光标后字符 End:光标移到行尾 Home:光标移到行首 Esc:删除一行 注:1)在MATLAB的命令窗口里,在语句行尾加上3个英文句号表示续行;

2)运算符“=”、“+”、“-”前后的空格不影响计算结果; 3)在输入命令后以分号结束,则不会显示命令执行结果,但可以使程序运行的速度大大提高,这对输出数据的程序特别有用。 二、MATLAB的工作空间 三、MATLAB的程序编辑器 四、MATLAB的work子目录 五、MATLAB运行外部程序

§2.3 MATLAB数值运算基础 MATLAB是一个高级的数学分析与运算软件,正如其名(矩阵实验室),它非常适用于矩阵的分析与运算。 MATLAB数值运算的表达式变量中不允许有未定义的自由变量,MATLAB 的数值运算主要是指数组的运算与矩阵的运算。不需要事先定义,MATLAB系统定义的数值元素是复数,这是MATLAB区别其他高级语言的最大特点之一,它给诸多领域的数值计算带来极大的方便。 一、常量与变量 1、常量 MATLAB中使用的数据有常量和变量。常量有实数常量与复数常量两类。复数由实部与虚部组成。常量可以使用传统的十进制计数法表示,也可以使用科学技术法来表示。 在MATLAB中,虚数单位i=sqrt(-1),在工作空间内显示的值为 i= ans= 0+1.000i 复数常量的生成可以利用如下语句: Z=a+bi 或 Z=r+exp(θ*i) ,其中r是复数的模,θ是复数幅角的弧度数 2、变量 MATLAB里的变量无需事先定义。一个程序中的变量,以其名称在语句命令中的第一次合法出现而定义。 注:MATLAB变量名称的命名不是任意的,其命名规则如下:

MATLAB语言程序设计测试题及解答

《MATLAB语言程序设计》练习题1(2007.4) 一、填空题 1.设有程序 A=[1,2,3,4;6,-5,6,3];B=[2,4,5,7];A1=A(:,[1 3 4]);A2=A(1,[2,3]). 将下列命令的运行结果填在横线上 size(A)= 2 4 ;A(1,: ).*B=[2 8 15 28] ;length(B)= 4 ; A1= 1 3 4 6 6 3 ; A2= 2 3 ; A+3= 4 5 6 7 9 -2 9 6 ; B.^2= 4 16 25 49 2. A=[1,2,3,4;6,-5,6,3];B=[-2,4,-6,7,9];A1=(A<3);A2=all(A(:,1)<5);A3=any(A(2,:)<10); A4=find(abs(B)<3| abs(B)>7); A5=find(abs(B)<7& abs(B)>3) A1= 1 1 0 0 0 1 0 0; A2=0 ; A3= 1 A4= 1 5 ;A5= 2 3 . 3. n=1;a=1; while sum(1:n)<10 n=n+1;a=a*n; end a a= 24 . 4. a=[ ]; for i=1:3; for j=i:3; a(i,j)=i+j; end; end a a= 2 3 4 0 4 5 0 0 6 .

5. a=[90,70,65,54,76]; n=length(a);b=zeros(1,n); for i=1:n if a(i)>75 b(i)=100-a(i); elseif a(i)<=75 b(i)= a(i)-60; end end b b= 10 10 5 -6 24 6. function y=temf(a) if length(a)<2 y=a; else y=max(a)-min(a) end temf([23 45 67 89])= 66 ; temf(78)= 78 .

相关文档
最新文档