第4章MATLAB程序设计
4.1、M文件介绍
二、M文件的创建
MATLAB菜单中创建m文件使用记事本创建m文件4.1、M文件介绍MATLAB自带的m文件编辑器
三、M文件的类型
、命令文件
未修改前的旧文件!
在调试程序时一定要注意这一点,修改之后先保存,再运
4.2、程序的流程控制
二、条件语句
2.if-else-end语句
三、分支语句
4.2、程序的流程控制
四、检测语句
4.2、程序的流程控制
五、其他语句
第(1)种情况
4.2、程序的流程控制
五、其他语句
第(2)种情况
4.2、程序的流程控制
五、其他语句
第(3)种情况
一、函数的定义
5、几种定义出错的情况
直接在命令窗口定义函数是错误的,
应新建m文件然后再定义,
要注意系统的出错提示,了解出错的原因。
EVAL是一个函数,把字符串当命令执行,
格式如下
EVAL(s):s为一个字符串,
感兴趣的同学可以查help EVAL
一、函数的定义
5、几种定义出错的情况
下面来看一下某个同学用MATLAB定义函数的过程。
一、函数的定义
5、几种定义出错的情况
下面来看一下某个同学用MATLAB定义函数的过程。
运行出错!
系统提示:不能在脚本文件中定义函数。
原因:函数定义语句前可以有注释,
但不能有其他命令。 5、几种定义出错的情况
下面来看一下某个同学用MATLAB定义函数的过程。
删除第一行,另存为myplus1.m
这里又犯了一个错误,
函数文件名和函数不一致!
一、函数的定义
5、几种定义出错的情况
下面来看一下某个同学用MATLAB定义函数的过程。
运行继续出错,因为刚才函数文件
保存为myplus1.m,该同学灵机一动,
试了一下c=myplus1(1,2)
一、函数的定义
5、几种定义出错的情况
下面来看一下某个同学用MATLAB定义函数的过程。
这一次系统竟然没有报错!
但这种做法在高版本的MATLAB
仍会报错!
4.3、M文件函数
三、函数的参数
4.3、M文件函数
四、函数的调用
4.4、程序的调试与优化
三、断点调试
4.4、程序的调试与优化
三、断点调试
3、断点调试
为什么要输入两次return?
因为在程序中设置了3个断点,刚才程序运行过程中碰到了2个,所以要输入两次return才能返回系统。
第二章 1 求下列表达式的值。 (1) w=sqrt(2)*(1+0.34245*10^(-6)) (2) a=3.5; b=5; c=-9.8; x=(2*pi*a+(b+c)/(pi+a*b*c)-exp(2))/tan(b+c)+a (3) a=3.32; b=-7.9; y=2*pi*a^(2)*[(1-pi/4)*b-(0.8333-pi/4)*a] (4) t=[2,1-3*i;5,-0.65]; z=1/2*exp(2*t)*log(t+sqrt(1+t^(2))) 2 求下列表达式 A=[-1,5,-4;0,7,8;3,61,7]; B=[8,3,-1;2,5,3;-3,2,0]; (1) A+6*B A^2-B+eye (2) A*B A.*B B.*A (3) A/B B\A (4) [A,B] [A([1,3],:);B^2] 3 根据已知,完成下列操作 (1) A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; K=find(A>10&A<25); A(K) (2) A=[23,10,-0.778,0;41,-45,65,5;32,5,0,32;6,-9.54,54,3.14]; B=A(1:3,:) C=A(:,1:2) D=A(2:4,3:4) E=B*C (3) E 2 用if语句 score=input('请输入成绩:'); if score>=90&&score<=100 disp('A'); elseif score>=80&&score<=89 disp('B'); elseif score>=70&&score<=79 disp('C'); elseif score>=60&&score<=69; disp('D'); elseif score<60&&score>=0; disp('E'); else disp('出错'); end 用switch语句 score=input('请输入成绩:'); switch fix(score/10) case {9,10} disp('A'); case {8} disp('B'); case {7} disp('C'); case {6} disp('D'); case {0,1,2,3,4,5} disp('E'); otherwise disp('出错'); end 第四章1题 1) X=0:10; Y=x-x.^3/6; P lot(x,y) 2) t=0:0.01:2*pi; x=8.*cos(t); y=4*sqrt(2).*sin(t); plot(x,y) 2题 《MATLAB程序设计教学大纲》 课程代码:1010330 实验教学:24学时+16学时 课程学分:2.5 先修课程:C/C++程序设计语言或VB程序设计语言 课程的性质和教学目标 《MATLAB程序设计》是工科大学非计算机类理、工、管理专业学生的一门计算机必修基础课。MATLAB 作为一种高级科学计算软件,是进行算法开发、数据可视化、数据分析以及数值计算的交互式应用开发环境。本课程注重实际能力的培养,使学生能够运用MATLAB进行一般的工程计算,掌握MATLAB的基本技术。 二、教学要求: 课程的指导思想是“学以致用”,课程知识点系统全面,能锻炼学生的动手能力。课堂教学讲述了MATLAB基本技术,包括基本计算、矩阵处理、符号运算、计算结果可视化等,结合实际问题,探索“理论结合实践”的教学模式,注重精讲多练,培养学生利用MATLAB解决专业实际工程问题的能力。课堂教学覆盖不到之处通过实验课让学生在实践中学习,力求实现“教学与自学相结合”的教学原则,重视创新能力和综合能力的培养。 三、教学内容 第一章 MATLAB课程概述() 1. MATLAB开发环境介绍 2. MATLAB环境设置和路径设置 3. MATLAB的安装与激活 第二章 MATLAB程序设计基础() 1. 常量与变量的使用方法; 2. 数组的创建和使用方法; 3. 各种运算符的使用方法; 4. 函数文件的创立和使用:m文件的创建和调用方法; 5. 三种控制结构(顺序结构、分支结构和循环结构) 6. 调试技巧 第三章 MATLAB数值计算() 1. 矩阵运算(矩阵的构造,矩阵的基本运算和高级运算) 2. 多项式运算(多项式的构造和运算) 3. 其他数值计算 4. 数据处理(数据插值和曲线拟合) 第四章 MATLAB符号计算 1. 符号定义 2. 符号运算(初等代数运算,复合函数,反函数,极限,泰勒展开,级数求和,符号微分,符号积分等) 第五章图形处理 1. 2D图形处理 2. 3D图形处理 3. 声音与动画的实现 第六章图形用户界面编程简介 第四章符号和检验法 函数 signrank 格式 p = signrank(x) 原假设为x的中位数为0,显著性水平为0.05的双侧检验。 p = signrank(x,m) 原假设为x的中位数为m,显著性水平为0.05的双侧检验。 p = signrank(x,m,alpha) 原假设为x的中位数为m,显著性水平为alpha的双侧检验。 [p,h] = signrank(...,'alpha', alpha) 例:[p,h] = signrank(...,'alpha', 0.01) [p,h,stats] = signrank(...,'method', ‘exact’) 用精确的方法 [p,h] = signrank(...,'method', ‘approximate’) 用正态近似的方法 [p,h,stats]=signrank(x,y,'alpha',0.01,'method','exact') [p,h,stats]=signrank(y1,y2,0.01,'method','approximate') 所P值除以2,得到相应单侧检验的P值。 §4.2 x=[20.3 23.5 22 19.1 21 24.7 16.1 18.5 21.9 24.2 23.4 25]; y=[18 21.7 22.5 17 21.2 24.8 17.2 14.9 20 21.1 22.7 23.7]; [p,h,stats]=signtest(x,y) p = 0.3877 h = stats = sign: 4 length(find((x-y)>0)) ans = 8 2*(1-binocdf(7,12,0.5)) ans = 0.3877 p =0.3877与书上算的不一样,书上算错了。符号检验接受原假设。MATLAB程序设计教学大纲
《非参数统计》与MATLAB编程 第四章 符号秩和检验法