matlab讲义

合集下载

matlab培训讲义

matlab培训讲义

MATLAB 解方程讲师:施六五邮箱:shiliuwu@主要内容:●界面设置●编辑和调试●解方程●拟合●积分●优化一、界面的设置⏹Perference设置字体,属性等⏹Set path 添加路径,增加具体的子函数⏹Desktop→Desktop Layout→Default ⏹Command window(tab type)⏹Command history⏹帮助窗口(doc docsearch look for )二、编辑与调试⏹M文件:函数文件和脚本文件⏹文件的命名:不能与matlab内部函数同名⏹多行注释:1.Ctrl+R,Ctrl+T 2.if o end,3.%{ %}⏹自动缩进:Ctrl+I⏹双击变量查看该程序的所有的该变量⏹做标记Ctrl+F2更多右键信息⏹设置断点,F5,F10,F11,Go until Cursor ⏹分块执行%%⏹程序中断:命令窗口输入Ctrl+C⏹cell模式%% 按住Ctrl+Enter解方程●线性方程●非线性方程●隐函数方程●带参数的方程求解●微分方程●积分方程●优化线性方程组Ax=b x=A\b矩阵的分解求解线性方程组矩阵分解是指根据一定的原理用某种算法将一个矩阵分解成若干个矩阵的乘积。

常见的矩阵分解有LU分解、QR 分解、Cholesky分解,以及Schur分解、Hessenberg分解、奇异分解等。

(具体可以查看帮助文件)非线性方程求解函数:fzero 求解单变量非线性方程的根基本用法:z=fzero('fname',x0,tol,trace)例子:初值的选取Data cursor 获取坐标ar-1-0.8-0.6-0.4-0.200.20.40.60.81texp(-3 t) sin(4 t+2)+4 exp(-0.5 t) cos(2 t)-0.5函数:fsolve 基本用法:X=fsolve(@fun,x0,options)clc;clear;close allf{1}=inline('x-0.6*sin(x)-0.3*cos(y)'); f{2}=inline('y-0.6*cos(x)+0.3*sin(y)'); hold onh=arrayfun(@(i)ezplot(f{i},[-1,1,-1,1]),[1,2]); set(h(1),'color','r')-1-0.8-0.6-0.4-0.200.20.40.60.81-1-0.8-0.6-0.4-0.200.20.40.60.81xyy-0.6 cos(x)+0.3 sin(y) = 0function y=myfun(x)y(1)=x(1)-0.6*sin(x(1))-0.3*cos(x(2)); y(2)=x(2)-0.6*cos(x(1))+0.3*sin(x(2)); end隐函数的求解给定一个隐函数的自变量,通过数值方法求解得到因变量。

MATLAB讲义(1) matlab教程

MATLAB讲义(1)  matlab教程

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) 向量的点乘,点除,乘方:向量的对应分量相乘除乘方,点除分左除和右除。

MATLAB入门讲义

MATLAB入门讲义

MATLAB讲稿目录1 MATLAB简介 (2)1.1 MATLAB的特点 (2)1.2 窗口 (2)1.3 联机查询与演示 (3)2 数值计算 (4)2.1 数字及其运算 (4)2.2 常用数学符号及函数: (4)2.3 向量、数组及其运算 (5)2.4 矩阵及其运算 (7)2.5 多项式及其运算 (9)3 符号运算 (10)3.1 定义符号表达式 (10)3.2 符号表达式运算 (10)3.3 符号表达式的因式分解、展开与化简 (11)3.4 符号微积分 (11)3.5 符号方程求解 (12)3.6 调用函数计算器:funtool (13)3.7 级数 (13)3.8 Maple接口 (13)4 绘图 (13)一、绘图命令 (13)二、绘图参数(点标、线型、颜色) (14)三、图形标注处理 (14)四、图形控制 (14)5 程序设计 (16)一、M文件 (16)二、控制语句 (16)三、一些数学问题............................................ 错误!未定义书签。

6 在最优化问题中的应用..................................... 错误!未定义书签。

一、线性优化lp ............................................... 错误!未定义书签。

二、二次优化qp............................................... 错误!未定义书签。

三、非线性无约束优化问题............................ 错误!未定义书签。

四、最小二乘优化问题.................................... 错误!未定义书签。

五、强约束问题................................................ 错误!未定义书签。

MATLAB讲义

MATLAB讲义

第二章数值数组及其运算数值数组(Numeric Array)和数组运算(Array Operations)始终是MATLAB的核心内容。

自MATLAB5.x版起,由于其“面向对象”的特征,这种数值数组(以下简称为数组)成为了MATALB最重要的一种内建数据类型(Built-in Data Type),而数组运算就是定义在这种数据结构上的方法(Method)。

本章系统阐述:一、二维数值数组的创建、寻访;数组运算和矩阵运算的区别;实现数组运算的基本函数;多项式的表达、创建和操作;常用标准数组生成函数和数组构作技法;高维数组的创建、寻访和操作;非数NaN、“空”数组概念和应用;关系和逻辑操作。

顺便指出:(1)本章所涉内容和方法,不仅使用于数值数组,而且也将部分地延伸使用于在其他数据结构中。

(2)MATLAB5.x和6.x 版在本章内容上的差异极微。

(3)MATLAB6.5版新增的两种逻辑操作,在第2.13.2节给予介绍。

数组是指由一组实数或复数排成的长方阵列(Array)。

它可以是一维的“行”或列,可以是二维的“矩阵”,也可以是三维的“若干同维矩形的堆叠,甚至更高维数”。

数组运算:是指无论在数组上施加什么运算(加减乘除或函数),总认定那种运算对被运算数组中的每个元素(Element)平等地实行同样的操作。

2.1一维数组的创建和寻访2.1.1一维数组的创建(1)无特殊规律数组,直接创建(逐个元素输入):X=[3.4 exp(5.2) -4*pi] x=[3.4 exp(5.2) -4*pi]x =3.4000 181.2722 -12.5664(2)等步长数组:①冒号生成法:通用格式:x=a:inc:b% inc是采样点之间的间隔,即步长。

若(b-a)是inc的整数倍,则所生成数组的最后一个元素等于b,否则小于b。

inc可以省略,省略时默认inc=1。

如:x=0:2*pi/50:2*pi,②定数线性采样法:通用格式T=linspace(a,b,n),其作用与指令:x=a:(b-a)/(n-1):b相同。

MATLAB课件第一讲

MATLAB课件第一讲
save([file int2str(i)], [xstr int2str(i)]); end
这时得到了6个文件mfile1.mat~mfile6.mat, 分别保存x1~x6。这可通过load命令检验 :
clear, load mfile1 load mfile3 for i=1:6 load([‘mfile’ int2str(i)]) %读取所有6个的以mfile开头的.mat文件 end
tempdir
返回系统临时工作目录名
tempname 产生临时文件的唯一文件名
3.5: 启动和退出MATLAB
matlabrc startup quit
启动MATLAB的M文件 启动MATLAB的M文件 终止(退出)MATLAB
第一章: 练习
结合下列指令练习:
ver,help,disp,length,size,dir,cd,等
Practice !
第一章: MATLAB系统概述
3. 通用命令
1. 管理命令和函数 2. 管理变量和工作空间 3. 控制命令窗口 4. 使用文件和工作环境 5. 启动和退出MATLAB
第一章: MATLAB系统概述
3.1: 管理命令和函数
help
MATLAB函数和M文件的在线帮助
ver(version) 显示MathWorks产品的版本信息(MATLAB版本号)
1997年仲春,MATLAB5.0版问世,紧接着是5.1、5.2,以及和1999年春的5.3版 先如今已发展到MATLAB7.1,2008,2009版本
MATLAB基本组成
8个主要部分
➢工作空间中的变量
MM编AA程TT与LLAA数BB据数开类学发型函环数境库提绘供制一二组维读曲ggsprr写aae面ppc文ghh、r23a件➢➢➢➢dd三提提M p输开估处h的维供供A二三入算于发专T命曲许运维维L/、Mg业输A线令多算e图 图n文管图B出e数 所形 形编r件理形数a据 需程l的、的据类 的技执调目型 操术行试录作效M符率文件

matlab讲义知识大总结,很详细的哦

matlab讲义知识大总结,很详细的哦

matlab讲义知识大总结,很详细的哦实验一 MATLAB 环境及命令窗口的使用一、实验目的:1.掌握MA TLAB语言的特点2.熟悉MA TLAB的工作环境3.掌握MA TLAB的基本操作字符串采用赭红色;“if”、“for”等关键词采用蓝色。

键名作用键名作用↑向前调回已输入过的命令行Home 使光标移到当前行的开头↓向后调回已输入过的命令行End 使光标移到当前行的末尾←在当前行中左移光标Delete 删去光标右边的字符→在当前行中右移光标Backspace 删去光标左边的字符PageUp 向前翻阅当前窗口中的内容Esc 清除当前行的全部内容Page Down 向后翻阅当前窗口中的内容CTRL+C 中断MATLAB 命令的运行空格用于输入变量之间的分隔符以及数组行元素之间的分隔符。

●显示格式设置:选择菜单“File”→“ Preferences”,则会出现参数设置对话框,如图所示;clc:用于清空命令窗口中的显示内容。

more:在命令窗口中控制其后每页的显示内容行数。

1.单行或多行命令的运行 (Evaluate Selection) 修改搜索路径实验二 MATLAB 数值计算一、实验目的:(1)熟练掌握MATLAB 变量的使用。

(2)熟练掌握矩阵的创建。

(3)熟练掌握MATLAB的矩阵和数组的运算。

用from:step:to方式。

>> x1=2:10x6=[1,4,7;2,5,8] %两行向量构成矩阵x6 =1 4 72 5 8 3)用linspace 函数。

x1=linspace(0, pi,4) %从0到 pi 等分成4个点(4)使用特殊矩阵函数。

>> x = eye(2,3);BA A BA A +=-61> B= inv(inv(A)-eye(3))*6*A *inv(A) [v,d]=eig(x)其特征值和特征向量 w 为【0.01,10】范围按对数均Lw=-20*)1)2(lg(202+-=w L w log10(sqrt((2*w).^2+1)logspace 简介用法:logspace (a,b,n),其中a 、b 、n 分别表示开始值、结束值、元素个数。

Matlab讲义

Matlab讲义

第一章MATLAB软件的基本操作1.1矩阵的建立和基本运算一、实验的目的熟悉MATLAB软件中关于矩阵的建立以及矩阵运算的各种命令二、实验内容与要求1.启动与退出2.数、数组、矩阵的输入(1)数的输入>> a=5a =5>> b=2-5ib =2.0000 - 5.0000i>> b=[1,3,5,7,9,11]b =1 3 5 7 9 11>> c=1:2:11c =1 3 5 7 9 11>> d=linspace(1,11,6)d =1 3 5 7 9 11>> b=linspace(0,2*pi,22)b =Columns 1 through 60 0.2992 0.5984 0.8976 1.1968 1.4960 Columns 7 through 121.79522.0944 2.3936 2.6928 2.99203.2912 Columns 13 through 183.5904 3.88964.1888 4.4880 4.78725.0864 Columns 19 through 225.3856 5.6848 5.98406.2832(2)数组的输入>> A=[2,3,4;1,3,5;6,9,4]A =2 3 41 3 56 9 43.矩阵大小的测定和定位>> A=[3,5,6;2,5,8;3,5,9;3,7,9]A =3 5 62 5 83 7 9>> d=numel(A) %测定矩阵A的元素数d =12>> [n,m]=size(A) %测试A的行(n),列(m)数n =4m =3>> [i,j]=find(A>3) %找出A中大于3的元素的行列数i =12341234j =222233334.矩阵的块操作>> A(2,:) %取出A的第2行的所有元素ans =2 5 8>> A([1,3],:) %取出A的第1、3行的所有元素ans =3 5 63 5 9>> A(2:3,1:2) %取出A的2、3行与1、2列交叉的元素ans =2 53 5>> A([1,3],:)=A([3,1],:) %将A的第1行和第3行互换A =3 5 93 5 63 7 9问题:如何将A的2,3列互换?>> A(2,:)=4 %将A的第2行的所有元素用4取代A =3 5 94 4 43 5 63 7 9>> A(find(A==3))=-3 %将A中等于3的所有元素换为-3A =-3 5 94 4 4-3 5 6-3 7 9>> A(2,:)=[] %删除A的第2行A =-3 5 9-3 5 6-3 7 9>> A=[3,5,6;2,5,8;3,5,9;3,7,9]A =3 5 62 5 83 5 93 7 9>> reshape(A,2,6) %返回以A的元素重新构造的2×6维矩阵ans =3 3 5 5 6 92 3 5 7 8 9>> reshape(A,3,4)ans =3 3 5 82 5 7 93 5 6 9>> A(4,5)=3 %扩充A的维数,A成为4×5维矩阵,未定义元素为3A =3 5 6 0 02 5 8 0 03 5 9 0 03 7 9 0 3注意:“:”表示全部5.矩阵的翻转操作>> A=[3,5,6;2,5,8;3,5,9;3,7,9]A =3 5 62 5 83 5 93 7 9>> flipud(A) % A进行上下翻转ans =3 7 93 5 92 5 83 5 6>> fliplr(A) % A进行左右翻转ans =6 5 38 5 29 5 39 7 3>> rot90(A) % A逆时针旋转900ans =6 8 9 95 5 5 73 2 3 3问题:尝试操作>> rot90(A,2)和rot90(A,-2),结果有区别吗? >> rot90(A,2)ans =9 7 39 5 38 5 26 5 3>> rot90(A,-2)ans =9 7 39 5 38 5 26 5 36.特殊矩阵的产生>> A=eye(n) %产生n维单位矩阵A =1 0 0 00 1 0 00 0 1 00 0 0 1>> A=ones(n,m) %产生n×n维1矩阵A =1 1 1 11 1 1 11 1 1 11 1 1 1>> A=zeros(n,m) %产生n×n维0矩阵A =0 0 00 0 00 0 00 0 0>> A=rand(n,m) %产生n×n维随机矩阵(元素在0~1之间)A =0.9501 0.8913 0.82140.2311 0.7621 0.44470.6068 0.4565 0.61540.4860 0.0185 0.7919>> A=rand(n,m)A =0.9218 0.9355 0.05790.7382 0.9169 0.35290.1763 0.4103 0.81320.4057 0.8936 0.00997.数的运算>>4+2;>>4*2;>> 4/2; % 4右除2,等于2>> 4\2; % 4左除2,等于0.5>> 4^3; % 4的3次方>> sqrt(4); % 4的算术平方根>> exp(3); %e的三次方>> log(4); %4的自然对数>> log2(4); %4的以2为底的对数>> log10(4); %4的以10为底的对数8.矩阵的运算A=[2,3,4;1,3,5;6,9,4];B=[3,5,1;2,6,2;1,8,3];>> A'; %A的转置>> det(A); %A的行列式,A必须是方阵>> rank(A); %A的秩>> 3*A; %常数与矩阵相乘>> A+B;>> A-B;>> A*B; %(和A. *B进行比较)>> A/B; %(和A. /B 进行比较) >> A\B; %(和A. \B 进行比较)>>A^2; % A^2相当于A*A (和A.^2进行比较) 二、练习与思考(1)熟悉MATLAB 的启动和退出。

MATLAB讲义

MATLAB讲义

MATLAB讲义第一章 MATLAB系统概述1.1 MATLAB系统概述MATLAB(MATrix LABoratory)矩阵实验室的缩写,全部用C语言编写。

特点:(1)以复数矩阵作为基本编程单元,矩阵运算如同其它高级语言中的语言变量操作一样方便,而且矩阵无需定义即可采用。

(2)语句书写简单。

(3)语句功能强大。

(4)有丰富的图形功能。

如plot,plot3语句等。

(5)提供了许多面向应用问题求解的工具箱函数。

目前,有20多个工具箱函数,如信号处理、图像处理、控制系统、系统识别、最优化、神经网络的模糊系统等。

(6)易扩充。

1.2 MATLAB系统组成(1)MATLAB语言MATLAB语言是高级的矩阵、矢量语言,具有控制流向语句、函数、数据结构、输入输出等功能。

同时MATLAB又具有面向对象编程特色。

MATLAB语言包括运算符和特殊字符、编程语言结构、字符串、文件输入/输出、时间和日期、数据类型和结构等部分。

(2)开发环境MATLAB开发环境有一系列的工具和功能体,其中大部分具有图形用户界面,包括MATLAB桌面、命令窗口、命令历史窗口、帮助游览器、工作空间、文件和搜索路径等。

(3)图形处理图形处理包括二维、三维数据可视化,图像处理、模拟、图形表示等图形命令。

还包括低级的图形命令,供用户自由制作、控制图形特性之用。

(4)数学函数库有求和、正弦、余弦等基本函数到矩阵求逆、求矩阵特征值和特征矢量等。

MATLAB数学函数库可分为基本矩阵和操作、基本数学函数、特殊化数学函数、线性矩阵函数、数学分析和付里叶变换、多项式和二重函数等。

(5)MATLAB应用程序接口(API)MATLAB程序可以和C/C++语言及FORTRAN程序结合起来,可将以前编写的C/C++、FORTRAN语言程序移植到MATLAB中。

1.3 MATLAB的应用范围包括:MATLAB的典型应用包括:●数学计算●算法开发●建模、仿真和演算●数据分析和可视化●科学与工程绘图●应用开发(包括建立图形用户界面)以矩阵为基本对象第二章 Matlab基础2.1 MATLAB快速入门(1)搜索路径搜索路径也被看作是MATLAB的路径,其包含的文件被认为在路径上。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

matlab讲义随机过程实验讲义刘继成华中科技大学数学与统计学院前言 (1)第一章Matlab 简介 (2)第二章简单分布的模拟 (6)第三章基本随机过程 (9)第四章Markov过程 (12)第五章模拟的应用和例子 (16)附录各章的原程序 (51)参考文献 (75)若想检验数学模型是否反映客观现实,最自然的方法是比较由模型计算的理论概率和由客观试验得到的经验频率。

不幸的是,这两件事都往往是费时的、昂贵的、困难的,甚至是不可能的。

此时,计算机模拟在这两方面都可以派上用场:提供理论概率的数值估计与接近现实试验的模拟。

模拟的第一步自然是在计算机程序的算法中如何产生随机性。

程序语言,甚至计算器,都提供了“随机”生成[0,1]区间内连续数的方法。

因为每次运行程序常常生成相同的“随机数”,因此这些数被称为伪随机数。

尽管如此,对于多数的具体问题这样的随机数已经够用。

我们将假定计算机已经能够生成[0,1]上的均匀随机数。

也假定这些数是独立同分布的,尽管它们常常是周期的、相关的、……。

……本讲义的安排如下,第一章是Matlab简介,从实践动手角度了解并熟悉Matlab环境、命令、帮助等,这将方便于Matlab的初学者。

第二章是简单随机变量的模拟,只给出了常用的Matlab 模拟语句,没有堆砌同一种变量的多种模拟方法。

对于没有列举的随机变量的模拟,以及有特殊需求的读者应该由这些方法得到启发,或者参考更详细的其他文献资料。

第三章是基本随机过程的模拟。

主要是简单独立增量过程的模拟,多维的推广是直接的。

第四章是Markov过程的模拟。

包括服务系统,生灭过程、简单分支过程等。

第五章是这些模拟的应用。

例如,计算概率、估计积分、模拟现实、误差估计,以及减小方差技术,特别给读者提供了一些经典问题的模拟,通过这些问题的模拟将会更加牢固地掌握实际模拟的步骤。

平稳过程的模拟、以及利用平稳过程来预测的内容并没有包含在本讲义之内,但这丝毫不影响该内容的重要性,这也是将会增补进来的主要内容之一。

希望读者碰到类似的问题时能够查阅相关资料解决之。

各章的内容包括了模拟的基本思路和Matlab代码。

源程序包展示了对各种随机过程与随机机制的有效模拟和可视化的基本技术,试图强调matlab自然处理矩阵和向量的方法,目标是为涉及应用随机模拟的读者在准备自己的程序代码时找到灵感和想法。

建议读者在了解了模拟的基本方法之后就着手解决自己感兴趣的实际问题。

对实际具体问题的解决有助于更深刻理解模拟的思想、也会在具体应用中拓展现有的模拟方法。

第一章Matlab 简介若你想在计算机上运行Matlab,点击:开始/程序/MATLAB 6.5,这样将会出现有三个窗口的交互界面。

如果你是初学者,可以先浏览一下Matlab的指导材料,点击:Help/ MATLAB Help,打开窗口左边的“MATLAB”一节即可看到相关的内容。

就自己而言,我学习Matlab更喜欢的方式是:输入并运行一些命令、观察出现的结果,然后查阅想了解的帮助文件。

这也正是本节的方法。

在“command window”窗口中显示有提示符“>>”,在提示符后输入下面的命令,按回车键即可运行并显示相应的结果。

当然,不要输入行号、也不必输入后面的注释。

在这个部分讨论的Matlab 文件有: rando.m,vrando.m,show.m。

一、Matlab 初步1:2*9 Matlab当作计算器用。

2:sin(1) Matlab仅显示四位小数,但保存的更多!3:format long 显示更多位小数。

4:sin(1) 5:2^9996:format short7:x=sin(1) 将计算结果存在变量中。

8:x 显示x的值。

9:x=rand(10,1) x是包含有10个[0,1] 上均匀分布随机数的集合,它是一个列向量或者是10×1的矩阵。

10:x+5 x的每个分量都加5。

11:1000*x x的每个分量都乘以1000。

12:x=rand(10,7) 10×7的随机数矩阵。

若想重复此命令或其他命令,按住向上的光标键直至看到想重复的命令。

13:x=rand(1000,1) 将1000换成更大的数试试。

14:x=rand(1000,1); 用分号“;”可以不显示结果。

15:help 显示标准的帮助列表。

16:help elmat 显示关于初等矩阵的帮助,包括命令“rand”。

17:help rand 直接显示“rand”的帮助。

18:x(1:20,1) 取出x的第一列中的1-20个数。

19:help punct Matlab中关于标点符号的用法。

20:max(x)21:mean(x)22:sum(x)23:median(x) x的中位数。

24:cumsum(x) x的分量累计和向量。

25:y=sort(rand(10,1)) 由小到大排序后的向量。

26:hist(x) 作出x的直方图。

27:hist(x,30) 用30个方柱代替缺省的10个。

28:y=-log(x) 对x的分量取自然对数。

29:hist(y,30) 多数的y的分量只是接近0的,但有些是和6差不多大的,y中的数被称为指数分布随机数。

30:z=randn(1000,1); 生成1000个标准正态分布随机数。

31:hist(z,30) 直方图是钟形的。

对大于1000的数试试结果。

二、获取更多帮助32:如果你想查找不会使用的命令,可以点击::Help/ MATLAB Help,打开左边的“MATLAB”节,选择“Functions –Categorical List”即可。

据我所知,这是寻求帮助的最好方法。

三、画出数据点33:plot(x(1:10),’*’); 用“*”描出x的前10个点。

注意两个单引号为英文的单引号,下同。

34:plot(x-0.5); 向下平移0.5,描出述据点,且将其连成线。

35:hold on 将下面的图形加到上面的图形中。

36:plot(cumsum(x-0.5),’r’); 将这个结果图画到上面的图形中。

“’r’”表示用红色的线绘出,而缺省的颜色为蓝色。

37:zoom on 用鼠标点击可放大图形,双击回到原始的尺寸。

38:clf 清除当前的图形。

39:z=randn(1000,1); 生成1000个标准正态分布随机数。

40:w=z+randn(1000,1); 生成依赖z的随机数。

41:plot(z,w,’*’); 作出(z,w)的图形。

42:axis([-3 3 -4 4]); 显示x在[-3,3]与y在[-4 ,4]范围的图形。

四、作图函数43:clf44:ezplot(’sin(x)’,[0 3*pi]); 画出正弦函数的图形。

45:hold on46:t=0:0.01:3*pi; 定义一个时间点向量,间隔为0.01。

47:t t 为一行向量。

48:t=t’现在t为一列向量。

49:plot(t,sin(5*t),’r’); 用红色画sin(t)关于t的函数。

显然,函数ezplot不能设置图形的颜色。

50:title(’sin(x) and sin(5x)’) 给图形加上更恰当的标题。

五、运行现有的Matlab程序51:上网下载或者拷贝一些编辑好的Matlab程序到自己的电脑中。

52:如果在你电脑的某个文件夹中有现成的Matlab程序(*.m),可以设置“Current Directory”(Command Window窗口的上面)为该文件夹即可运行这些程序。

53:如果在你电脑里的几个文件夹里都有Matlab程序,点击菜单中:File/ Set Path/Add Folder, 加入所有这些文件夹,最后选择“Save”。

当你在Command Window窗口键入一命令后,Matlab 会在所有的这些文件夹中查找这个命令名。

六、抛硬币54:3<5 不等式满足结果为1。

55:5<3 结果是0。

56:x=rand(20,1) 前面已输入过类似的命令。

输入“x=”,然后用向上的光标键往回翻看,找到后将1000改为20。

57:x>0.5 对x的所有分量检查该不等式。

58:z=1+(x>0.5) z 的值为1或者2。

这有点像抛硬币,1为正面,2为反面。

59:show(z,’正反’) 这是一个名字为show的程序,有两个变量,一个是自然数向量,一个是用来与每个数相对应显示的字符串。

它是自己编制的程序,保存在:d:\MATLAB6p5\work\show.m。

60:show(1+(rand(1500,1)>0.5),’正反’)生成1500个抛硬币的结果。

现在按下向上的光标键/回车,就会得到很多抛硬币的结果。

你找到连续出现正面最多的个数了吗?61:show(1+(rand(1500,1)>0.5),’O-’) 可以通过改变显示的字符来简化刚才的问题。

用向上的光标键很容易更改前面的命令来实现它。

这些语句对抛硬币的问题当然是足够了,因为它只有两个结果。

但对其他,像掷色子,的随机试验,“rando.m”将更加有用,这也是自己编制的程序,保存在:d:\MATLAB6p5\work\show.m。

62:d=[1 1 1 1 1 1]/6 掷色子的结果概率是一个行向量(或者1×6矩阵)。

63:sum(d) 确认它们的和为1!64:rando(d) 用这些概率去模拟掷色子的每个结果。

用向上的光标键重复这个命令几次。

模拟掷色子的另一个简单的方法是放大均匀分布随机数后取整,floor(1+6*rand(1))。

65:vrando([1 1 1 1]/4,20) 程序rando的向量版本。

每个数是等概率出现的。

66:show(vrando([1 1 1 1]/4,100),’BGSU’) 随机地生成字符B、G、S和U。

出现BUGS 之前,BGSU出现了吗?七、写一个Matlab程序你将创建一个新的Matlab程序,名字为mywalk.m,用它来模拟100步的随机游动。

在“file”菜单下有一个空白的按钮,按下它即打开一个新的编辑窗口。

在那个窗口里,分行输入下面的命令,然后保存该程序为mywalk.m。

如果你保存在新的文件夹里,请确认这个文件夹是否已加入到Path中或者改变为Current Directory。

67:n = 100; 选取步数。

68:x = rand(n,1); 生成均匀分布随机数。

69:y = 2*(x > 0.5) - 1; 转换这些数到为-1和+1。

70:z = cumsum(y); 计算y的累积和。

71:clf72:plot(z) 画出z的第1, 2, 3, ...等的值。

在command window窗口中输mywalk,运行(按回车)该程序,然后用光标键多次重复它。

相关文档
最新文档