matlab讲义汇总
- 格式:ppt
- 大小:1.14 MB
- 文档页数:46
MA TLAB讲义一.MA TLAB简介。
1.简要说明MA TLAB的发展历史:1)Matrix Laboratory,最初为矩阵运算的接口程序。
集数值计算,图形处理,图象处理,符号计算,文字处理,数学建模,实时控制,动态仿真,信号处理的功能。
2)最新版本6.52.MA TLAB的构成1)以矩阵为基本的计算单位,拥有各种控制语句,大量的函数。
2)工作环境(打开MA TLAB)Command window3)MA TLAB工具箱。
控制系统,模糊系统,通信等等。
3.安装。
二.MA TLAB入门。
1.视窗环境。
1)Command window. File/ new;preference(更改字体);serpath(搜索路径;字符x 搜索顺序:1变量2内置函数3当前目录m文件4搜索路径中m文件eg.sin);View/Command window;Launch pad2)程序调试/编辑器:单击new2.常用命令。
1)获得帮助:help;lookfor;view/help/demos/control system toolbox2)变量及空间管理:1 变量的空间形式。
即用即删。
who,whos,clear,clc,length,dispeg. A=[0:0.1:1] length(A)2 数值输出format short(缺省显示)/rational(分数近似)/long/long e/short esym(); vpa()3)MA TLAB运算符0.算术运算符:加法减法:>>a=[1 2 3;4 5 6];b=[4 5 6;1 2 3];c=1;>>a+b,a+c,a-b乘法:a的列数=b的行数>>b=magic(3)>>a*b除法:左除/ >>1/2 右除\ >>1\21.关系运算>,>=,<,<=,==,~= 同型矩阵为对应元素比较,返回1为真,0为假eg. >>a=magic(3);b=ones(3)2.逻辑运算符&,|,~,xor(a,b),3.特殊运算符:冒号(1)m:n >>a=1:8(2)m:p:n >>a=1:2:8(3)通配符>>b=magic(4) >>b(:,2),b(2,:),b(:,1:3)>>b=[1:3;5:9](不要太为难计算机)3.数组与矩阵1)矩阵的创建:(1)直接输入>>[1,2;3,4] 或>>[1,23,4](2)使用冒号>>a=[-pi:pi;1:7]由矩阵生成矩阵>>b=a(:,2:4) (生成一般用[],调用一般用())(3)特殊矩阵>>zeros(4) >>ones(4) >>magic(3)>>eye(2,3)(对角为1)2) 数组的创建:(1)直接输入:(2)>>a=linspace(初值,终值,元素个数) 与用冒号区别(3)>>b=logspace(初始指数,终结指数,元素个数)eg. >>b=logspace(0,2,3) (分析两者的内在关系)3) 数组运算:(1) 加,减,标量乘>>a=[0:10] >>a*5(2) 向量的点乘,点除,乘方:向量的对应分量相乘除乘方,点除分左除和右除。
我们学校地数学建模上机课也有Mathlab程序,看看下面有没有你要找地. 一基本运算1 求输入(12+2*(7-4>>/3^2执行2 输入x = (5*2+1.3-0.8>*10^2/25执行再输入y= 2*x+1执行3 执行clear命令.观察结果4计算圆面积Area = ,半径r = 2,则可键入r=2。
area=pi*r^2。
area 问:语句末尾加分号与不加分号有何区别?请实验之5常用函数名称含义名称含义sin 正弦exp E为底地指数cos 余弦log 自然对数tan 正切log10 10为底地对数cot 余切log2 2为底地对数asin 反正弦abs 绝对值acos 反余弦例:1)执行y = sin(10>*exp(-0.3*4^2> 2)想计算地值输入y1=2*sin(0.3*pi>/(1+sqrt(5>>执行之若又想计算,可以简便地用操作:先按á键则会出现上面输入过地指令y1=2*sin(0.3*pi>/(1+sqrt(5>> ;然后移动光标,把y1改成y2;把 sin 改成 cos 便可.即得y2=2*cos(0.3*pi>/(1+sqrt(5>>然后执行之.系统默认4位有效数字,若想提高精度则可如下:digits(10>。
sym(y2,'d'> 执行就可精确到小数点后10位,还可将10改为其它数字实验二矩阵运算1要得到矩阵, 可输入 A = [1,2,3。
4,5,6。
7,8,9] 执行,观察结果还可分行输入A=[1,2,34,5,67,8,9]效果相同2 注意%号后地语句为注释,练习时不必输入>>a=[1,4,6,8,10] %一维矩阵>>a(3> % a地第三个元素ans = 6»x =[1 2 3 4 5 6 7 84 5 6 7 8 9 10 11]。
第 6 章 M 文件和函数句柄6.1 Matlab 控制流6.2 脚本文件和函数文件 6.3 Matlab 的函数类别 6.4 函数句柄6.1 MATLAB 控制流6.1.1 if-else-end 条件控制 6.1.2 swith-case 控制语句 6.1.3 for 循环和while 循环6.1.4 控制程序流和的其他常用指令6.1.1 if-else-end 条件控制【例 6.1-1】已知x x x e y x si n )1.0(5.0si n 21.0+-=-,在505x -≤≤区间,求函数的最小值。
-50-45-40-35-30-25-20-15-10-55010203040506070x sin(x)2/exp(x/10) - (sin(x) (x + 1/10))/2在第四章中采用的方法(1)采用优化算法求极小值x1=-50;x2=5; %yx=@(x)(sin(x)^2*exp(-0.1*x)-0.5*sin(x)*(x+0.1)); [xc0,fc0,exitflag,output]=fminbnd(yx,x1,x2)%<9>%(2)据图形观察,重设fminbnd 的搜索区间 xx=[-23,-20,-18]; % fc=fc0;xc=xc0; % for k=1:2[xw,fw]=fminbnd(yx,xx(k),xx(k+1)); %<16>if fw<fc xc=xw; fc=fw; end endfprintf('函数最小值%6.5f 发生在x=%6.5f 处',fc,xc) 函数最小值-3.34765发生在x=-19.60721处 1)function [xmin,fmin,n]=exm060101(fx,a,b,Nt)% exm060101.m% fx% a、b% Nt% xmin、ymin% n[~,f0]=fminbnd(fx,a,b); %n=1; %jj=1; %while 1n=2*n; %d=(b-a)/n; %x=a:d:b; %ii=0;xc=zeros(1,n);fc=xc; %for k=1:n %[w,f,eflag]=fminbnd(fx,x(k),x(k+1)); %if eflag>0 %ii=ii+1;xc(ii)=w;fc(ii)=f;endend[fmin,kk]=min(fc); %xmin=xc(kk); %if abs(f0-fmin)<1e-6 %jj=jj+1; %if jj>Nt %break %endelseif f0-fmin>1e-6 %f0=fmin; %jj=1; %endend2)clearfx=@(x)(sin(x)^2*exp(-0.1*x)-0.5*sin(x)*(x+0.1)); a=-50;b=5;[xmin,fmin,n]=exm060101(fx,a,b,3);fprintf('在x=%6.5f处,函数到达最小值%6.5f\n',xmin,fmin)fprintf('最终子区间分割数为 %d\n',n)在x=-19.60721处,函数到达最小值-3.34765最终子区间分割数为 1286.1.2switch-case控制结构【例6.1-2】已知学生姓名和百分制分数,用“满分”,优秀、良好、及格和不及格表示学生成绩clear;%for k=1:10a(k)={89+k};b(k)={79+k};c(k)={69+k};d(k)= {59+k};end;c=[d,c];%A=cell(3,5); %A(1,:)={'Jack','Marry','Peter','Rose','Tom' };% <7>A(2,:)={72,83,56,94,100}; % <8> %for k=1:5switch A{2,k} % case 100 % r='满分'; case a % r='优秀'; case b % r='良好'; case c % r='及格'; otherwise %r='不及格'; endA(3,k)={r}; end AA ='Jack' 'Marry' 'Peter' 'Rose' 'Tom' [ 72] [ 83] [ 56] [ 94] [100]'及格' '良好' '不及格' '优秀' '满分'6.1.3 for 循环和while 循环【例 6.1-3】请分别写出用for 和while 循环语句计算1000000210000002.02.02.012.0+++==∑= i i K 的程序。
《Matlab仿真应用详解》一、基本概念1.1、什么是计算机仿真1、仿真定义基本思想:仿真的基本思想是利用物理的或数学的模型来类比模仿现实过程,以寻求过程和规律。
它的基础是相似现象,相似性一般表现为两类:几何相似性和数学相似性。
当两个系统的数学方程相似,只是符号变换或物理含义不同时,这两个系统被称为“数学同构”。
仿真的方法可以分为三类:(1)实物仿真。
它是对实际行为和过程进行仿真,早期的仿真大多属于这一类。
物理仿真的优点是直观、形象,至今在航天、建筑、船舶和汽车等许多工业系统的实验研究中心仍然可以见到。
比如:用沙盘仿真作战,利用风洞对导弹或飞机的模型进行空气动力学实验、用图纸和模型模拟建筑群等都是物理仿真。
但是要为系统构造一套物理模型,不是一件简单的事,尤其是十分复杂的系统,将耗费很大的投资,周期也很长。
此外,在物理模型上做实验,很难改变系统参数,改变系统结构也比较困难。
至于复杂的社会、经济系统和生态系统就更无法用实物来做实验了。
(2)数学仿真。
就是用数学的语言、方法去近似地刻画实际问题,这种刻画的数学表述就是一个数学模型。
从某种意义上,欧几里德几何、牛顿运动定律和微积分都是对客观世界的数学仿真。
数学仿真把研究对象(系统)的主要特征或输入、输出关系抽象成一种数学表达式来进行研究。
数学模型可分为:●解析模型(用公式、方程反映系统过程);●统计模型(蒙特卡罗方法);●表上作业演练模型然而数学仿真也面临一些问题,主要表现在以下几个方面:●现实问题可能无法用数学模型来表达,即刻画实际问题的表达式不存在或找不到;●找到的数学模型由于太复杂而无法求解;●求出的解不正确,可能是由模型的不正确或过多的简化近似导致的。
(3)混合仿真。
又称为数学—物理仿真,或半实物仿真,就是把物理模型和数学模型以及实物联合在一起进行实验的方法,这样往往可以获得较好的效果。
2、计算机仿真计算机仿真也称为计算机模拟,就是利用计算机对所研究系统的结构、功能和行为以及参与系统控制的主动者——人的思维过程和行为,进行动态性的比较和模仿,利用建立的仿真模型对系统进行研究和分析,并可将系统过程演示出来。
第2章MATLAB程序设计MATLAB语言为解释型程序设计语言。
在程序中可以出现顺序、选择、循环三种基本控制结构,也可以出现对M-文件的调用(相当于对外部过程的调用)。
由于 MATLAB开始是用FORTRAN语言编写、后来用 C语言重写的,故其既有FORTRAN的特征,又在许多语言规则方面与C语言相同。
2.1 顺序结构语句在顺序结构语句中,包括表达式语句、赋值语句、输入输出语句、空语句等。
2.1.1 表达式语句格式:表达式,%显示表达式值表达式;%不显示表达式值表达式%显示表达式值如:x + y,sin(x);–5最后的表达式值暂保存在变量ans中。
2.1.2 赋值语句格式:v =表达式,%结果送v并显示vv =表达式;%结果送v不显示vv =表达式%结果送v并显示v2.1.3 空语句格式:,;2.1.4 输入语句1、input语句(实际上是函数)格式1:input(提示字符串)功能:显示提示字符串,可输入数字、字符串(两端用单引号括起)、或表达式格式2:input(提示字符串,'s')功能:显示提示字符串,并把输入视为字符串2、yesinput语句格式:yesinput(提示字符串,缺省值,值范围)功能:显示提示字符串和缺省值,若只打入回车则以缺省值作为输入值,若输入的值不在指定范围内则认为输入无效,B并等待用户重新输入。
如:t=yesinput('指定线的颜色',…'red','red|blue|green')运行结果如下:指定线的颜色(red):yellow %不在值内指定线的颜色(red):blue %重输t =bluex=yesinput('输入元素个数',10,[1,20])运行结果如下:输入元素个数(10):x =103、Keyboard语句格式:Keyboard功能:暂停M-文件的执行,并等待用户从键盘输入命令以查看或改变变量的值,直到输入return命令而返回相应的M-文件继续执行。