课件2-matlab基本语法

上传人:tian****1990 文档编号:73194541 上传时间:2019-01-25 格式:PPT 页数:25 大小:220KB
返回 下载 相关 举报
课件2-matlab基本语法_第1页
第1页 / 共25页
课件2-matlab基本语法_第2页
第2页 / 共25页
课件2-matlab基本语法_第3页
第3页 / 共25页
课件2-matlab基本语法_第4页
第4页 / 共25页
课件2-matlab基本语法_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《课件2-matlab基本语法》由会员分享,可在线阅读,更多相关《课件2-matlab基本语法(25页珍藏版)》请在金锄头文库上搜索。

1、第二章 MATLAB基本语法,电子信息学院,2.1变量及其赋值,1.标识符、数的概念 标识符:标识变量名(19)、常量名(19)、函数名和文件名的字符串的总称。,大小写敏感,数:double型 64位二进制,全部英文字母(52个)、阿拉伯数字和下划线等符号。,第一个字符必须是英文字母。 (上机内容:用数字取名的结果),2019年1月25日星期五,电子信息学院,2.矩阵及其元素赋值,2.1赋值的概念 赋值:把数赋予代表常量和变量的标识符。 赋值语句的一般形式: 变量=表达式(或数) 注意:MATLAB中变量和常量都代表矩阵。标量是1x1 矩阵。,向量赋值 行向量:a = 1 2 3 4 6 4

2、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年1月25日星期五,电子信息学院,2.2变量的元素引用和扩展,用下标引用 一维: a(5), a(7) 二维:A(2,1), A(3,2) 多维:Mat(, , ,) 不常用 矩阵的自动扩展 如果赋值元素的下标超出了原来矩阵的大小,矩阵的行列会自动扩展。 A=1 2

3、 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年1月25日星期五,电子信息学院,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年1月25日星期五,电子信息学院,2.4基本矩阵的赋值,全1阵

4、 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年1月25日星期五,电子信息学院,2.2矩阵的初等运算,1.矩阵的加、减、乘法运算 矩阵加减 要求:两矩阵阶数必须相同,对应元素相加减。 D=A+C (上机内容:判定A和C大小不同时是否可以操作) 矩

5、阵的乘法 条件:n p 和 p m 结果n m阶矩阵 注意:左乘和右乘的结果不一样(单位阵除外) p是两个矩阵的内阶数。 A1=2 5;1.5 7 A2=3 2;9 2.4 A1*A2 A2*A1 线性方程组,2019年1月25日星期五,电子信息学院,三个线性方程组,EX:,aX=b (X=ab)引出除法,2019年1月25日星期五,电子信息学院,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)

6、右除 a/b 条件:列数相等 上面例题的解 X=inv(a)*b X=-18/17 2/17 16/17 或X=-1.0588 0.1176 0.9412,2019年1月25日星期五,电子信息学院,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=(初值,终值,点数) 元素群的四则运算和幂次运算 运算符:.* ./ . .

7、 规则:矩阵中所有元素按单个元素进行运算。 d.2=1 4 9 9 16 1 36 16 4,2019年1月25日星期五,电子信息学院,2.4逻辑判断及流程控制,1.关系运算 两个元素之间数值的比较。 运算符: = = = 运算结果:真(1)或假(0) a=1+13 或 a=(1+13) 关系运算适用于矩阵,而且是进行元素群运算。 2.逻辑运算 运算符:&(与) |(或) (非) xor(异或) all(全为真) any(不全为假),2019年1月25日星期五,电子信息学院,3.流程控制语句,if语句 if (表达式) 语句组A,end n=input(n=),if rem(n,2)=0,n=

8、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,语句组

9、B, otherwise 语句组N,end Switch mod(n,2),case 1,A=奇,case 0,A=偶,otherwise,A=空,end,2019年1月25日星期五,电子信息学院,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年1月25日星期五,电子信息学院,4.

10、Disp 显示指定的变量内容 5.Sprintf 按格式要求输出变量 sprintf(显示格式,变量) sprintf(%15.5f,(1+sqrt(5)/2+10000) 比较 sprintf(%0.5f,(1+sqrt(5)/2+10000),2019年1月25日星期五,电子信息学院,GUI编程中对象信息的获取和修改 变量名= get(handles.对象名,属性名) set(handles.对象名,属性名,变量名) 演示建立简单信息传递的例子,说明对象的相关属性tagstring的修改,对象引用的方法等 上机内容:制作一界面,上有二个输入框、一个计算按钮、一个显示框、一个下拉选择框,做二

11、数的可选择的四则运算。,2019年1月25日星期五,电子信息学院,上机内容: 程序演示 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年1月25日星期五,电子信息学院,文件的读

12、写参见其他课件 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年1月25日星期五,电子信息学院,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_i

13、d,201,2, float64) fclose(f_id),2019年1月25日星期五,电子信息学院,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年1月25日星期五,电子信息学院,4.声音文件的读取(双声道立体声)注意声音文件路径 A0=WAVREAD(DING.WAV) subplot(1,3,1)

14、 ;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年1月25日星期五,电子信息学院,屏幕控制命令figure(N);clf;close(N);hold on(off);subplot figure 打开图象窗口 clf 清除当前图形窗内容 Hold Clos

15、e 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年1月25日星期五,电子信息学院,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

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号