版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
许钢
2023/4/3Matlab语言及其在电子信息工程中的应用1Matlab语言及其在
电子信息工程中的应用许钢
2023/4/3Matlab语言及其在电子信息工程中的应用2第四讲MATLAB程序设计一、M文件二、控制语句三、字符与字符串四、函数的调用五、程序的优化(“逻辑判断和流程控制”其编程思想和C、Basic等高级语言类似,具体语法请同学们自学!)许钢
2023/4/3Matlab语言及其在电子信息工程中的应用3第四讲MATLAB程序设计一、M文件1、命令文件例1、计算小于1000的fibonnaci数%计算小于1000的fibonnaci数f=[1,1];i=1;whilef(i)+f(i+1)<1000f(i+2)=f(i)+f(i+1);i=i+1;endf,i以fibo.m存在自己的工作目录。许钢
2023/4/3Matlab语言及其在电子信息工程中的应用4第四讲MATLAB程序设计一、M文件2、函数文件例2、编制一个计算小于任何自然数(输入参数)的Fibonnaci数的函数文件functionf=ffibo(n)%ffibo
是计算Fibonnaci数的函数%调用格式:ffibo(n)%计算小于n的Fibonnaci数ifnargout>1,error(‘Toomanyoutputarguments.’);end%检查输出参数ifnargin==0|nargin>1
error(‘Wrongnumberofinputarguments.’);%检查输入参数endf=[1,1];i=1;whilef(i)+f(i+1)<nf(i+2)=f(i)+f(i+1);i=i+1;end以ffibo.m名字存盘。运行:helpffibo、ffibo(2000)许钢
2023/4/3Matlab语言及其在电子信息工程中的应用5第四讲MATLAB程序设计一、M文件3、命令文件和函数文件的区别命令文件的变量在文件执行完以后,仍然驻留在内存中,而函数文件中的变量仅在函数文件内部起作用,当函数文件执行完以后,这些变量将被清除。许钢
2023/4/3Matlab语言及其在电子信息工程中的应用6第四讲MATLAB程序设计二、控制语句1、For循环例1:给出余弦函数在[0,pi]区间上以pi/10为步长的函数表forn=1:10
x(n)=cos(n*pi/10);end>>xx=Columns1through60.95110.80900.58780.30900.0000-0.3090Columns7through10-0.5878-0.8090-0.9511-1.0000注:for
后面的n=1:10是一个标准的创建数组语句,也可以用定义好的数组直接赋给n;许钢
2023/4/3Matlab语言及其在电子信息工程中的应用7第四讲MATLAB程序设计二、控制语句1、For循环注:当利用for循环时,为了提高速度,应先分配数组(即:定维)。例:用计时函数tic,toc比较两种方法所费的时间(1)不先定义数组tic;fori=1:100;x(i)=cos(i*pi/100);end;toc(2)先定义数组tic;x=zeros(1,100);fori=1:100;x(i)=cos(i*pi/100);end;toc许钢
2023/4/3Matlab语言及其在电子信息工程中的应用8第四讲MATLAB程序设计二、控制语句2、控制程序流的其它几个常用命令a=input('*****')等待从键盘输入一个值,输入完后,按Enter键,继续;引号内为提示文字例:等待键盘输入一个数字或一个字符串>>a=input('请输入变量a的值>')请输入变量a的值>5a=5>>a=input('请输入变量a的值>')请输入变量a的值>'yournameisFax'a=yournameisFax在这种格式下,a可以是数字也可以是字符串。例:只能输入字符串的格式>>a=input('pleaseinputastring:','s')pleaseinputastring:'Fax'a='Fax'许钢
2023/4/3Matlab语言及其在电子信息工程中的应用9第四讲MATLAB程序设计二、控制语句2、控制程序流的其它几个常用命令
暂停命令pause,pause(n)的使用
当需要看中间运算结果时可以使用这个命令,回车后程序继续运行。
keyboard将控制权暂时交给键盘,然后当用户输入return时,控制权还给MATLABbreak中断,在for循环中,和if语句配合,跳出循环;continue跳过位于其后的循环中的其它命令,执行循环的下一步迭代return结束return所在的函数的执行error('*****')显示出错信息*****,并终止程序;warning(‘****’)显示告警信息****,程序继续运行。许钢
2023/4/3Matlab语言及其在电子信息工程中的应用10第四讲MATLAB程序设计三、字符与字符串1、在MATLAB中字符串要用单引号来界定注:单引号必须是在英文状态下输入例:a='Hello'a=[a,'World']%字符串可以合并>>a=HelloWorld注意,字符串的每个字符,包括空格都看作响应矩阵的一个元素。>>size(a)ans=111许钢
2023/4/3Matlab语言及其在电子信息工程中的应用11第四讲MATLAB程序设计三、字符与字符串2、eval命令
eval命令是用来将字符变量转换为宏指令的,eval(t)表示运行包含在t里面的内容。t='magic(n)'n=input('请输入魔方矩阵的维数:n=')eval(t)许钢
2023/4/3Matlab语言及其在电子信息工程中的应用12第四讲MATLAB程序设计三、字符与字符串3、字符串操作函数(自行上机验证,略)isstr
判断是否字符串blanks 空字符deblank
移去空字符strcmp
比较字符串num2str 将数字变为字符串str2num 将字符串变为数字str2mat 将字符号串变为文本矩阵strrep
将一个字符串变为另一个字符串许钢
2023/4/3Matlab语言及其在电子信息工程中的应用13第四讲MATLAB程序设计四、函数的调用函数调用格式为:[输出参数1,输出参数2,…]=函数名(输入参数1,输入参数2,…)例1:
给定数a,b,和一个正整数n,对k=1,2,…,n,计算(1)先建立一个函数文件power_ab.mfunction[out1,out2]=power_ab(a,b,n)%power.m是计算(a+b)^n
和(a-b)^n的函数文件out1=(a+b)^n;out2=(a-b)^n;许钢
2023/4/3Matlab语言及其在电子信息工程中的应用14第四讲MATLAB程序设计四、函数的调用(2)再建立调用上述函数文件的命令文件diaoyongpower.m%diaoyongpower.ma=input('Pleaseinputa=:');b=input('Pleaseinputb=:');n=input('Pleaseinputn=:');addpow=zeros(1,n);subpow=zeros(1,n);%分配两个数组fork=1:n[addpow(k),subpow(k)]=power_ab(a,b,k);endaddpowsubpow许钢
2023/4/3Matlab语言及其在电子信息工程中的应用15第四讲MATLAB程序设计四、函数的调用例2:用递归调用形式计算n的阶乘functionf=factorial_n(n)%计算n!的函数文件ifn==1f=1;elsef=n*factorial_n(n-1);return;end许钢
2023/4/3Matlab语言及其在电子信息工程中的应用16第四讲MATLAB程序设计五、程序的优化1、循环的向量化尽可能使用向量或矩阵编程,而不是像在其它语言中对向量或矩阵的元素编程,这样不但可以使程序较短,而且大大提高执行的效率。例1:一般循环编程ticx=1;fork=1:1000
y(k)=log10(x);x=x+0.01;endtoc例2:向量化编程ticx=1:0.01:10;y=log10(x);toc比较这两个M文件的运行时间许钢
2023/4/3Matlab语言及其在电子信息工程中的应用17第四讲MATLAB程序设计五、程序的优化2、数组的预定义数组的预定义可以提高内存的利用率,不使用预定义,数组的多次扩维会增加内存的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广西建工集团有限责任公司人员招聘考试备考试题及详细答案解析
- 高三生物二轮复习体液调节易混易错突破教学设计
- 2025心脏超声肥厚型心肌病诊断试题及答案
- 2026年大连市烟草专卖局人员招聘笔试备考试题及详细答案解析
- 高中体育乒乓球左推右攻组合技术教学设计
- 2025长期护理考试题库及答案
- 2025员额法官遴选试题及答案
- 2025助理医师考试真题卷附答案
- 高中化学必修一原子结构与元素性质教学设计
- 高中生物必修1 3.3细胞核的结构与功能 教学设计
- 2026年中国融通资产管理集团有限公司人员招聘笔试参考试题及答案详解
- 2026年事业单位招聘考试综合知识冲刺押题试卷
- 2026秋国家开放大学网课《形势与政策》大作业答案
- 2026年新兴污染物的识别与监测
- 2026解放军新闻传播中心社会招聘47人笔试参考题库及答案详解
- 对于产品质量投诉的整改回复函7篇
- 2026年人教版七年级上册语文期中测试题
- 2026年国际贸易托收考试题库及答案
- 2025年山西省全省工程系列建设工程专业高级工程师评审(建筑工程)训练题及答案
- 水库调度规程编制导则
- 《医疗纠纷预防和处理条例》的重点解读培训课件
评论
0/150
提交评论