计算机应用基础1语言基础.ppt
《计算机应用基础1语言基础.ppt》由会员分享,可在线阅读,更多相关《计算机应用基础1语言基础.ppt(81页珍藏版)》请在课桌文档上搜索。
1、第一章Matlab编程基础,1.1 常量,变量和数据类型1.2 数据的输出与输入1.3 函数和过程1.4 程序流程控制1.5 图形与可视化,1.1 常量,变量和数据类型,一 变量 不用定义,分为局部和全局变量,二 数组(array)MATLAB所用处理变量,都是以数组方式存储:包括标量(scalar),向量(vector),矩阵(matrix),字符串(string),单元数组(cell array),结构体(structure),对象(object)。,三 数组的存储方式 按列方式存储,1.1 常量,变量和数据类型,例1-1,a=house;floor;porch,a=house floor
2、 porch,注意:字符串长度相同;英文状态下输入。,多维数组,逻辑数组,空数组向量,矩阵和多维数组 标量:单一值表征的量;向量:由标量的一组有序集合表示的量;数组:是元素的一维或多维排列,包含一维数 组x(i),二维数组 x(i,j)和多维数组x(I,j,k,),1.1 常量,变量和数据类型,1.1 常量,变量和数据类型,向量与矩阵的操作:,(1)元素操作 对于 t=1 3 5;2 4 6的矩阵 t(2,1)%显示一个元素 t(2,1)=7%替换一个元素(2)形成新矩阵 t1=t t(3)矩阵的转阵用()(4)行列操作 p1=(:,2)%全部第二列的元素 p2=t1(2,:)p2=t1(2,
3、:)%全部第三行元素,定义数组的常用命令,rand%产生元素为均匀分布的随机数数组randn%产生元素为正态分布的随机数数组eye%产生二维对角元为1,其余为0的数组ones%产生元素全为1的数组zeros%产生元素全为0的数组diag%产生二维对角数组magic%产生二维魔方数组meshgrid%产生平面的网格点数据,1.1 常量,变量和数据类型,二维数组的信息获取,length%矩阵最长维数的长度ndims%矩阵的维数numel%元素的个数size%每一维的长度例1-2 A=rand(3,5)a=length(A)b=ndims(A)c=numel(A)m,n=size(A),1.1 常量
4、,变量和数据类型,四 数据的类型 字符型和字符窜 数值型 整型,包括8位,16位以及32位。单/双精度浮点型以及双精度复数矩阵 双精度复数矩阵,表示位m*n数组 单元数组 函数句柄 可以用来保存函数的所有信息,以便调用,1.1常量,变量和数据类型,1.2 数据的输出与输入,一 数据的输出 Save 命令:可以将工作环境的几个或全部变量保存到文件中。,例:a=1,2 b=3 4 5 c=-10 6 8 save file1,为了便于读取,可以将文件存为文本文件(”.txt”)Save file4.txt ascii(注意,有空格),savefile=test.mat;p=rand(1,10);q
5、=ones(10);save(savefile,p,q),save(d:mymfilesjune10,vol,temp,-ASCII),1.2 数据的输出与输入,Save 命令 格式,用 fprintf 函数 可以按格式将数据输出至屏幕或写格式化数据到文件中。,x=35;y=68.3;string=results:;fprintf(t%stx=%5d,ty=%8.2f,string,x,y),用Disp()函数将结果输到屏幕上,1.2 数据的输出与输入,1.2 数据的输出与输入,数据的输入 利用M文件产生数据 用Load命令从Mat文件或文本文件直接读入,clear load file1 wh
6、os,用fscanf 函数用提示输入函数input,t=input(vector of temperature(0C)=),数据型文件的输入以及输出(ME_1_1.m),data1=load(6-0.txt);data2=load(6-3.txt);%facbriateing the time seriers points datat=linspace(0,10,20000);plot(datat,data1)figure plot(datat,data2)fid=fopen(10-1-3.txt,w)fprintf(fid,%6.2fn,data1(:)status=fclose(fid);
7、fid=fopen(10-1-4.txt,w)fprintf(fid,%6.2fn,data2(:)status=fclose(fid);,1.2 数据的输出与输入,1.3 逻辑判断及流程控制,a=2+2=4a=(2+2=4)a=(33)a=(34),等于a=1a=1小于a=1 a=0小于等于a=1a=0大于a=1a=0,a=(4=3)a=(3=4)a=(3=4)A=magic(6)rem(A,3)p=(rem(A,3)=0)lp=find(p),大于等于a=1a=0不等于a=1魔方矩阵,每行、每列、对角线的元素之和=(n3+n)/2A整除3,求余数余数为0,是真,即整除找出p矩阵中不为零元素
8、的序号,矩阵元素是按列排序号的。,1.关系运算,A=magic(6)A=35 1 6 26 19 24 3 32 7 21 23 25 31 9 2 22 27 20 8 28 33 17 10 15 30 5 34 12 14 16 4 36 29 13 18 11,rem(A,3)ans=2 1 0 2 1 0 0 2 1 0 2 1 1 0 2 1 0 2 2 1 0 2 1 0 0 2 1 0 2 1 1 0 2 1 0 2,p=(rem(A,3)=0)p=0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0
9、 0 1 0,lp=find(p)lp=2 5 9 12 13 16 20 23 27 30 31 34,1.3 逻辑判断及流程控制,矩阵元素的序号排法:nm阵中下标为(j,k)的元素序号为 l=(k-1)*n+j,1.3 逻辑判断及流程控制,数学及逻辑运算符号,逻辑字符检查,位运算,集合运算,1.3 逻辑判断及流程控制,(1)if语句if(表达式)语句组A,endif(表达式1)语句组A,else 语句组B,endif(表达式1)语句组A,elseif(表达式2)语句组B,else 语句组C,end,1.4 流程控制语句,n=input(n=),if rem(n,2)=0 a=even,el
10、se a=odd,end n=7 a=odd;n=8 a=even n=a=odd n=input(n=),if isempty(n)=1 a=empty,elseif rem(n,2)=0 a=even,else a=odd,end n=a=empty,输入数n,判断奇偶性。如果用户没有键入数就回车,程序会判断为odd。修改为用户无输入时程序自动中止。,1.4 流程控制语句,(2)while语句while(表达式)语句组A,end,y=1;while 1+y1,y1=y y=y/2;end,y1 y1=2.2204e-016,求MATLAB相对精度,y不断减小,直至MATLAB分不出1+y与
11、1的差别为止。,1.4 流程控制语句,(3)for语句for k=初值:增量:终值 语句组A,end将语句组A反复执行N次,每次执行时程序中的k值不同。N=1+(终值-初值)/增量,用for语句求三角函数表for x=0:0.1:pi/4 disp(x,sin(x),cos(x),tan(x),end运行结果 x sin(x)cos(x)tan(x)0 0 1 0 1/10 839/8404 1195/1201 1499/14940 1/5 209/1052 295/301 374/1845 3/10 409/1384 1647/1724 275/889 2/5 368/945 2882/31
12、29 1777/4203 1/2 501/1045 1699/1936 820/1501 3/5 1153/2042 430/521 979/1431 7/10 947/1470 992/1297 486/577,1.4 流程控制语句,列出构成Hilbert矩阵的程序 format rat显示形式是分数近似 n=input(n=),format rat for i=1:n,for j=1:n,h(i,j)=1/(i+j-1);end,end,h,n=5h=1 1/2 1/3 1/4 1/5 1/2 1/3 1/4 1/5 1/6 1/3 1/4 1/5 1/6 1/7 1/4 1/5 1/6
13、1/7 1/8 1/5 1/6 1/7 1/8 1/9,增加可读性format rat,n=input(n=)for i=1:n for j=1:n,h(i,j)=1/(i+j-1);endendh,在if,for,while与表达式之间留空格,在表达式与语句组之间必须用空格或逗号分隔,必须用逗号或分号分隔end和else。break 是中止循环的命令,在多重循环中,break只能使程序跳出包含它的最内部的那个循环。,1.4 流程控制语句,(4)switch语句,switch-case-otherwiseswitch 表达式(标量或字符串)case 值1语句组ACase 值2语句组B.Othe
14、rwise语句组Nend,当表达式的值(或字符串)与某case语句中的值(或字符串)相同时,它就执行该case语句后的语句组,然后跳到终点的end。case语句可以有N-1个,如果没有任何一个case值能与表达式值相符,则执行otherwise后面的语句组N。,1.4 流程控制语句,n=input(n=),switch mod(n,2),case 1,a=奇,case 0,a=偶,otherwise,a=空,endn=5 a=奇n=input(n=),switch rem(n,2),case 1,a=奇,case 0,a=偶,otherwise,a=空,end n=8 a=偶,判断输入数n的奇
15、、偶、空的程序mod(x,m)x整除m取正余数,rem(a,b)a整除b,求余数n=负数 n=-5 a=奇n=-8a=偶,1.4 流程控制语句,1直角坐标中的两维曲线(1)plot(y)-输入一个数组的情况,(2)Plot(x,y)-输入两个数组的情况,1.5 基本绘图方法,2线型、点型和颜色,3多条曲线的绘制有四种方法在一张图上显示多条曲线(1)用plot(t,y1,y2,)命令,1.5 基本绘图方法,(2)用hold命令,(4)用plotyy命令,(3)在plot后使用多输入变量,1.5 基本绘图方法,4.屏幕控制和其他二维绘图(1)图形屏幕控制命令图形屏幕可以开、关,可以开几个图形窗,可
16、以在一个图形窗内华几幅分图,每幅分图可以用不同坐标。,1.5 基本绘图方法,通用图形函数(graphics)(h),1.5 基本绘图方法,subplot(2,2,1),stem(t,y);title(stem(t,y)subplot(2,2,2),stairs(t,y);title(stairs(t,y)subplot(2,2,3),bar(t,y);title(bar(t,y)subplot(2,2,4),fill(t,y,r);title(fill(t,y,r),1.5 基本绘图方法,subplot(1,1,1)loglogsemilogxsemilogypolar(theta,rho),
17、取消子图绘出以log10-log10为坐标刻度的对数图使用半对数刻度绘图,x轴为log10刻度,y轴为线性刻度。使用半对数刻度绘图,y轴为log10刻度,x轴为线性刻度。极坐标绘图,角度theta为一个坐标,单位是弧度,另一坐标是矢径rho。,1.5 基本绘图方法,二维图形函数库,1.5 基本绘图方法,(4)坐标比例和尺寸的设定axis命令,1.5 基本绘图方法,v=axisaxis(equal)axis(square)v=0 1 0 1,5.三维曲线和曲面(1)空间曲线绘制-plot3,plot3(x,y,z,s)z=0:0.1:4*pi;x=cos(z);y=sin(z);plot3(x,
18、y,z,r)绘制空间曲线,s是线型颜色符,(2)空间曲面的绘制mesh surf,直线-连接相邻的点构成三维曲面 小平面-连接相邻的点构成三维曲面,1.5 基本绘图方法,sinc(r)=sin(r)/rx=-8:0.5:8;y=x;X=ones(size(y)*x;Y=y*ones(size(x);R=sqrt(X.*X+Y.*Y);z=sin(R)./R;mesh(z),pause,r是X-Y平面上的向径,绘制sin(r)/r函数的立体图。X、Y方向各有33个样本点,size多维矩阵的各维长度。共建立33*33=1089 个网格点的坐标矩阵X和Y,形成33*33网格的矩阵;R表示数据点到原点
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 应用 基础 语言
链接地址:https://www.desk33.com/p-234005.html