Matlab讲义-第四章Matlab语言程序设计基础2-10.pdf
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
3 0人已下载
| 下载 | 加入VIP,免费下载 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 讲义 第四 语言程序设计 基础 10
- 资源描述:
-
1、第四章 Matlab语言基础 matlab语言程序简洁、可读性很强而且调试十分容易。4.2 MATLAB的输入与输出语句张三%从键盘输入字符串时注意加单引号1.键盘提示输入命令(input)x=input(提示信息)格式1:x=input(x=n);2x=input(x=n);1,2;3,4;x=input(x=n);name=input(Input your name please:n,s)%此种情况,键入字符型数据,不用加Input your name please:张三name=张三注意:name仍为一字符串变量x=input(提示信息,s)格式2:1.键盘提示输入命令(input)%s
2、 代表字符串(string),为固定参数key=input(please input key valuve,09 or#or*:,s);高频 低频 1209133614471663697123A770456B852789C941*0#D注意:key为一字符串变量格式控制输出:fprintf2.输出格式将结果显示在命令窗口中 变量名称disp(变量名)S=0;for x=2:2:100S=S+x;endS%disp(S)S=25502550 fprintf格式输出指令fprintf用来控制指定数据或文字的输出形式,其基本使用格式如:由%引导:%f:小数形式输出%e:指数形式输出%d:整数或指数形
3、式输出下面举例说明不同形态的输出格式 fprintf(The area is%8.4fn,area)e_form:1.23452e+004 fprintf(x=%d,y=%dn,12345.2,26)X=1.234520e+004,y=26d:对小数,按指数形式输出d:对整数,原形输出fprintf(e_form:%en,12345.2)area=12.56637fprintf(x=%.0f,y=%.2fn,area,area)x=13,y=12.574.3 M文件简介M文件是由MATLAB语句构成的文本文件,用户可以用普通的文本编辑把一系列MATLAB语句写进一个文件里,给定文件名,确定文件
4、的扩展名为.m,并存储。1.用MATLAB自带的编辑器edit2.用文本文档编辑文件M文件的编辑方法自动存储为.m文件手工存储为.m文件1.脚本文件(Scripts):也称命令文件,没有入口和出口参数。2.函数文件(Function):子程序,可由用户编写,但必须由其它m文件来调用。有入口和出口参数。M程序文件分为两种clc,clearS=0;for x=2:2:100S=S+x;endSfunction area,volume=area_volume(r)%r为圆半径%area 返回球的表面积值%volume返回球的体积值area=4*pi*r2;volume=(4/3)*pi*r3;脚本文
5、件是最简单的m-文件,它没有入口和出口参数变量。可以自动执行的一系列MATLAB语句。脚本是对工作空间中的现有数据进行操作,或创建一个新数据,而且脚本所创建的任一变量在脚本运行完都保留在工作空间中以便进一步使用。4.3.1脚本文件clc,clearS=0;for x=2:2:100S=S+x;endS脚本文件举例【例】:Lx1.m-键盘提示输入半径,计算一个球的表面积和体积r=input(radius:);area=4*pi*r2volume=(4/3)*pi*r3;fprintf(The volume of a sphere is%.5fn,volume)4.3.2函数文件function
6、out1,out2,.=filename(in1,in2,.)函数体语句;说明:函数m文件保存的文件名必须与其函数名相同;输入参数用小括号括起来,输出参数则用方括号括起来,如果参数多于1个,用逗号隔开;当函数无输出参数时,输出参数项空缺或者用空的中括号表示。必须由其它m文件来调用function V,D=eig(A,B)语句体;函数文件的第一行为函数定义行,必需function开头;function =eig(A)语句体;function eig(A,B)语句体;主要形式有3种 建立求球的面积和体积的函数文件,入口参数为r,返回参数为area和volumefunction area,volum
7、e=area_volume(r)%r为圆半径%area 返回球的表面积值%volume返回球的体积值area=4*pi*r2;volume=(4/3)*pi*r3;保存为area_volume.m函数M文件r=5;%给定r值area,volume=area_volume(r)4.3.2函数文件另编一个程序lx.m调用函数area_volumefunction area,volume=area_volume(r)a=4*pi*r2;v=(4/3)*pi*r3;area=a;volume=v;function area,volume=area_volume(r)area=4*pi*r2;volum
8、e=(4/3)*pi*r3;返回参数一定在函数程序中有返回值 函数程序设计重要提示 4.4程序结构与C语言类似,MATLAB程序的控制结构也有顺序结构、选择结构和循环结构三种。其控制语句主要有if,switch,for,while四个,下面分别进行介绍。for 循环变量=表达式;endwhile 条件式;end for 语句多用在已知循环次数的情况,而while 语句则多用在不能判定循环次数的情况下。只要条件式的值为真(非零),就执行while与end之间的语句体,直到表达式的值为0假(0)时终止该循环。一、循环语句(for语句和while语句)for x=m:p:n语句组;end最常见:冒号
9、表达式 注意1:循环变量一旦给定,则每执行一次循环,循环变量自动取下一列数据,不能通过循环体内重新赋值的方式来改变。for与while循环语句示例:【例】求1100的偶数和x=2;s=0;while x=-3&x=-2&x0sn=1;elseif x=0sn=0;elsesn=-1;endsnsn=-1结果?非全1结果是否满足要求 x=input(x=);if x0sn=1;elseif x=0sn=0;elsesn=-1;endsn1.键盘输入单值x【例】按要求根据x值给出其对应的符号 010001xxxxsign2.已知x=-3:0.01:3x=-3:0.01:3;if x0sn=1;el
10、seif x=0sn=0;elsesn=-1;endsn变成单值判断x=-3:0.01:3;for k=1:length(x)if x(k)0sn(k)=1;elseif x(k)=0sn(k)=0;elsesn(k)=-1;endendsnfor+if结构如何修改满足要求?已知x=-10:0.01:10,编程绘制函数曲线:21220022xx-xxxxxxy 方法一:x=-10:0.01:10;yx=x.*(x=0&x2);plot(x,yx)利用关系和逻辑表达式表示分段函数值【例】已知x=-10:0.01:10,编程绘制函数曲线。x=-10:0.01:10;for k=1:length(x
11、)if x(k)=0&x(k)=-10&x=0&x2&x=10y=x2-2*x+1;endplot(x,y)找错误并修改【例】方法二:?Undefined function or variable y.for+if结构【例】编写函数mappingBPSK完成BPSK映射。function BPSKCode=mappingBPSK(data)for k=1:length(data)if data(k)=0BPSKCode(k)=1;elseBPSKCode(k)=-1;endendBPSKCode=mappingBPSK(data)%mappingBPSK完成BPSK编码映射%data待编码映射
12、的二进制序列%BPSKCode编码映射后的序列0 1 1 -1 映射:for+if结构实现【练习】按要求绘制如下曲线并加标记。dt=0.01;t=0:dt:length(data);横坐标:tdata=1 0 1;00.511.522.53-0.200.20.40.60.81输 入 的 二 进 制 信 息 序 列二 进 制 传 输 码 元101起始值:步长:终止值0length(data)dt纵坐标:ydata=ones(1,ysam),zeros(1,ysam),ones(1,ysam);1,ysam=1/dt;t=0:dt:length(data)-dt;ydata=ones(1,ysam
13、),zeros(1,ysam),ones(1,ysam);或:clc,cleardata=1 0 1;dt=0.001;ysam=1/dt;%每一个码元的采样点数t=0:dt:length(data)-dt;%或t=0:dt:length(data),data补一个值ydata=ones(1,ysam),zeros(1,ysam),ones(1,ysam);plot(t,ydata);axis(t(1),t(end),min(ydata(:)-0.2,max(ydata(:)+0.2);%规定所画图示的坐标xlabel(输入的二进制信息序列);title(二进制传输码元);text(1-0.5
展开阅读全文
课堂库(九科星学科网)所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。


2019届人教A版数学必修二同步课后篇巩固探究:2-1-1 平面 WORD版含解析.docx
2012年《语文随堂优化训练》配套课件广东教育版必修四 第一单元第3课 呼唤生命教育.ppt
