这节开始介绍将用高阶函数做抽象的技术,比如将过程作为参数、返回值等等。习题1.30要求将书中的sum递归过程改造为迭代版本,解答如下:
<!---->(define (sum-iter a term b next result)
(if (> a b)
result
(sum-iter (next a) term b next (+ result (term a)))))
(define (sum term a next b)
(sum-iter a term b next 0))
测试一下,比如求pi的过程:
<!---->(define (sum-integers a b)
(sum identity a inc b))
(sum 1 10):
=》 55
再提下1.29的题目,使用
辛普森规则计算定积分,一开始我没有使用sum过程,自己写了递归:
<!---->(define (simpson f a b n)
(define h (/ (- b a) n))
(define (simpson-term k)
(cond ((or (= k n) (= k 0)) (f (+ a (* k h))))
((even? k) (* 2 (f (+ a (* k h)))))
(else (* 4 (f (+ a (* k h)))))))
(define (simpson-temp f a b counter n)
(if (> counter n)
0
(+ (* (/ h 3.0) (simpson-term counter)) (simpson-iter f a b (+ counter 1) n))))
(simpson-temp f a b 0 n)
)
复用sum过程,也可以这样写:
<!---->(define (inc i) (+ i 1))
(define (simpson f a b n)
(define (simpson* h)
(define (mag k)
(cond ((or (= k 0) (= k n)) 1)
((odd? k) 4)
(else 2)))
(define (y k)
(f (+ a (* k h))))
(define (term k)
(* (mag k) (y k)))
(/ (* h (sum term
0
inc
n)) 3))
(simpson* (/ (- b a) n)))
分享到:
相关推荐
《SICP习题解答,主要第一章的内容习题答案》 SICP,全称《Structure and Interpretation of Computer Programs》(计算机程序的构造和解释),是计算机科学领域的一本经典教材,由MIT(麻省理工学院)的 Harold ...
内容概要:本文详细介绍了如何使用伦茨公司的EASY Navigator软件对8400 HighLine系列变频器进行配置。主要步骤涵盖了创建项目、选择变频器类型和版本、添加通信接口、设定控制类型和电机参数、进行参数配置,如控制方式、抱闸模式、以及通讯方式。文中还提供了详细的配置指导,例如设置抱闸延迟时间和通讯确认等功能,强调了配置过程中需要注意的关键点和常见操作。另外,本文详细讲解了如何利用PROFINET和以太网/IP进行网络设置和设备之间的通信配置,并说明了如何通过发送和接收四个双字节报文来监控和控制变频器的状态和性能,确保变频器能够稳定可靠地运行。 适合人群:电气工程师、自动化技术人员及负责工业控制系统配置的专业人士,特别是有一定自动化背景并熟悉PLC编程的人群。 使用场景及目标:① 对8400 HighLine系列变频器进行初始配置及后续调整,适用于新建工程项目或者现有系统的升级改进。② 提供了一个从理论到实践的学习路径,帮助工程技术人员快速掌握变频器的基本原理及其高级应用技巧。③ 引导用户理解和实施变频器的具体配置任务,确保其能够正确响应指令、保持高效运作并减少停机风险。 其
基于Matlab的蔡氏混沌电路(Chua's circuit)系统分析,作为一种简单的非线性电子电路设计,它可以表现出标准的混沌理论行为 这个电路的制作容易程度使它成为了一个无处不在的现实世界的混沌系统的例子 蔡氏系统混沌仿真,输出lyapunov指数、分岔图、相图结果 程序已调通,可直接运行 ,Matlab; 蔡氏混沌电路; 系统分析; 非线性电子电路设计; 混沌理论行为; 制作容易; 现实世界系统例子; 混沌仿真; Lyapunov指数; 分岔图; 相图结果; 程序调通。,基于Matlab的蔡氏混沌电路系统分析:非线性电子电路的混沌仿真与结果展示
基于秃鹰搜索优化算法优化XGBoost(BES-XGBoost)的数据分类预测 BES-XGBoost数据分类 采用交叉验证抑制过拟合问题 优化参数为迭代次数、最大深度和学习率 matlab代码, 注:暂无Matlab版本要求 -- 推荐 2018B 版本及以上 注:采用 XGBoost 工具箱,仅支持 Windows 64位系统 ,基于您提供的关键信息,以下是一行提炼的关键词,以分号分隔: BES-XGBoost数据分类预测; 秃鹰搜索优化算法; 交叉验证; 抑制过拟合; 优化参数; Matlab代码; 2018B 版本及以上; XGBoost工具箱; Windows 64位系统,基于BES-XGBoost的秃鹰搜索优化算法数据分类预测与参数优化
内容概要:本文详细介绍了德国大陆公司推出的ARS 408-21车载毫米波雷达传感器。这是一种77GHz频段的高端长距离雷达产品,在感应检测区域上分为短程蓝色视野(近距感知)和远程红色视野(远距监测)。其具备高灵敏度的目标检测能力、可靠的障碍物距离与速度测量功能,适用于防碰撞、自动驾驶控制等应用。该传感器不仅支持广泛的测量距离,还可在复杂环境下精准辨识物体,并带有多种自我保护和自动诊断机制确保稳定运行。文档特别强调了其FMCW测量技术和CAN通讯接口特性,便于与其他车用电子控制系统整合,同时提供了关于安装尺寸、功耗参数等方面的详尽数据。 适用人群:从事智能交通系统、ADAS辅助驾驶研究的技术人员,汽车制造商工程师,自动驾驶硬件供应商,雷达技术研发人员及相关学术研究人员。 使用场景及目标:①提升车辆在高速公路行驶的安全性;②满足城市道路环境下的自动巡航及防碰撞性能需求;③实现远距离监控以及危险区域或难以进入地域的状态监视;④促进自动化工业领域的机器设备间协同工作。 其他说明:ARS 408-21是新一代汽车级产品,在小型化设计基础上融合更多先进传感与处理能力。它不仅符合国际电磁兼容性标准,
软考架构师17-21年四年真题及解析
内容概要:本文详细介绍了DeepSeek大模型及其在企业中的应用实践情况。主要内容涵盖大模型的发展史、类型、典型应用场景(如对话助手、个性化推荐、智能客服、智能办公、智能医疗、智能金融)、大模型与其他技术的融合应用(如RPA、知识图谱、物联网、数据分析可视化),并在企业中部署大模型的具体策略和解决方案,包括部署方式(本地/云端/边缘/混合)、实施路线、技术架构设计以及面临的挑战和应对策略。此外,文中列举了一系列典型应用案例,如瑞金医院的RuiPath、东莞市的人工智能大模型中心、云南白药的大模型应用开发平台等。文中还对未来大模型的发展方向作出了展望,认为多模态融合、生成式AI与具身智能、小模型的高效化以及端侧大模型将成为重要趋势。 适合人群:具有中级及以上技术水平的研发工程师、企业IT管理人员、数据科学家及其他对大模型及人工智能感兴趣的专业人士。 使用场景及目标:该文章帮助读者了解DeepSeek大模型在企业内的多种实际应用场景和技术部署方式,为他们制定相应策略以充分利用AI技术提升业务效率和创新能力。同时也为读者指明未来的潜在发展领域。 其他说明:文章强调了企业在采用和集成AI技术过
pcmconfigv2_1.7z
Matlab simulink 风储调频,模糊控制,风电调频,模糊控制改变风电惯性控制系数。 储能采用下垂控制。 有SOC特性,调频效果好。 纯,创新就是模糊控制 模糊控制系数随着风速和频率而改变,实现了自适应控制 mpc主要用于预测频率,3-mpc-模糊控制联合调频,模糊控制结合mpc预测的频率和风速自适应整定调频系数,进而改变调频控制功率。 ,关键词: 1. Matlab Simulink 2. 风储调频 3. 模糊控制 4. 风电调频 5. 虚拟惯性控制系数 6. 下垂控制 7. SOC特性 8. 自适应控制 9. MPC预测 10. 调频系数 以上关键词用分号分隔为:Matlab Simulink;风储调频;模糊控制;风电调频;虚拟惯性控制系数;下垂控制;SOC特性;自适应控制;MPC预测;调频系数。,基于模糊控制与MPC联合调频的风储系统优化研究
内容概要:本文介绍了神经网络的基础构建方法及其训练步骤,涵盖数据准备、模型创建、激活函数的选择以及常见问题(如过拟合并提出解决方案),最后讨论了分类问题的应用实例——MNIST手写数字识别任务。文中详细解释了每个步骤背后的原理,比如利用均方误差衡量模型性能,通过梯度下降法更新权重来最小化误差,还提到了一些常用的优化器(SGD、Adam等)的作用与区别。 适用于具有一定机器学习基础,希望深入理解神经网络工作机制的开发者或研究人员,他们可以通过此文加深对于神经网络的理解,尤其是针对图像识别等领域的问题解决思路和工具选择。 使用场景及目标:帮助读者掌握神经网络从简单到复杂的构造流程,理解训练过程中涉及到的概念和技术手段(如批量训练、学习率调整),从而能够在实际项目中应用相关技术和规避常见的坑洞(特别是过度适应训练集而导致的效果欠佳)。此外,还提供了具体的数据集案例以方便动手实践。 其他说明:该资料由NVIDIA官方出品,内容详实可靠,但需要注意版权保护。
西南交大计算机C第三章习题答案.pptx
comsol电动修复土壤,重金属污染物浓度以及土壤PH变化 ,comsol电动修复土壤; 重金属污染物浓度; 土壤PH变化,COMSOL电动修复土壤技术:重金属浓度与土壤PH变化研究
阅读习惯中的知识系统化与结构化
内容概要:本文档详细介绍了一个使用MATLAB实现的基于图卷积神经网络(GCN)的多特征分类预测项目,尤其侧重于多输入单输出的复杂分类任务。文档首先介绍了GCN的工作原理及其在多特征图数据中的优势,随后详述了该项目的具体目标,其中包括提升分类精度、解决多输入单输出的问题、探索GCN在多维度图数据的应用及优化训练效率等。接着,文档剖析了面临的八大挑战及对应解决方案,例如处理多特征数据、图数据的稀疏性和训练效率问题等。此外,文档列举了一些GCN的特点与创新之处,比如多特征输入、高效的训练策略、正则化与数据增强技术等。文中详细展示了如何通过MATLAB构建、训练和评估GCN模型,并给出具体的数据预处理、超参数调整及防过拟合策略等步骤的操作方法。 适合人群:有一定编程基础和技术背景的研发人员、从事深度学习和图卷积网络的研究人员或开发者,特别是那些关注如何处理复杂数值或网络关联关系中的多特征输入问题的人。 使用场景及目标:本项目适用于多个领域内的图数据分析任务,如社交网络、推荐系统、交通流量预测、图像分类、生物网络分析及金融欺诈检测等,其主要目标是通过构建一个准确、稳定的分类预测模型来帮助相关领域的研究人员提高工作效率。 其他说明:本项目提供了丰富的扩展可能性,如跨领城应用、引入图自监督学习、增强学习模块与图卷积网络的结合、实时预测与在线学习功能等。与此同时,为了确保良好的用户体验和高效处理大批量任务,本项目也涵盖了详细的系统架构设计方案,包括API服务、业务集成、数据流处理机制、前后端展示界面等各个方面。项目未来改进方面包括但不限于:进一步探索多模态数据融合的可能性,继续深化图神经网络的研究,提高模型的可解释性和硬件加速等。此外,文中附有完整的程序代码示例和GUI界面试图的设计思路,可以帮助用户更快捷地上手项目。
内容概要:本文档详细介绍了基于MATLAB实现的人工蜂群算法(ABC)优化BP神经网络多输入多输出预测(MIMO)的项目实例。项目旨在优化BP神经网络在MIMO预测任务中的性能,解决传统BP神经网络存在的局部最优解和收敛速度慢等问题。人工蜂群算法以其全局搜索能力和局部探索能力,显著提升了模型的预测效果。文中涵盖了从环境准备、数据预处理、构建BP神经网络、ABC算法优化、网络训练到结果评估与预测的全过程,并通过实际代码演示每一步的具体实施方法。除此之外,还包括了模型部署、多模态数据处理、API服务等方面的拓展内容,确保项目的完整性和实用性。 适合人群:具有一定编程基础的科研人员和技术爱好者,特别是从事预测建模、人工智能应用开发的专业人士。 使用场景及目标:①优化BP神经网络,提高预测模型的准确性和稳定性,特别适用于金融、医疗、工业等复杂多输入多输出预测问题;②为研究人员提供了从理论到实践的全流程指导,涵盖模型训练、评估、优化和部署等多个环节;③通过具体案例和代码实现,让学习者深刻理解智能算法在实际项目中的应用细节。 阅读建议:本项目实例全面细致,读者可以根据自身需求重点研读感兴趣的部分。建议读者先熟悉基础理论知识(如BP神经网络的工作原理、人工蜂群算法的基础概念),然后跟随文中的步骤逐步操作,配合提供的代码示例进行实践。同时,对于想深入了解模型优化、超参数调整、实时预测等高级主题的读者,项目给出了详细的扩展内容和技术讨论。
lam _22311115_06.zip
根据课件梳理而成,内容比课件多
:matlab的2DCNN、1DCNN、BP、SVM轴承故障诊断 这个源程序复现了EI期刊的故障诊断算法,将故障信号转化为二维灰度图,然后输入2DCNN进行故障诊断,并附带了一些对比算法 灰度图可视化需要改些联系话可以帮改,数据集可以帮忙替为渥太华大学轴承实验台数据,我目前只用到西储大学这两个 ,2DCNN; 1DCNN; BP; SVM; 轴承故障诊断; 灰度图可视化; 数据集替换; 渥太华大学轴承实验台数据,Matlab轴承故障诊断程序:2DCNN与多种算法的复现对比研究
信息化形势下的医药产业.ppt