1 / 22

第五课 编制脚本程序

第五课 编制脚本程序. M 文本编辑器、基本控制流(条件语句、循环语句)、函数调用、调试. Matlab 编程基本要素. 编辑 / 调试器 条件结构 循环结构 主程序与函数调用 全局变量和局部变量 调试 性能优化 面向对象的编程. 编辑 / 调试器. 条件结构. 其他条件结构: switch ex case test1 (cmd1) case test2 (cmd2) end. if ii>100 a = 1; else a = 0; end. 循环结构. for ii=1:100

misu
Download Presentation

第五课 编制脚本程序

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第五课 编制脚本程序 M文本编辑器、基本控制流(条件语句、循环语句)、函数调用、调试

  2. Matlab编程基本要素 • 编辑/调试器 • 条件结构 • 循环结构 • 主程序与函数调用 • 全局变量和局部变量 • 调试 • 性能优化 • 面向对象的编程

  3. 编辑/调试器

  4. 条件结构 • 其他条件结构:switch ex case test1 (cmd1) case test2 (cmd2) end • if ii>100 a = 1; else a = 0; end

  5. 循环结构 for ii=1:100 a[ii] = (ii+1)/2; end 其他循环结构: while expression (commands) end

  6. 主程序与函数调用 • 函数标志: function fun_name(arg1,arg2) • 调用: 在主程序里,直接调用

  7. 全局变量和局部变量 • 局部变量:仅存在于该函数的运行过程中。 • 全局变量:全共享的变量,用global定义。 • 在主程序中的变量与全局变量

  8. 调试 设置断点 步进 步进出 停止调试 步进入 去除断点 执行直到断点

  9. 性能优化 • 循环向量化 • 尽可能使用matlab提供的函数指令 • 循环内数组的预配置 • 采用mex文件执行循环 • 尽量使用m函数代替m脚本 • JIT和加速器的加速

  10. 实验内容:利用m脚本绘制特殊图形、三维图形和显示图像实验内容:利用m脚本绘制特殊图形、三维图形和显示图像

  11. 三维图形效果 • 透视 • 镂空 • 裁剪

  12. 透 视 • [X0,Y0,Z0] = sphere(30); • mesh(X0,Y0,Z0); • hidden off • axis equal, axis off

  13. 镂 空 • t = linspace(0,2*pi,100); r = 1-exp(-t/2).*cos(4*t); • [x,y,z] = cylinder(r,60); • ii = find(x<0&y>0); • z(ii) = NaN; • surf(x,y,z); colormap(spring);

  14. 裁 剪 • x = [-8:0.05:8]; y = x; • [X,Y] = meshgrid(x,y); ZZ = X.^2-Y.^2; • ii = find(abs(X)>6|abs(Y)>6); • ZZ(ii) = zeros(size(ii)); • surf(X,Y,ZZ), shading interp, colormap(copper)

  15. 特殊图形指令 • 面域图 area • 直方图 bar barh bar3 bar3h • 饼图 pie pie3 • 填色图 fill fill3

  16. 面域图 area • x = -2:2 • y = [3,5,2,4,1;3,4,5,2,1;5,4,3,2,5] • cum_sum = cumsum(y); • area(x',y',0) • legend('因素A','因素B','因素C'),grid on,colormap(spring)

  17. 直方图 bar barh • x = -2:2 • y = [3,5,2,4,1;3,4,5,2,1;5,4,3,2,5] • subplot(1,2,1),bar(x',y','stacked') • xlabel('x'), ylabel('\Sigma y'), colormap(cool) • legend('因素A','因素B','因素C') • subplot(1,2,2), barh(x',y','grouped') • xlabel('y'), ylabel('x') • legend('因素A','因素B','因素C')

  18. 直方图 bar3 bar3h • subplot(1,2,1), bar3(x',y',1) • xlabel('因素ABC'), ylabel('x'),zlabel('y') • colormap(summer) • subplot(1,2,2), bar3h(x',y','grouped') • ylabel('y'), zlabel('x')

  19. 饼图 pie pie3 • a = [1,1.6,1.2,0.8,2.1]; • subplot(1,2,1), pie(a,[1 0 1 0 0]), • legend({'1','2','3','4','5'}); • subplot(1,2,2), pie3(a),colormap(cool)

  20. 填色图 fill • n = 10; • dt = 2*pi/n; t = 0:dt:2*pi; • t = [t,t(1)]; • x = sin(t); y = cos(t); • fill(x,y,'c'); axis off • gtext('十边行');

  21. 填色图 fill3 • xc = ones(2,4)/2; • x = [xc;[0 1 1 0]]; • y = [xc;[0 0 1 1]]; • z = [1 1 1 1;0 0 0 0;0 0 0 0]; • c = [1 0 0 1;0 1 0 1;0 0 1 0]; • fill3(x,y,z,c),view([-10,56]),colormap cool • xlabel('x'), ylabel('y'), box on, grid on

  22. 显示图像 • imread • imshow • demo(image和video) • matlab: I = imread(‘image path’); imshow(I);

More Related