0Matlab编程入门_第1页
0Matlab编程入门_第2页
0Matlab编程入门_第3页
0Matlab编程入门_第4页
0Matlab编程入门_第5页
免费预览已结束,剩余5页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Matlab编程入门1数据结构:矩阵以矩阵为运算单位,且矩阵是动态的。1.1 矩阵的构造1.1.1 手工录入元素间以空格/逗号分隔;行间以分号/回车分隔X行向X=1;2;3;4%列向MX=1234X=1234;X=X'%转置运算Y=135;7911%矩阵Y=13579111.1.2 序列表示X=1:2:16%行向MY=1:2:5;7:2:11%矩阵1.1.3 矩阵最简单参数n=length(X)4m=size(Y)23size(Y,1)2size(Y,2)31.1.4 指令产生常用矩阵X=eye(3)%单位矩阵X=100010001X

2、=ones(3,4)%全1阵X=11111111_1_1_1_1X=zeros(2,4)%全0阵X=00000000v=1:4X=diag(v)%根据对角线向量构造矩阵X=1 0000200003000041.1.5 随机矩阵X=rand(3,4)%在0,1区间的均匀分布随机数X=0.60380.01530.93180.84620.27220.74680.46600.52520.19880.44510.41860.2026y=unifrnd(60,100,4,4)%连续均匀分布y=unidrnd(100,4,4)%离散均匀分布(有需要补充的地方)Y=randn(4,3)%服从N(0,1)分布的

3、正态随机数Y=0.2765-1.8379-1.63160.3945-1.5023-0.3179-0.09860.8192-0.79630.1764-0.23460.6908StatisticsToolbox中的函数normrnd正态分布lognrnd对数正态分布binornd二项分布nbinrnd负二项分布exprnd指数分布gamrnd伽玛分布geornd几何分布hygernd超几何分布frndf分布ncfrnd非中心f分布trndt分布nctrnd非中心t分布Chi2rnd卡方分布Ncx2rnd非中心卡方分布poissrnd泊松分布Betarnd贝塔分布Weibrnd威布尔分布raylrn

4、d瑞利分布统一的随机数生成函数:random('name',A1,A2,A3,m,n)正态分布的示例:y=random('Normal',60,30,4,4)1.1.6 矩阵的保存、读入SavemydataXY将X,Y存入mydata.mat中Loadmydata装入mydata.m中的数据其他方式:文本文件、Excel文件1.2矩阵的常用操作1.2.1存取单个元素设X=102030405060;设Y=123;456;789;命令输由X(3)30X(3)=3%写入10203405060X(3)=%删除;1020405060Y(2,2)5Y(3,5)=10%扩展写

5、入12300456007890101.2.1存取向量中的序列设X=102030405060;命令输由X(1:3)%顺序取序列102030X(4:end)405060X(3:-1:1)%逆序取序列302010X(125)%点名取序列102050X(1234321)10203040302010X(24)=11%写入1013015060X(39)=11%扩展写入10201405060001X(end+1)=2%扩展写入1020304050602X(135)=%删除2040601.2.3存取矩阵中的子矩阵设Y=1234;5678;9101112;13141516;命令输出Y(2:3,3:4)78111

6、2Y(2:3,:)567891011122367Y(:,2:3)1011141512345678Y(5,:)=1234%行扩展写入9101112131415161234123401Y(:,6)=1234'567802%列扩展写入91011120313141516041.2,4矩阵的组合X=1234;5678;9101112;13141516;Y=123;456;789;101112;Z=1000;0100;命令输由XY%列扩展12341235678456910111278913141516101112X;Z%行扩展12345678910111213141516100001001.2.5

7、矩阵的查找、排序设X=375042;设Y=375;042;L=X>3011010L=find(X>3)235L=Y>2&Y<6101010i,j=find(Y>2&Y<6)i: 121j: 123is=find(Y>2&Y<6);Y(is)在矩阵中,取满足条件的数sort(X);023457sort(Y,1);sort(Y,2);042;375357;0241.2.5集合运算设A=12325678;B=13469;命令输由C=union(A,B)%并123456789C=intersect(A,B)%交136C=setxo

8、r(A,B)%并-交245789C=setdiff(A,B)%差2578C=UNIQUE(A)%唯一性12356782矩阵运算和矩阵元素(数组)运算2.1 标量和矩阵元素的运算设:a=12345,c=10a+c=1112131415a*c=1020304050a/c=0.10.20.30.40.5a.c=10.05.03.332.52.0aAc=110245904910485769765625cAa=101001000100001000002.2 数组运算设:a=12345,b=246810a+b=3691215a.*b=28183250a./b=0.50.50.50.50.5a.b=2222

9、2b.Aa=2162164096100000示例:计算向量p1和p2的距离D=sqrt(sum(p1-p2).A2)2.3 矩阵运算和数组运算的比较A=123;B=300;456;020;789001矩阵运算矩阵兀素(数组)运算A*BA.*B343300121060100211690092.4 示例:计算图像矩阵中图像区域的最小包含矩形(选自2008年全国大学生竞赛)I=imread('all.bmp')I=1-Icol=find(sum(I,1)=0);left=col(1);right=col(end);row=find(sum(I,2)=0);top=row(1);bot

10、tom=row(end);3基于矩阵的程序设计3.1 最简单的函数文件定义fun.mfunctionf=fun(x)%函数名称和文件名应当相同f=100*x(2)+10*x(1);使用fun.mx=12;y=fun(x);y=2103.2 格式规范的函数文件定义addsub.mfunctionout1,out2=addsub(in1,in2)%实现加减法运算%out1,out2=addsub(in1,in2)%out1=in1+in2;out2=in1-in2;out1=in1+in2;out2=in1-in2;x=10;y=20;a,b=addsub(x,y)a=30b=-103.3 参数传

11、递方式和局部变量参数传递方式:单向值传递!函数中未经特别说明的变量,都是局部变量典型示例:企图实现数据交换实现了数据交换functionswap(x,y)tmp=x;x=y;y=tmp;functionx,y=swap(x,y)tmp=x;x=y;y=tmp;A=135;B=2468;swap(A,B);A=1 35B=2 468A=135;B=2468;A,B=swap(A,B);A=2468B=135调试手段:设置断点F12、单步跟踪F10/F11感受局部变观察函数调用中,每个函数的工作空间。3.4 全局变量定义、说明:globalfunctionf=fun()A=135;B=2468;globaln;n=100;A,B=swap(A,B);A,B=swap(A,B);A,B=swap(A,B);functionx,y=swap(x,y)globaln;tmp=x;x=y;y=tmp;n=n+1;f=n对于fun()所调用的函数,n是全局变量。建议:对于极大空间的变量,采用全局变量。3.5 程序结构3.5.1 for语句fori=1:2:10;x(i)=i;end;xx=1 03050709只要用矩阵运算可以解决的问题,不要使用循环3.5.2 while循环%计算斐波那

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论