




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四讲:语句组,循环,条件控制,事件处理的逻辑模式,顺序执行按条件作出是否执行的判断根据某种条件变化反复执行根据不同的情况作出相应的执行,一、组合表达式,为实现某一功能而使各种命令表达式组合在一起形成一个复合表达式,形式一般为:expr_1expr_2expr_n,二、条件控制语句,if(condition1)statement1elseif(condition2)statement2elsestatement3,condition语句返回一逻辑值,为TRUE时执行,为FALSE时跳过,逻辑运算符:逻辑与|#逻辑或优先对向量的第一个元素进行运算逻辑与|#逻辑或!#逻辑非按照逐个元素的方式进行计算=#恒等#大于=#大于等于=7)x=,x,n)elsex=,x,n),XY,1,21,142,253,36,outer(Y,X)#Y%o%X,1,1,1,21,142,253,36,2,1,1,21,282,4103,612,1,2,1,21,3122,6153,918,2,2,1,21,4162,8203,1224,两个数组的外积,outer(Y,X,FUN=+),1,1,1,21,252,363,47,2,1,1,21,362,473,58,1,2,1,21,472,583,69,2,2,1,21,582,693,710,X,1,21,132,24Y,1,21,142,253,36,可以改变计算函数FUN:+,-,*,/,outer(X,Y,FUN=“*”):提取两个矩阵的属性,outer(X,Y,FUN=“*”):两个矩阵的外积计算过程,VenderProduceNameTypeType6MemFrequencyPriceMemInfoMemInfoVenderProduceNameTypeMemFrequencyPrice1Vender1256MBDDR400DDR2564003152Vender2256MBDDR333DDR2563333003Vender3512MBDDR400DDR5124006504Vender4256MBDDR400DDR2564002805Vender5256MBDDR333DDR2563332656Vender6256MBSDRAM266SDRAM2562662657Vender7256MBDDR400DDR2564002908Vender8256MBDDR400DDR2564003459Vender9512MBDDR400DDR512400575,定义一个数据框,rep(expensive,length(MemInfo$Price)-ExpStrrep(cheap,length(MemInfo$Price)-CheapStrifelse(MemInfo$Price300,ExpStr,CheapStr)-PriceDescriptionPriceDescription1expensivecheapexpensivecheapcheap“cheap7cheapexpensiveexpensive,Ifelse(condiction,a,b)#这个表达式返回一个向量,其长度为a,b中的最大长度.当conditioni为真时返回ai,否则返回bi.,例子:根据内存的基本数据,我们定义价格大于300的内存的价格为expensive,否则为cheap,练习4.1,自行设计一个条件控制例子,条件中包含逻辑运算符号&,|和!,三、循环,for循环for(nameinstatement)expr#其中name为循环;statement一般为一向量;expr一般为组合表达式,for(ninc(2,5,10,20,50)+x-rnorm(n)+cat(n,:,sum(x2),n)+2:0.41241395:5.20287510:13.9651320:20.0769650:58.16209,例子,例子:定义一个长度为100、mean=1,sd=1的正态分布随机向量,并找出该向量的最小值及其出现的位置,norm-rnorm(100,1,1)#随机向量min.norm-100#设定初始最大值for(iin1:100)if(normi=min.norm)min.norm=normimin.count=i,#第i个值与现有最大值做比较,如果比最大值大则更新最大值,并记录位置,否则不做处理,练习4.2,找出以上向量的最大值及其出现的位置。找处100次产生的随机向量的最小值于出现位置的关系。(用plot(min.count,min.norm)表示,其中min.count为位置向量,min.norm为最小值向量),norm=max.norm)max.norm=normimax.count=i,for(jin1:100)min.n-0norm-rnorm(100,1,1)min.normjMemInfoVenderProduceNameTypeMemFrequencyPrice1Vender1256MBDDR400DDR256400346.52Vender2256MBDDR333DDR256333330.03Vender3512MBDDR400DDR512400650.04Vender4256MBDDR400DDR256400308.05Vender5256MBDDR333DDR256333291.56Vender6256MBSDRAM266SDRAM256266291.57Vender7256MBDDR400DDR256400319.08Vender8256MBDDR400DDR256400379.59Vender9512MBDDR400DDR512400575.0,例子:将容量为256M的内存的价格普调增长10%,四、分支控制语句,switch(statement,list)#switch语句根据判定条件的不同而执行不同的分支语句。首先执行statement,其返回值范围为1到list的长度。Switch语句执行list中包含的语句,并将结果返回。,for(countin1:length(MemInfo$Price)if(MemInfo$Frequencycount=266)case-1elseif(MemInfo$Frequencycount=333)case-2elsecase-3switch(case,MemInfo$Pricecount-MemInfo$Pricecount*1.1,MemInfo$Pricecount-MemInfo$Pricecount*1.15,MemInfo$Pricecount-MemInfo$Pricecount*1.12),例子:将频率为266,333,400的内存的价格分别增加10%,15%,12%,countlength(MemInfo$Price)break,switch语句中的statement部分可以直接返回字符型矢量,并根据返回结果做相应处理。,练习4.3,从小写字母表的前5个中随机抽取一个字母,并按抽取字母的不同做以下操作:a:用apply函数按列来求出datasets包中数据命名为ability.cov的数据列表的第一个元素(cov)的均值b:读取datasets包中命名
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高铁预制箱梁施工课件
- 济南市2024-2025学年七年级下学期语文期中测试试卷
- 济南市2025-2026学年八年级上学期语文月考模拟试卷
- 高速路政日常工作课件
- 电芯销售知识培训内容课件
- 电脑知识应用培训记录课件
- 高考改革课件
- SGLT-2 抑制剂作用机制试卷及答案
- 电网廉洁从业课件
- 广西河池市凤山县2022-2023学年九年级上学期期中化学试题(含答案)
- 2025-2026学年湘教版(2024)初中数学八年级上册教学计划及进度表
- 胰腺肿瘤影像学课件
- GB308-2002滚动轴承钢球
- 夹芯彩钢复合板吊顶施工方案
- 高效课堂讲座课件
- 有害物质污染源识别与评价表
- 餐具洗消保洁制度管理办法
- 齿轮的设计计算PPT学习教案
- 英语社团教案(共21页)
- 新编物理基础学王少杰(上、(下册))课后习题答案
- 电动转向管柱系统项目商业计划书范文参考
评论
0/150
提交评论