课件2-MATLAB基本语法.ppt_第1页
课件2-MATLAB基本语法.ppt_第2页
课件2-MATLAB基本语法.ppt_第3页
课件2-MATLAB基本语法.ppt_第4页
课件2-MATLAB基本语法.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

第二章 MATLAB基本语法,电子信息学院,2.1变量及其赋值,1.标识符、数的概念 标识符:标识变量名(19)、常量名(19)、函数名和文件名的字符串的总称。,大小写敏感,数:double型 64位二进制,全部英文字母(52个)、阿拉伯数字和下划线等符号。,第一个字符必须是英文字母。 (上机内容:用数字取名的结果),2019年6月18日星期二,电子信息学院,2.矩阵及其元素赋值,2.1赋值的概念 赋值:把数赋予代表常量和变量的标识符。 赋值语句的一般形式: 变量=表达式(或数) 注意:MATLAB中变量和常量都代表矩阵。标量是1x1 矩阵。,向量赋值 行向量:a = 1 2 3 4 6 4 3 4 5 (上机内容:用另一种格式进行赋值操作) 列向量:b = 1; 2; 3; 4; 6; 4 ;3;4 ;5 矩阵赋值 直接赋值:A = 1 2 0; 2 5 -1; 4 10 -1 含表达式:B = 1 2 0; 2 5 -1; 4 2*5 -1 C = 1 2 0; 2 sqrt(5) -1; 4 2*5 -1,2019年6月18日星期二,电子信息学院,2.2变量的元素引用和扩展,用下标引用 一维: a(5), a(7) 二维:A(2,1), A(3,2) 多维:Mat(, , ,) 不常用 矩阵的自动扩展 如果赋值元素的下标超出了原来矩阵的大小,矩阵的行列会自动扩展。 A=1 2 3;4 5 6;7 8 9 A(4,2)=1.2 冒号的使用:全行全列赋值 A(5,:)=7 8 9 A(:,4)=4;5;6;3;7 A1=A(2,4,1,4) 空矩阵 ,2019年6月18日星期二,电子信息学院,2.3复数矩阵和变量检查,复数的虚数部分用i或j c=1+2i,3+4i;2+i,4+2i (上机内容:用另一种格式进行赋值操作) 复数的共轭转置 w=c 变量检查 who命令 whos命令 Inf 无穷大 log(0) Warning: Log of zero. ans = -Inf NaN 非数字 0/0,2019年6月18日星期二,电子信息学院,2.4基本矩阵的赋值,全1阵 f1=ones(2,3) 全0阵 f2=zeros(2,3) 魔方阵 f3=magic(3) 单位阵 f4=eye(3) 线性分割函数 linspace(0,1,6) ans =0 0.2000 0.4000 0.6000 0.8000 1.0000 小矩阵组成大矩阵 f5=f1,f2;f3,f4 (上机内容:判定f1,f2,f3,f4的大小不同时是否可以操作) 0.0000和0不一样,2019年6月18日星期二,电子信息学院,2.2矩阵的初等运算,1.矩阵的加、减、乘法运算 矩阵加减 要求:两矩阵阶数必须相同,对应元素相加减。 D=A+C (上机内容:判定A和C大小不同时是否可以操作) 矩阵的乘法 条件:n p 和 p m 结果n m阶矩阵 注意:左乘和右乘的结果不一样(单位阵除外) p是两个矩阵的内阶数。 A1=2 5;1.5 7 A2=3 2;9 2.4 A1*A2 A2*A1 线性方程组,2019年6月18日星期二,电子信息学院,三个线性方程组,EX:,aX=b (X=ab)引出除法,2019年6月18日星期二,电子信息学院,2.矩阵除法、逆阵和方程组解,AV=I V=A-1 V是A的逆阵 V=inv(A) 问题:逆阵存在的条件? 方程组的解: a*X=b inv(a)*a*X=inv(a)*b X=inv(a)*b 左除 ab 条件:两矩阵的行数相等 b*inv(a) 右除 a/b 条件:列数相等 上面例题的解 X=inv(a)*b X=-18/17 2/17 16/17 或X=-1.0588 0.1176 0.9412,2019年6月18日星期二,电子信息学院,3.矩阵的乘方和幂 矩阵整体运算:* / expm logm sqrtm 矩阵元素运算: d=1 2 3;3 4 1;6 4 2 d2=25 22 11 21 26 15 30 36 26 4.元素群运算 数组及赋值: 等增量语句:t=初值:增量:终值 t=0:0.1:1 u=10:-2:-4 linspace函数: lp=(初值,终值,点数) 元素群的四则运算和幂次运算 运算符:.* ./ . . 规则:矩阵中所有元素按单个元素进行运算。 d.2=1 4 9 9 16 1 36 16 4,2019年6月18日星期二,电子信息学院,2.4逻辑判断及流程控制,1.关系运算 两个元素之间数值的比较。 运算符: = = = 运算结果:真(1)或假(0) a=1+13 或 a=(1+13) 关系运算适用于矩阵,而且是进行元素群运算。 2.逻辑运算 运算符:&(与) |(或) (非) xor(异或) all(全为真) any(不全为假),2019年6月18日星期二,电子信息学院,3.流程控制语句,if语句 if (表达式) 语句组A,end n=input(n=),if rem(n,2)=0,n=even, end if (表达式1) 语句组A, else 语句组B, end n=input(n=),if rem(n,2)=0,n=even, else n=odd,end if (表达式1) 语句组A, elseif (表达式2) 语句组B, else语句组C, end while语句 while (表达式) 语句组A,end x=1,while x=10,x=x+1,end for语句 for k=0:2:10 k=k*k,end for k=初值:增量:终值 语句组A,end switch语句 switch 表达式 (标量或字符串),case 值1,语句组A,case 值2,语句组B, otherwise 语句组N,end Switch mod(n,2),case 1,A=奇,case 0,A=偶,otherwise,A=空,end,2019年6月18日星期二,电子信息学院,1.Input 键盘输入命令 n=input(提示信息) 或 n=input(输入字符串,s) 2.Menu 菜单输入命令 k=menu(title,选项1,选项2,选项3) 3.Pause 暂时停止执行命令 pause 按任意键继续 pause(n) n秒后继续 pause on 允许 pause off 不允许,2.5 交互输入/输出命令和文件读写,2019年6月18日星期二,电子信息学院,4.Disp 显示指定的变量内容 5.Sprintf 按格式要求输出变量 sprintf(显示格式,变量) sprintf(%15.5f,(1+sqrt(5)/2+10000) 比较 sprintf(%0.5f,(1+sqrt(5)/2+10000),2019年6月18日星期二,电子信息学院,GUI编程中对象信息的获取和修改 变量名= get(handles.对象名,属性名) set(handles.对象名,属性名,变量名) 演示建立简单信息传递的例子,说明对象的相关属性tagstring的修改,对象引用的方法等 上机内容:制作一界面,上有二个输入框、一个计算按钮、一个显示框、一个下拉选择框,做二数的可选择的四则运算。,2019年6月18日星期二,电子信息学院,上机内容: 程序演示 o1=str2num(get(handles.input1,string) o2=str2num(get(handles.input2,string) op=get(handles.oper,value) switch(op) case 1 r=o1+o2 case 2 r=o1-o2 case 3 r=o1*o2 case 4 r=o1/o2 end set(handles.disp,string,r) 位置,中断,单步,观察数据,观察命令窗口的错误信息,2019年6月18日星期二,电子信息学院,文件的读写参见其他课件 1.指定格式文件输入输出 f_id=fopen(file1.txt,w) y=13.6 fprintf(f_id,%6.2f,y) fclose(f_id) f_id=fopen(file1.txt,r) Y=fscanf(f_id,%f) fclose(f_id),2019年6月18日星期二,电子信息学院,2.二进制文件输入输出 f_id=fopen(file1.dat,w) t=0:0.01:2 y=3*sin(2*pi*t) fwrite(f_id,t,y, float64) fclose(f_id) f_id=fopen(file1.dat,r) Y=fread(f_id,201,2, float64) fclose(f_id),2019年6月18日星期二,电子信息学院,3.图象文件的读取注意图象文件路径 w0=imread(baby.jpg); imshow(w0); info=imfinfo(baby.jpg,JPEG) w0(:,:,2)=0; imshow(w0); Imwrite(w0, baby.bmp, BMP) 作业:选择一幅图片,将其做上下颠倒、左右颠倒、旋转180和逆时针90,2019年6月18日星期二,电子信息学院,4.声音文件的读取(双声道立体声)注意声音文件路径 A0=WAVREAD(DING.WAV) subplot(1,3,1) ;plot(A0(:,1); AL=A0;AL(:,2)=0; wavwrite (AL,DINGL.WAV) subplot(1,3,2);plot(A0(:,2); AR=A0;AR(:,1)=0; wavwrite (AR,DINGR.WAV) subplot(1,3,3);plot(A0) 作业:P33-41的命令上机实践 基本数学函数 作业:P42-48的命令上机实践,2019年6月18日星期二,电子信息学院,屏幕控制命令figure(N);clf;close(N);hold on(off);subplot figure 打开图象窗口 clf 清除当前图形窗内容 Hold Close Subplot(n,m,p) t=0:pi/10:2*pi; y1=sin(2*t); y2=t.2; y3=sqrt(t); y4=exp(t); subplot(2,2,1) stem(t,y1); Subplot(2,2,2); Stairs(t,y2); subplot(2,2,3);plot(t,y3);subplot(2,2,4);plot(t,y4);,2.6基本绘图方法,2019年6月18日星期二,电子信息学院,1.直角坐标中的两维曲线 plot(y) Figure(1) ; y=sin(0:pi/10:pi) ; plot(y) ; title(y=sin(x) ) ;xlabel(x) ;ylabel(y) ;Grid ; Box Figure(2) ;y=sin(0:pi/10:pi) ;axis(5,11,0,1) 作业:显示一曲线,利用axis和滚动条显示放大后的整条曲线,放大倍数可选择 plot(x,y) t=0:0.1:pi/2 ;y1=cos(2*t) ;plot(t,y1,*r) 作业:plot(t,y1,*r)的显示格式可自由选择 xy=ginput ;hold on ;plot(xy(:,1),xy(:,2) 作业:鼠标点一点,实时显示轨迹 作业:P55 函数使用 fill,第一点中心,第二点边长,多边形边数可选择.,2019年6月18日星期二,电子信息学院,2.多条曲线的绘制,4种方法 plot(t,y1,y2,) t=0:0.01:7 y=sin(t),y1=cos(2*t) plot(t,y,y1) 或 plot(t,y;y1) y,y1必须是矩阵 hold on, hold off plot(x1,y1,x2,y2,xn,yn) 每一对X-Y可以画出一条曲线。 作业:P59 例题实验 plotyy() x1=1:10,x2=5:-1:0 y1=x1,y2=-3*x2 pl

温馨提示

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

最新文档

评论

0/150

提交评论