26M文件及程序调试 26.1主程序文件 注释,以“%”对本程序的特性以及关键的部 份进行说明。 1)一般以clc、 clear、 close all等语句开始,清 除工作空间中原有的变量和图形,以避免其它 已执行的程序残留数据对本程序的影响 2)程序的主体 如果程序中要用到全局变量,要在这里说明 格式: global变量名1变量名2变量名3
2.6 M文件及程序调试 • 2.6.1 主程序文件 • 注释,以“%”对本程序的特性以及关键的部 份进行说明。 • 1)一般以clc、clear、close all等语句开始,清 除工作空间中原有的变量和图形,以避免其它 已执行的程序残留数据对本程序的影响。 • 2)程序的主体 • 如果程序中要用到全局变量,要在这里说明。 • 格式:global 变量名1 变量名2 变量名3…
般地,若程序中用到流程控制语句, 都要缩进,并且要注意end的对应 3)文件命名要应按前面介绍的标志符来 命名。文件名中不能有汉字,也不能以 数字开头
• 一般地,若程序中用到流程控制语句, 都要缩进,并且要注意end的对应。 • 3)文件命名要应按前面介绍的标志符来 命名。文件名中不能有汉字,也不能以 数字开头
函数文件及其应用 函数文件是M文件重要的组成部分,M语言函数 文件能够接受用户的输入参数,进行计算,并将 计算结果作为函数的返回值返回给调用者 格式 function[x,y= myfun(a,b,c)--数定义行 %函数功能说明行 %帮助文件,说明如何使用该函数 函数体
函数文件及其应用 • 函数文件是M文件重要的组成部分,M语言函数 文件能够接受用户的输入参数,进行计算,并将 计算结果作为函数的返回值返回给调用者。 • 格式 • function [x,y]=myfun(a,b,c)-----函数定义行 • %函数功能说明行 • %帮助文件,说明如何使用该函数 • 函数体
例子 计算一数组的平均值及找出其中间值。 主程序: cIc clear close all n=input(n=) X=1:N mean, mid]=newstats(x) omean %omid X1=[5.8,1,3.5,2263,3.8] meanl, mid1]-newstats(x1
例子 • 计算一数组的平均值及找出其中间值。 • 主程序: • clc • clear,close all • N=input('n=') • x=1:N; • [mean,mid]=newstats(x) • %mean • %mid • x1=[5.8,1,3.5,2.2,6.3,3.8] • [mean1,mid1]=newstats(x1)
函数 function avg, med=newstats(u) °n= ength(u avg-mean(u, n) med=median(u, n) function a=mean(v, n) a=sum(v)/n; function m=median(v, n) w=sort(v) if rem(n, 2)==1 mw(n+1)2) else m(w(n/2)+wn/2+1)/2 ent
• 函数 • function [avg,med]=newstats(u) • n=length(u); • avg=mean(u,n); • med=median(u,n); • function a=mean(v,n) • a=sum(v)/n; • function m=median(v,n) • w=sort(v); • if rem(n,2)==1 • m=w((n+1)/2); • else • m=(w(n/2)+w(n/2+1))/2; • end
程序调试 M文件编辑器不仅是个文件编辑器,而 且是个可视化的调试开发环境。 在这里可以对主程序以及函数文件进行 调试,以排查程序的错误。 般地,程序错误有两类 语法错误 ·2、运行错误
程序调试 • M文件编辑器不仅是个文件编辑器,而 且是个可视化的调试开发环境。 • 在这里可以对主程序以及函数文件进行 调试,以排查程序的错误。 • 一般地,程序错误有两类: • 1、语法错误; • 2、运行错误
断点的设置 在文件编辑器中有个 Breakpoint菜单,可 以用来设置断点,只有设置了断点的程 序才能进行调试 调试程序按钮
断点的设置 • 在文件编辑器中有个Breakpoins菜单,可 以用来设置断点,只有设置了断点的程 序才能进行调试。 • 调试程序按钮
cIc clear. close a dt=0.01 t=0: dt 5 x-exp(-2*t h=exp(-1*t subplot(2, 2, 1), plot(t, h) grid y=conv(x, h)*dt fs gure subplot(2, 2, 2),plot(t,y(1: length(t))); grid y1=exp(-t)-exp(-2*t) subplot(2, 2, 3), plot(t,yl,r,),grid
• clc • clear,close all • dt=0.01 • t=0:dt:5; • x=exp(-2*t) • h=exp(-1*t); • subplot(2,2,1),plot(t,h);grid • y=conv(x,h)*dt; • figure • subplot(2,2,2),plot(t,y(1:length(t)));grid • y1=exp(-t)-exp(-2*t); • subplot(2,2,3),plot(t,y1,'r'),grid
第四章 matalab其它函数库 41.数据分析函数库 41.1基本数据分析 CIc clear ● close a data=[154498367;158998175;1551006886;145 637596:145637596:141556575 155566485:147898777:1479654100:14560 7667 D=max(data)
第四章 matalab其它函数库 • 4.1数据分析函数库 • 4.1.1基本数据分析 • clc • clear • close all • data=[154 49 83 67;158 99 81 75;155 100 68 86;145 63 75 96;145 63 75 96;141 55 65 75; • 155 56 64 85;147 89 87 77;147 96 54 100;145 60 76 67] • D=max(data)
Std( data)求各列标准差,是指将N个元素 与该列的平均值之差的平方和开方即 v2(data- mean(data))2 soo=∑
• Std(data)求各列标准差,是指将N个元素 与该列的平均值之差的平方和开方即 = − N std data data mean data 2 ( ) ( ( ))