游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

Python干货python实现最优化算法

  二分法
  函数详见rres,此代码使该算法运行了两次defasdf(x):rres8x32x27x3returnrresi2left0right1whilei0:ii1ans0。1mid1(leftrightans)2mid2(leftrightans)2aasdf(mid1)casdf(mid2)ifac:rightmid1else:leftmid2b(leftright)2print(左极限s,右极限s,极小值xs(left,right,b))左极限0。45,右极限0。775,极小值x0。6125
  收获:
  这是我第一个实现的代码。学习完该算法以后,逻辑框架基本上就有了,剩下需要明确的就是对应的python的语言。于是我就开始了查找如何定义函数(详见mofan的优酷),循环体和if条件语句的格式(https:blog。csdn。netqq39407518articledetails79822498)数学符号(详见mofan的优酷),以及print的使用
  1。def是python中指定义,一般用来定义函数,如果需要深度学习搭建网络可用来定义网络。值得注意的一点是
  return必须要加在函数后面另起一行。
  我不清楚为什么,但是如果没有加的话,那个函数公式就是一个花瓶,就像一个结果输不出去。
  2。最坑的就是逻辑。一开始逻辑没理清楚,或者说在代码上有疏漏,导致我将left和right放在了循环体里,结果可想而知。不过也是因为这个错误,我知道pycharm中的debug怎么用,挺简单的,百度一下就出来了。
  3。不知道什么原因,看的莫烦视频中的print多个变量一起输出是没有办法在我的pycharm中使用的,出来的结果很奇怪。可能是因为我是win10不是ios吧。print如果多个变量一起输出必须是print(名字:s,名字2:s(a,b))结果输出就是名字:a,名字2:b问题:1。为什么要加return?
  return的意思是输出这个def里面任意一个变量值作为结果显示。一般情况而言,是输出函数的关系式的命名,这样当你调用这个函数的时候,变量对应的函数值才能显示出来,否则只运行没有结果,不会有效果。格点法三点等分法importnumpyasnpdefqwer(x):thirdnp。exp(x)5xreturnthirdleft1right2mid1float(leftright)2mid2(leftmid1)2mid3(mid1right)2aqwer(mid1)bqwer(mid2)cqwer(mid3)i5whilei0:ii1ifab:ifcb:brightmid1mid1mid2abmid2(leftmid1)2mid3(mid1right)2bqwer(mid2)cqwer(mid3)else:bccleftmid1mid1mid3acmid2(leftmid1)2mid3(mid1right)2bqwer(mid2)cqwer(mid3)else:baifac:Cleftmid1mid1mid3acmid2(leftmid1)2mid3(mid1right)2bqwer(mid2)cqwer(mid3)else:bacaaleftmid2rightmid3mid2(leftmid1)2mid3(mid1right)2bqwer(mid2)cqwer(mid3)print(最小值smid1)print(函数值sa)最小值1。609375函数值3。047189552275773
  关于python中数据变量。第一遍运行结果出现很明显不对,于是我采用了debug。结果发现,mid1处一直为1而不是1。5,于是就开始了解数据变量。起初我猜测python默认所有变量为整型,但是根据二分法的结果我意识到此猜测不对,所以要改整个file的变量格式没有必要。所以我就在mid1式子前面加了一个float,结果就显示为1。5了。但是如果我将整个式子用()括起来,前面加float,结果还是1。我不太理解为什么。不过我知道了python的数据格式是根据输入量决定的,也就是说你的输入量如果是整型,那么与其直接相关的计算输出结果一定是整型,而且还是不采用进位的整型。在我没有采用float。0这两种方法之前,mid13全部是整型。left1。0right2。0mid1(leftright)2
  或者不再mid1前面加float,直接将输入量后面点个点就行
  真的很想吐槽一下print,好麻烦啊啊啊啊每次都得弄个s,而且有时候还不能放一起!!!!Fibonacci法deffibonacci(n):i0a0b1foriinrange(n):ii1cababbcreturncdefbn(x):ertx26x2returnertz2p0left0。00000right10。00000L1rightleftwhilez100:mfibonacci(z)lL1mk1。000mifk0。03:print(ns,Fns(z,m))L2lfibonacci(z1)tleftL2rrightL2whilep3:pp1l3trebn(t)obn(r)ifeo:rightttrrleftl3else:oeleftrrttrightl3breakelse:zz1okk(leftright)2okkybn(okk)print(left)print(right)print(极小值x,okk)print(极小值y,okky)
  不要问我掌握了什么,要问我现在写完这个代码后有多么的爱python的精度表示:)我决定以后只要再编写数学公式的代码都将输入量的小数学点后面补很多0
  fibonacci函数定义,每次debug后我的手都是抖的O()O黄金分割法defgold(x):ggx26x9returnggleft1right7ans0。4aleft0。618(rightleft)bleft0。382(rightleft)ggagold(a)ggbgold(b)i0whilei7:print(isi)print(lefts,rights(left,right))print(x左s,x右s(a,b))print(y左s,y右s(ggb,gga))crightleftifc0。4:ii1ifggaggb:rightaabbleft0。382(rightleft)ggaggbggbgold(b)else:ggaggbleftbbaaleft0。618(rightleft)ggbggaggagold(a)else:break
  不知道自己什么时候有的强迫症,只要是代码下面有我就必须要消掉。笑哭。这个很简单,前四个除了费波纳茨,都很简单。间接法二次插值法defyy(x):yx44x36x216x4returnydefxing(xm1,xm2,xm3,fm1,fm2,fm3):yxxx0。5000((xm22xm32)fm1(xm32xm12)fm2(xm12xm22)fm3)((xm2xm3)fm1(xm3xm1)fm2(xm1xm2)fm3)returnyxxxx11。0000f1yy(x1)x36f3yy(x3)x20。50000(x1x3)f2yy(x2)xpxing(x1,x2,x3,f1,f2,f3)fpyy(xp)aabs(xpx2)whileabs(xpx2)0。05000:aabs(xpx2)ifxpx2:iffpf2:x3xpf3fpxpxing(x1,x2,x3,f1,f2,f3)fpyy(xp)print(anssa)print(lefts,rights(x1,x3))print(xs,fps(xp,fp))print(x2s,f2s(x2,f2))print()else:f2fpx1x2f1f2x2xpf2fpxpxing(x1,x2,x3,f1,f2,f3)fpyy(xp)print(anssa)print(lefts,rights(x1,x3))print(xs,fps(xp,fp))print(x2s,f2s(x2,f2))print()else:xpx2iffpf2:x1xpf1fpxpxing(x1,x2,x3,f1,f2,f3)fpyy(xp)print(anssa)print(lefts,rights(x1,x3))print(xs,fps(xp,fp))print(x2s,f2s(x2,f2))print()else:x3x2f3f2x2xpf2fpxpxing(x1,x2,x3,f1,f2,f3)fpyy(xp)print(anssa)print(lefts,rights(x1,x3))print(xs,fps(xp,fp))print(x2s,f2s(x2,f2))print()
  这个公式看起来很麻烦,便写的时候更要谨慎。我上回把那个2搁在了分号下面,结果很大,所以还是换算成0。5更好(PS:勿忘那长河般的0)。
  虽然代码很长,但是主要是因为print太多。本打算在开头print,最后结果会漏掉最后一部分。懒得想其他办法了,直接就这样吧间接法牛顿法deffd(x):y4x312x212x16returnydeffdd(x):ys12x224x12returnysi1x03。00000ans0。001whilei7:fd0fd(x0)fdd0fdd(x0)ifabs(fd0)ans:x1x0(fd0fdd0)x0x1print(次数:s,所得的值x:s(i,x1))ii1else:fd00。001print(34;)print(Bingo!顺利通关!祝您开学愉快!)print(BossXsx0)break
  一开始while里面写成了,导致run不出来。继而,debug也没法用。在网上一查才知道没联网没选断点。最后想尝试将else里面的内容输出来,结果发现run以后被刷屏了。于是改成i7以后还是不行,于是想着加一个break跳出循环,结果成效了。
  然后刚刚由debug了一下,才知道原来是i1在if里面,因为没有办法1,所以i6一直存在,就不断循环。因为加break也好,i1也好,都可以。就在一个半小时前,我成功搞完了最优化六大代码,纯手打,无外力。开心!
  这是我第一组自己实现的python代码,就是数学公式用python语言组装起来。刚开始的时候知道大概需要在语言中体现什么,但不太清楚。于是我就在网上找了几个二分法的,他们都各有不同,但框架都差不多,不过如果要用到我们的那个公式里还需要改变很多。然后我就开始分析我们的题,我发现大体需要两部分,一部分函数定义,一部分循环体。但我不知道如何定义函数,如何写数学公式,如何弄变量,也就是说一些小点不太会,所以我选择直接百度。因为我知道自己阅读的能力不错,相比于从视频中提取要素,我更擅长通过阅读获得要点。有目的性地找知识点,掌握地更牢固。
  于是我就开始了第一个二分法的编写。我发现,自己出现了很多错误而且有很多地方都很基础。但我依然没选择视频,而是将这些问题直接在百度上找,因为视频讲完或许你也没找到点。当然,这是一步一步走的,不是直接就将程序摆上去,一点一点改。
  随着前两个的成功,我发现自己对于这些代码有了自信,似乎看透了他们的伪装,抓住了本质。除此之外,我还意识到自己自从8月份以后,学习能力似乎提高了不少,而且有了更为有效的学习方法。各方面都有了一定的觉醒。除了第一个找了几个牛头不对马嘴的代码,其他都是根据自己的逻辑写,逻辑通下来以后,对应语言中某一部分不知道如何翻译就去百度,其实这几个套路都一样或者说数学公式转化的套路都一样。
  我还意识到,汇编其实是最难的语言,目前为止所学到的,因为很多都需要自己去定义,去死抠,需要记住大量的指令且不能灵活变通。但是其他的却只需要将一些对应的记下来就好。python真的挺简单的。而且,我发现自己今天似乎打开了新世界的大门,我爱上了这种充满了灵性的东西,充满了严谨的美丽,还有那未知的变化,我发现我似乎爱上了代码。可能不仅仅局限于python,这些语言都充满了挑战性。我觉得当你疑惑的时候,就需要相信直觉,至少我发现它很准最后
  如果文章对您有帮助,点赞关注,您的支持是我最大的动力

重回巅峰,摩托罗拉6000mAh新机上线,6nm芯片助力最近手机市场上的新机很多,除了小米、荣耀之外,摩托罗拉也在发布新机,也就是摩托罗拉edgespro。讲真,因为在手机方面还是有着很悠久的历史,所以摩托罗拉这个品牌并不差,……华为鸿蒙电视即将正式开售,智慧生活好伙伴开启全新视听体验8月12日即将正式开售的华为智慧屏V75Super最近可谓火遍全网。此次华为的V系列智慧屏新品表现令众多消费者格外关注。据了解,华为智慧屏V75Super首次应用零OD技术,相……30003999元手机性价比排行榜vivoX60上榜近日,根据多家科技媒体的消息,国内手机评测机构安兔兔根据后台数据,统计出了2021年6月份Android手机性价比排行榜。按照安兔兔的介绍,本次上榜的机型除了2021年上半年发……过度收集个人信息?中消协20款APP存在不同程度问题中国消费者协会今天(14日)发布《50款APP账号注销及自动化推荐退订测评报告》显示,在是否可以顺利注销APP账号方面,50款APP中有20款APP存在不同程度问题,占总排查比……人人都要懂得网站爬虫知识,你知道多少呢?什么是爬虫呢?网络爬虫是一种按照一定的规则,自动地抓取互联网信息的程序或者脚本。〔2〕可以理解为一个自动访问网页并进行相关操作的小机器人。本质上就是实现高效、自动地进行网……阿里发力技术领域做到了全球第一,但营收被京东反超了,值得吗?双方口径差别很大,京东虚胖。京东是按过账口径,阿里巴巴是按服务收费总额。按照过账算营收,过去几年最大的企业是苏宁,联想,华为。一万元空调京东口径的营收是一万,阿里的……STO和ICO的区别STO是SecurityTokenOffer的缩写,该金融工具被称为证券化通证发行,其目标是在一个合法合规的监管框架下,进行通证的公开发行。它基于两个需求:更强有力的监管……捐款一元被扣三元?爱心收费要明明白白原标题:捐款一元被扣三元?爱心收费要明明白白莫名其妙就被扣了3块钱,很不爽!近期不少网友反馈称,多家互联网大病筹款平台向捐款者收取支持费,甚至捐款1元也被收取3元;此外,……你还记得自己的第一部手机吗?价格是?买的目的是?我用的好像是诺基亚1100,是不是这个型号不太记得了,蓝色直板机。价格好像是几百块,具体也忘记了,还是跟同学借钱买的,因为正在找工作需要一个联系方式。几百块对贫穷的学生来说差不……每日一道算法题字符串输入三个字符串,按由小到大的顺序输出输入3行字符串输出按照从小到大输出成3行样例输入复制cdeafgabc样例输出复制abcafgcde……华为重拳出击,官微首次辟谣沸腾文案7月5日,有部分媒体报道称,华为将与中国移动公司、中国航天公司合作发射两颗卫星,此次华为发射卫星的举动意在进军6G,并率先抢占6G研发先机。7月6日,华为中国官方账号辟谣……魅族无缘安卓12首发,魅友不需要升级,这些功能Flyme9早最近几年手机的发展十分迅速,手机的竞争也十分激烈,不过手机在硬件配置上同质化也趋于严重,所以各大厂商对手机系统的重视程度也越来越高,在近期华为的鸿蒙OS系统正式开启公测推送了,……
黄毅出席筑梦情缘发布会少年清爽亮相绅士十足星关系5月6日讯由杨幂、霍建华领衔主演的电视剧《筑梦情缘》5月5日在北京举行开播发布会,一众主演主创悉数到场,萌扬文化旗下艺人黄毅也应邀出席。金沙、韩冬执导的电视剧《筑梦……巨匠小演员官宣黄毅饰演少年霍建华引关注星关系4月19日讯由霍建华、杨幂领衔主演的热血励志民国剧《巨匠》近日发布匠情版预告、倾心版海报及一组主题剧照,并随之官宣小演员。萌扬文化旗下签约艺人黄毅在剧中饰演男主角霍建华的……吴千语战毒收官情感细腻演技受好评星关系8月3日讯由企鹅影视、乐道互娱出品,陈国华执导,黄宗泽、吴卓羲、吴千语等主演的缉毒剧于上周六(8月1日)会员收官。吴千语在其中饰演敏感坚强的女警花赵盈盈,她细腻的情感表达……向阳而生治愈开播郭振迦演绎中国好领导由实力派导演刘家成执导,编剧柏彤,蒋欣、高伟光、郭振迦等主演,根据知名漫画家熊顿真实故事改编的都市健康话题剧《向阳而生》于今日在湖南卫视金鹰独播剧场首播。郭振迦在剧中饰演熊顿(……能量少女张可盈唱演俱佳亮相央视元旦晚会2018火力全开向阳而星关系1月2日讯95后能量少女张可盈天籁靓声唱响了昨晚央视元旦晚会,身着水蓝色镶钻蝴蝶结透视网纱裙的她,清爽马尾活力满格,以甜润清亮、细腻灵动的嗓音与月亮姐姐、易安音乐社演绎了……高露都挺好着装遭吐槽亲自翻牌回应女人不易做星关系3月6日讯都市大剧《都挺好》热播,除了各种家庭问题引发的话题讨论,热度居高不下外,多位主演鲜明的人物特点也引发关注。在剧中饰演苏家长媳吴非的气质型演员高露,却遭到网友对于……谭维维惊喜改编窦唯窗外现学打手碟喜提新技能星关系12月3日讯浙江卫视大型音乐圆梦节目《梦想的声音》第三季自开播以来,梦想导师谭维维助力素人歌手圆梦的同时也多次登台献唱,其改编舞台每每爆发出不一样的音乐能量。节目进行到第……特斯拉Model3在日本大幅降价,然而消费者还是十动然拒数次石油危机让日本成为了汽车工业强国,但如今日本汽车行业却对电动化态度消极,更多的消费者青睐混动汽车。即便是全球电动车销冠特斯拉,在日本对消费者的吸引力也不大。近日,特斯……淘宝天猫总裁蒋凡内网致歉,阿里京东拼多多谁会笑到最后?这两天有一件事情,毫无征兆的火了起来,就是淘宝、天猫的年轻少帅蒋凡,在内网做出了道歉,并且恳请公司对这件事情进行调查。事情的起因就是昨天,疑似蒋凡妻子的微博用户在微博上控……越过山丘圆满收官开心果李小甜曝幕后趣事近期,由沈煜杰执导,张俪、高瀚宇、周奇奇、蒋冰、李小甜等领衔主演的都市励志情感剧《越过山丘》圆满收官,该剧根据晋江原著小说《金龟记》改编,讲述了商业调查师欧阳夏兰,在一次任务执……市场份额V字反弹,荣耀携50系列再战巅峰尘世如潮人如水,只叹江湖几人回。中国智能手机市场江湖处于风云变幻、大局难定的状态,其实为其它国产手机厂商提供了冲击高端的绝佳机会,然而,今年一季度虽然新机频发,市场却反应消极,……程序员的审美对于程序员的审美,很多人都持怀疑态度,很多认为程序员没有审美,否则每天早高峰的地铁里面就不会有那么多格子衫出现了,的确,对于衣着,程序员可能没有太多的审美,但是如果对于产品,对……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网