春节期间,我就干了两件事。
第一件事,是参加了若干次的亲友聚会,食用了大量高热量高脂肪食品。第二件事,就是在痛苦地翻译More Joel on software。
痛苦来自于两方面。首先,我的翻译没有按照合同约定的日期完成,心理压力很大。其次,翻译的难度也不小,电脑前坐4个小时,只译出了2000字,怎么能不痛苦呢?
我觉得,罪魁祸首就是Joel喜欢用长句,30个单词以上的句子遍地都是。他喜欢把三四种意思,合在一句话里说。我猜想,他滔滔不绝的自我感觉一定很好,但是留给我简直就是心灵创伤,用中文还原他一口气绵延不绝的语气,真是太难了。(有兴趣的朋友,可以看一看副书名 的翻译,体验一下。)我的良心建议是,以后你写书的时候,请一定多用短句。语言学家研究过,7个单词以下的句子,读者理解速度最快,单句最长一般不应超过12个单词。
下面的文章是原书中的第15篇。
===================
易用性是不够的
作者:Joel Spolsky
译者:阮一峰
原文网址:http://www.joelonsoftware.com/articles/NotJustUsability.html
发表日期 2004年9月6日,星期一
好多好多年以来,许多自封的(self-fashioned)权威----比如鄙人----一直在不断地唠叨软件的易用性(usability), 鼓吹让软件变得易用是多么多么重要。Jakob Nielsen[1]有一个数学公式,如果你愿意出122美元,他就让你看一眼。你可以用这个公式,算出网站易用性的具体数值。(如果网站易用性的期望值 大于122美元,那么我猜你赚到了。)
我在这方面写过一本书《程序员的用户界面设计指南》(User Interface Design for Programmers, Apress, 2001),价格要便宜许多。我在书中告诉了你一些原则,关于如何设计出具备可用性的软件。我没用到数学,不过你的收获肯定将超过书价。
在那本书的第31页,我举了一个例子,对象是当时地球上最流行的应用软件Napster。它的主窗口采用按钮,在5个不同的界面之间切换。界面设计 有一个原则叫做"功能的可见性[2]"(affordance), 根据这个原则,就不应该使用按钮,而真的应该使用选项页(tab)。我以前主张的观点就是这样。
但是即便如此,Napster依然是当时地球上最流行的应用软件。
在手稿的早期版本中,我实际上还写过这样的话:"这表明软件的可用性并不是决定性因素。"在一本宣传可用性的书中,出现这种话,其实是挺别扭的。所以,后来当书籍印刷时,排字工人跟我说,这一段太长必须压缩,我不由感到如释重负,就删除了这句话。
但是,必须承认,这件事反映出真理残酷的一面,至少对用户界面设计专家来说,这是残酷的。如果一个应用程序具备真的非常重要的功能,而且用户真的非 常需要这个功能,那么即使这个程序难用得令人感到可悲,它仍然会大受欢迎。反过来说,有一个应用程序,被做成是世界上最容易使用的东西,但是如果它对任何 人都毫无用处,那么它照样会完蛋。用户界面设计专家总是属于防守方,不得不与一些很不实际的投资回报率公式对抗。那些公式告诉客户,花75000美元进行 可用性改造,到底能取得多大的回报。之所以会发生这种事,完全是因为在许多人心目中,可用性属于可有可无的"可选项"(optional)。在许多情况 下,这种看法确实说出了事实。现实中,这样的事情比比皆是。一个用户界面设计师,就无法帮助CNN网站多赚到一分钱。它的界面再难用,也依然会有人去访 问。我愿意担风险,在这里断言,世界上所有以内容为主的网站,没有一个会单单因为可用性的改善,而多赚到哪怕一美元的收入。因为,以内容为主的网站(请注 意我的言下之意,那些不以内容为主的网站依然属于应用程序的范畴)不管再怎么样难用,都已经可以用了,真是太该死了。
不去管它了。
我今天真正要讲的东西,不是抱怨可用性如何不被重视......事实上,在其他条件相同的情况下,可用性设计就是决定性的。有许多例子证明,恶劣的可用性设计会导致小型飞机的空难,造成人员伤亡;还导致饥荒和瘟疫,以及别的灾难。但是,这不是我今天要讲的东西。
我今天真正要讲的东西,是关于软件设计的下一个层次的问题,也就是当你做好用户界面以后,你会遇到的问题----设计社会化界面(social interface)。
我想,这里需要我来解释一下。
上个世纪80年代,"可用性"这个概念被"发明"出来了。当时的软件全部都是人与机器之间的互动。目前,还有许多软件是这个样子的。但是,互联网的兴起,带给我们一种新的软件,它可以实现人与人之间的互动。
论坛,社会化网络,分类广告网站,......嗯,还有电子邮件。所有这些软件都属于人与人之间的中介,而不是人与机器之间的中介。
当你在编写充当人与人中介的软件时,做好可用性设计以后,下一步你就必须做好社会化界面的设计。而且,社会化界面比可用性设计更重要。如果社会化界面一塌糊涂,那么就算你有世界上最好的用户界面,你的软件也活不了。
最好的讲解社会化界面的方法,就是看一些成功的例子和失败的例子。
几个实例
首先,请看一个失败的社会化界面。每个星期,都有我从未听说过的人给我发电子邮件,邀请我加入他们所在的社会化网络。既然我不认识那个家伙,我就感 到有点不悦,直接把邮件删除了。后来,我从别人那里知道了这是怎么回事。某个社会化网络软件公司,提供一种工具,能够自动获取你的电子邮件地址本,然后向 其中的每一个人发送邀请加入的邮件。这个工具是第一步,第二步是有些电子邮件客户端软件每收到一封信,都会自动将发信人的地址保存下来,第三步是如果你正 好订阅过"Joel谈软件"的邮件列表,你就收到过用我的邮件地址发给你的一封确认邮件,问你是不是真的想加入,这时你的Email软件就自动把我的地址 记入你的地址本。这三者加在一起,一切就这样发生了。所有我根本不认识的人,一打开那个社会化网络的工具软件,它就会没头没脑地向我发出一封邮件,要我确 认我是这些人的朋友。谢谢你订阅我的邮件列表,但是不要有幻想,我不会把比尔·盖茨介绍给你认识的。我当前的政策是,不加入任何社会化网络。因为,它们给 我的感觉,就是与人类关系网的真实运作方式完全格格不入。
现在,再来看一个成功的社会化界面。许多人在面对面交流时,比较胆怯和拘谨,但是如果不见面用文字交流,就比较放得开。青少年尤其如此。手机上的短 消息,使得他们更容易将对方约出来。所以,短消息软件在社会化方面做得如此成功,以至于极大地改善了几百万人的爱情生活(或者说,至少改善了他们的社交生 活)。即使短消息的用户界面糟糕得可怕,但是它依然在孩子们中疯狂地流行。这件事的可笑之处在于,每一台手机上都有一个比短消息好得多的用户界面,专门供 人与人之间的交流,这个精巧的界面叫做打电话。你拨一个号码,然后你说的每一个字,对方都能够听到,他说的每一个字,你也能听到。就是这么简单,可是在某 些人群中,打电话就是不如操作麻烦的短消息流行。你不停地按键盘,简直把大拇指都按断了,只为了发出一句话"天啊,你真漂亮"。为什么你宁愿按断大拇指, 都不愿直接打电话说?原因是这一长串的按键能让你得到一次约会,如果是直接打电话,你永远不会有勇气从喉咙里说出"天啊,你真漂亮"。
另一个社会化软件的成功例子是eBay。当我第一次听到eBay的时候,我说:"瞎搞!这绝对行不通。你在网上随便遇到一个人,就把钱送给他,寄希 望于那个家伙良心未泯,会把商品寄给来。这不是太可笑了?"抱有类似看法的还有许多人。我们全都错了,完全错了,大错特错了。eBay对文化人类学意义上 的人类,下了大赌注,并且赌赢了。eBay了不起的地方在于,它的巨大成功,完全是因为它的模式当时被看作根本不可行,没有其他人来做这件事,只有 eBay做了,等到它依仗着网络效应(network effect),锁定领跑者的优势(first-mover advantage),其他人再想追赶就晚了。
除了本身的成功和失败,社会化软件还有一些副效应。社会化软件运作的方式,在很大程度上,决定了围绕它所形成的用户社区的类型。Usenet用户有 一个叫做"大回复"(big-R)的命令,在回复时,可以引用别人的发言,并且在引用的每行左边最前面加上一个简洁的>。早期的Usenet客户 端,也就是各种新闻阅读器(newsreader),不能列出同主题所有发言,所以如果你想针对某个人的发言做出有连贯性的回复,你就不得不用"大回复" 命令,引用原始发言。这导致了一种Usenet风格的特殊讨论方式,也就是逐行驳斥(line-by-line nitpick)。这种事做起来感觉很爽,但是对他人来说,根本不值得阅读。(顺便说一句,后来在互联网上出现了一些政治类的网志,重新使用了这种技巧, 那些作者认为这是他们发现的好玩的新做法,并取名为fisking,具体的原因我这里就不深究了。不过不用担心,这不是脏话。)你看,即使人类已经争论了 几千年,但是只因为一个软件产品的小功能,就产生了一种全新风格的讨论方式。
软件的小变动,就能导致其所支持的(或不支持的)社会化功能的大变动。Danah Boyd对社会化网络软件写过一篇精彩的批评文章《自闭的社会化软件》(Autistic Social Software,www.danah.org/papers/Supernova2004.html),抨击当前的一些社会化网络软件强迫用户像自闭症 患者那样行为。
请认真审视当前的潮流,人们对于将用户通过"朋友的朋友"关系互相连接起来的社会化网络,显示出浓厚的兴趣。这样的网络包括Friendster、 Tribe、LinkedIn、Orkut等等。它们做了一些技术尝试,试图将人们构建和管理自己的人际关系网的方法模式化。它们假设你能够评判谁是你的 朋友。在某几个软件中,它们用既定的程序指导人们结识不认识的人,它们不给你提供其他选择,只有唯一的途径,让你可以结识它们提供给你结识的人。
这种方法肯定有它的优点,因为这样一来,一切都能够通过计算得到。但是,一想到要是人们将这类模型同社交生活等同起来,我就感到恐怖。它们太过于简 化了,人们被迫按照程序提供的模式进行交往,好像都得了自闭症一样,好像一定就得按照预先的设计进行互动一样。这种方法对于那些需要这类系统的人,肯定有 帮助,但是它并非一个普遍适用的模型。而且,用技术来机械化地指导人际交往,到底会有怎样的后果?我们是否真的需要一种具有自闭症倾向的人际交往呢?
如果一个软件部署社会化界面时,不考虑文化人类学,那么这个软件就会难于使用,令用户恼火,不会真正地发挥作用。
设计社会化软件
让我给你示范一下,如何设计社会化界面。
假定你的用户正在做某些他们不应该做的事。
根据可用性设计的思想,这个时候,你应该告诉用户,哪些事是不对的,以及怎样纠正。专家为这种做法起了个专门的名称,叫做"防御性设计"(Defensive Design)。
如果你把这种做法照搬到社会化软件上,那就太天真了。
举例来说,用户的不当行为是在一个论坛中,贴出伟_哥的广告。
你的做法是向这些用户显示警告信息:"对不起,本论坛不欢迎伟_哥广告。你的帖子将被拒绝发表。"
猜猜看,那些用户会怎么反应?他们会换一种形式,照贴不误。(或者他们会发动一场冗长而乏味的抗议,跟你辩论审查制度和宪法第一修正案[3]。)
根据社会化界面的工程学(social interface engineering),这时你必须考虑社会学和人类学的因素。在社会中,存在各种各样的人,包括想占便宜的人、搞诈_骗的人、以及其他为非作歹的人。反 映到社会化软件中,就是总有人会为了自己的利益滥用软件,而不惜损害他人的利益。如果听任其发展,这就会导致经济学家所称的"公地的悲剧[4]"(the tragedy of the commons)。
用户界面的设计目标,是帮助用户能够成功操作。而社会化界面的设计目标,是帮助人与人之间的社会关系能够成功运作,即使这意味着必须要冒犯某个特定的用户。
所以,一个优秀的社会化界面设计师这时候会说:"让我们不要显示错误信息,假装系统接受了用户张贴的伟_哥广告。这样使得张贴者感到达到了目的,就转到其他论坛去贴广告了。我们要做的,就是不让他的广告被任何其他人看到。"
说真的,避开攻击最好的方法之一,就是让它看上去好像获得了成功。这是装死战术在软件中的表现。
当然,这种方法不会100%有效。不过,95%的情况下,它是有效的。所以,它将你遇到的麻烦减少到二十分之一。就像社会学中的其他事情一样,这方 面没有最优算法,只能做到大致上的改进(fuzzy heuristic)。在很多情况下,它是有效的,所以就值得尝试,即使不能保证肯定会成功。俄国黑手党精心策划的网络钓鱼计划(phishing scheme),最后会想出破解的方法。但是,住在流动房屋(trailer park)中的某些低智商的、盼望着快速致富的佛罗里达人,看到广告帖子张贴成功,就会心满意足地转到下一个论坛去了。今天我收到的垃圾邮件中,90%简 陋到令人摇头叹息,就连Microsoft Outlook内置的那么低级蹩脚的垃圾邮件过滤器,都能把它们拦截住。你只需要随便凑几个很简单的搜索关键词,就能成功拦截这些不中用的垃圾邮件。
推广社会化界面
几个月前,我意识到,我们Fog Creek软件公司开发的所有软件,有一个共同的主题,那就是我们执着地、一心一意地要把软件的社会化界面做好。比如,FogBugz的设计中有许多特定 的功能,和更多较小的细节上的安排,使得有效追踪软件中的bug实际上成为可能。不断地,有客户告诉我,他们以前的bug追踪系统,从来没有被真正使用 过,因为它不适合团队开发的环境。但是,当他们改用FogBugz后,bug追踪系统就被真正投入了使用,而且很受欢迎,它改变团队开发中的一些做法。我 知道FogBugz有效,是因为每当我们推出一个新版本,旧客户选择升级的百分比非常高,这表明FogBugz并不是"架上软件[5]" (shelfware)。甚至有一些客户,已经购买了许多张软件使用许可证,但是还是经常回到我们这里,购买更多的许可证,因为这个软件在他们的组织中使 用得越来越广,越来越多的地方需要用到这个软件。这真得令我感到非常骄傲。团队内部使用的软件,通常很难推广,因为它要求团队中的每一个人都同时改变使用 习惯。如果你学过人类学,你就知道这不太可能做到。由于这个原因,FogBugz在设计时就做了很多安排,即使团队中只有一个人使用这个软件,它依然是有 用的。同时,FogBugz的设计中还有一些有利于推广的特性,能够鼓励其他用户使用,直到团队中每一个人都用上它为止。
在如何正确部署社会化界面这个问题上,我自己的网站上使用的论坛软件做得更完善,我很快就会把它并入FogBugz,作为一个功能上的卖点。我的论 坛软件做了各种安排,包括特定的功能、各种细节、设计上的安排等等,加起来一共有几十项,它们加在一起,使得我的论坛成为一个可以进行非常高水平的趣味对 话的场所,在我去过的论坛中,它具有最好的信噪比(signal-to-noise ratio)。在下一章中,我会详细来谈它。
这几个月来,我越来越认同,良好的社会化界面设计会为我们创造更多的价值,我变得更加专注于实现这个想法。我们聘请了好几个像Clay Shirky这样的专家(他是这个领域的先驱),在不幸的"Joel谈软件"的论坛用户身上进行了大胆的实验(许多变动都很细微,实际上不会被察觉,比如 在你回复的时候,我们不向你显示你的留言所针对的原始帖子,目的是防止出现长篇累牍的引用,影响到整个页面的可读性),我们还不惜耗费大量资源,采用许多 高级算法,减少论坛上的垃圾帖子。
一个新领域
社会化界面设计是一个全新的领域,还处于婴儿期。据我所知,这方面的书籍一本也没有出版过,只有少数几个人做过一些相关的研究,还没有系统的理论来 指导如何设计社会化界面。回想起来,在可用性设计诞生的早期,软件公司招募人体工程学(ergonomics)专家和心理(human factor)专家,帮助设计具备可用性的产品。人体工程学专家对办公桌的正确高度所知甚多,但是这些人不知道如何正确设计文件系统的图形界面,所以一个 全新的领域就这样诞生了。渐渐地,用户界面设计开始形成了自己的体系,确定了一些基本的概念,比如界面的协调性(consistency)、功能的可见性 (affordability)、反馈性(feedback)等等。它们成为了用户界面设计学的基石。
展望下一个十年,我期待软件公司会雇佣受过人类学家(anthropologist)和人种学家(ethnographer)训练的人,请他们参与 社会化界面的设计。他们采用的方法,不是兴建可用性实验室,而是走向室外,开展田野调查,写出人种调查报告(ethnography)。但愿我们会找到社 会化界面设计的一些原则。那一定非常迷人......就像上个世纪80年代,用户界面设计刚刚兴起时那样有趣......所以,敬请期待(stay tuned)。
注释:
[1] Jakob Nielsen(1957-),丹麦人,著名的网站可用性咨询专家。
[2] Affordance指的是在设计时,必须明显体现出设计对象的使用方法。
[3] 美国《宪法》的第一修正案保证公民享有言论自由和出版自由。
[4] "公地的悲剧"是1968年美国生态学家Garrett Hardin(1915-2003)首先提出的。他指出,在公共草地可以无偿放牧,所以牧羊人一定会过度放牧,尽可能多地占用公地的资源,因为如果他不这 样做,其他人也会这样做,最终就会导致公地的荒芜。在经济学上,这特指公共资源会因为过度使用而枯竭。过度砍伐的森林、过度捕捞的渔业资源及污染严重的河 流和空气,都是"公地的悲剧"的典型例子。之所以叫悲剧,是因为每个当事人都知道资源将由于过度使用而枯竭,但每个人对阻止事态的继续恶化都感到无能为 力。而且都抱着"及时捞一把"的心态加剧事态的恶化。
[5] "架上软件"指的是不被使用的软件,就好像一直放在货架上一样。
(完)
相关推荐
《More Joel on Software》是Joel Spolsky的著作,由Apress出版社于2008年出版。这本书深入探讨了软件开发、设计与管理领域的多样性和相关问题,旨在为软件开发者、设计师、经理以及与他们合作的人士提供有价值的...
《软件随想录 - More Joel on Software》是乔尔·斯波斯基(Joel Spolsky)的一本经典著作,他是一位知名的软件开发者、企业家和博客作者。这本书汇集了他在软件开发、团队管理、产品设计等多个领域的深入思考和经验...
Tripple Farm:Match 3 Combination Game Complete Project 合成小镇三消Unity合成消除游戏项目游戏插件模版C# 支持Unity2020.3.4或更高 您知道像三合镇这样的著名益智游戏,并且您想制作一个自己的游戏。就是这样。这个包正好适合您。 这是一个完整的项目,您可以在零分钟内将其上传到 appstore 或 googleplay 商店。 基本规则: 3个或以上相同的道具可以匹配升级为新的道具。动物如果被困住,也可以合并。 羽毛: -移动(android/ios)就绪。 - 包含所有源代码。 -超过 12 座建筑/军团需要升级。 -三种特殊物品可以提供帮助。 - 三个不同的主题(场景和动物) -unity iap 支持 -Unity UI -广告位已准备好 -包含详细文档
内容概要:本文档是一份针对Java初学者的基础测试题,分为不定项选择题、简答题和编程题三大部分。选择题涵盖标识符、数组初始化、面向对象概念、运算符优先级、循环结构、对象行为、变量命名规则、基本
内容概要:本文详细介绍了如何利用MATLAB进行机器人运动学、动力学以及轨迹规划的建模与仿真。首先,通过具体的代码实例展示了正运动学和逆运动学的实现方法,包括使用DH参数建立机械臂模型、计算末端位姿以及求解关节角度。接着,讨论了雅克比矩阵的应用及其在速度控制中的重要性,并解释了如何检测和处理奇异位形。然后,深入探讨了动力学建模的方法,如使用拉格朗日方程和符号工具箱自动生成动力学方程。此外,还介绍了多种轨迹规划技术,包括抛物线插值和五次多项式插值,确保路径平滑性和可控性。最后,提供了常见仿真问题的解决方案,强调了在实际工程项目中需要注意的关键点。 适合人群:对机器人控制感兴趣的初学者、希望深入了解机器人运动学和动力学的学生及研究人员、从事机器人开发的技术人员。 使用场景及目标:① 学习如何使用MATLAB进行机器人运动学、动力学建模;② 掌握不同类型的轨迹规划方法及其应用场景;③ 解决仿真过程中遇到的各种问题,提高仿真的稳定性和准确性。 其他说明:文中提供的代码片段可以直接用于实验和教学,帮助读者更好地理解和掌握相关概念和技术。同时,针对实际应用中的挑战提出了实用的建议,有助于提升项目的成功率。
包括:源程序工程文件、Proteus仿真工程文件、配套技术手册等 1、采用51/52单片机作为主控芯片; 2、发送机:18B20测温、开关模拟灯光,发送数据; 3、接收机:接受数据、12864液晶显示;
内容概要:本文探讨了在微电网优化中如何处理风光能源的不确定性,特别是通过引入机会约束和概率序列的方法。首先介绍了风光能源的随机性和波动性带来的挑战,然后详细解释了机会约束的概念,即在一定概率水平下放松约束条件,从而提高模型灵活性。接着讨论了概率序列的应用,它通过对历史数据分析生成多个可能的风光发电场景及其概率,以此为基础构建优化模型的目标函数和约束条件。文中提供了具体的Matlab代码示例,演示了如何利用CPLEX求解器解决此类优化问题,并强调了参数选择、模型构建、约束添加以及求解过程中应注意的技术细节。此外,还提到了一些实用技巧,如通过调整MIP gap提升求解效率,使用K-means聚类减少场景数量以降低计算复杂度等。 适合人群:从事电力系统研究、微电网设计与运营的专业人士,尤其是那些对风光不确定性建模感兴趣的研究者和技术人员。 使用场景及目标:适用于需要评估和优化含有大量间歇性可再生能源接入的微电网系统,旨在提高系统的经济性和稳定性,确保在面对风光出力波动时仍能维持正常运作。 其他说明:文中提到的方法不仅有助于学术研究,也可应用于实际工程项目中,帮助工程师们制定更为稳健的微电网调度计划。同时,文中提供的代码片段可供读者参考并应用于类似的问题情境中。
linux之用户管理教程.md
内容概要:本文详细介绍了如何利用组态王和西门子S7-200 PLC构建六层或八层电梯控制系统。首先进行合理的IO地址分配,明确输入输出信号的功能及其对应的物理地址。接着深入解析了PLC源代码的关键部分,涵盖初始化、呼叫处理、电梯运行逻辑和平层处理等方面。此外,提供了组态王源代码用于实现动画仿真,展示了电梯轿厢的画面创建及动画连接方法。最后附上了详细的电气原理图和布局图,帮助理解和实施整个系统架构。 适合人群:从事工业自动化控制领域的工程师和技术人员,尤其是对PLC编程和人机界面开发感兴趣的从业者。 使用场景及目标:适用于教学培训、工程项目实践以及研究开发等场合。旨在为相关人员提供一个完整的电梯控制系统设计方案,便于他们掌握PLC编程技巧、熟悉组态软件的应用,并能够独立完成类似项目的开发。 其他说明:文中不仅包含了理论知识讲解,还分享了许多实际操作经验,如解决编码器丢脉冲的问题、优化平层停车精度的方法等。同时强调了安全性和可靠性方面的考虑,例如设置了多重保护机制以确保系统稳定运行。
在工业生产和设备运行过程中,滚动轴承故障、变压器油气故障等领域的数据分类与故障诊断至关重要。准确的数据分类与故障诊断能够及时发现设备潜在问题,避免故障恶化导致的生产事故与经济损失。LSTM能够捕获时序信息,马尔可夫场(MTF)能够一维信号转换为二维特征图,并结合CNN学习空间特征,MTF-1D-2D-CNN-LSTM-Attention模型通过将一维时序信号和二维图像融合,融合不同模态优势,并引入多头自注意力机制提高泛化能力,为数据分类与故障诊断提供了新的思路。实验结果表明,该模型在分类准确率、鲁棒性和泛化能力方面具有显著优势。多模态融合算法凭借其创新点和实验验证的有效性,在滚动轴承故障、变压器油气故障等领域展现出广阔的应用前景,有望推动相关领域故障诊断技术的进一步发展。 关键词:多模态融合;故障诊断;马尔可夫场;卷积神经网络;长短期记忆神经网络 适用平台:Matlab2023版本及以上。实验硬件设备配置如下:选用高性能计算机,搭载i7处理器,以确保数据处理和模型训练的高效性;配备16GB的内存,满足大规模数据加载和模型运算过程中的内存需求;使用高性能显卡,提供强大的并行计算能力,加速深度学习模型的训练过程。实验参数的选择依据多方面因素确定。
内容概要:本文档提供了一个面试模拟的指导框架,旨在为用户提供一个真实的面试体验。文档中的面试官名为Elian,被设定为性格温和冷静且思路清晰的形象,其主要职责是根据用户提供的简历信息和应聘岗位要求,进行一对一的模拟面试。面试官将逐一提出问题,确保每次只提一个问题,并等待候选人的回答结束后再继续下一个问题。面试官需要深入了解应聘岗位的具体要求,包括但不限于业务理解、行业知识、具体技能、专业背景以及项目经历等方面,从而全面评估候选人是否符合岗位需求。此外,文档强调了面试官应在用户主动发起提问后才开始回答,若用户未提供简历,面试官应首先邀请用户提供简历或描述应聘岗位; 适用人群:即将参加面试的求职者,特别是希望提前熟悉面试流程、提升面试技巧的人士; 使用场景及目标:①帮助求职者熟悉面试流程,提高应对实际面试的信心;②通过模拟面试,让求职者能够更好地展示自己的优势,发现自身不足之处并加以改进; 其他说明:此文档为文本格式,用户可以根据文档内容与面试官Elian进行互动,以达到最佳的模拟效果。在整个模拟过程中,用户应尽量真实地回答每一个问题,以便获得最贴近实际情况的反馈。
招聘技巧HR必看如何进行网络招聘和电话邀约.ppt
内容概要:本文详细介绍了利用三菱PLC(特别是FX系列)和组态王软件构建3x3书架式堆垛式立体库的方法。首先阐述了IO分配的原则,明确了输入输出信号的功能,如仓位检测、堆垛机运动控制等。接着深入解析了梯形图编程的具体实现,包括基本的左右移动控制、复杂的自动寻址逻辑,以及确保安全性的限位保护措施。还展示了接线图和原理图的作用,强调了正确的电气连接方式。最后讲解了组态王的画面设计技巧,通过图形化界面实现对立体库的操作和监控。 适用人群:从事自动化仓储系统设计、安装、调试的技术人员,尤其是熟悉三菱PLC和组态王的工程师。 使用场景及目标:适用于需要提高仓库空间利用率的小型仓储环境,旨在帮助技术人员掌握从硬件选型、电路设计到软件编程的全流程技能,最终实现高效稳定的自动化仓储管理。 其他说明:文中提供了多个实用的编程技巧和注意事项,如避免常见错误、优化性能参数等,有助于减少实际应用中的故障率并提升系统的可靠性。
内容概要:本文详细探讨了利用COMSOL进行电弧放电现象的模拟,重点在于采用磁流体方程(MHD)来耦合电磁、热流体和电路等多个物理场。文中介绍了关键的数学模型如磁流体动力学方程、热传导方程以及电路方程,并讨论了求解过程中遇到的技术难题,包括参数敏感性、求解器选择、网格划分等问题。此外,作者分享了许多实践经验,比如如何处理不同物理场之间的相互作用,怎样避免数值不稳定性和提高计算效率。 适用人群:适用于从事电弧放电研究的专业人士,尤其是那些希望通过数值模拟深入了解电弧行为并应用于实际工程项目的人群。 使用场景及目标:①帮助研究人员更好地理解和预测电弧放电过程中的各种物理现象;②为工程师提供优化电气设备设计的方法论支持;③指导使用者正确配置COMSOL软件的相关参数以确保高效稳定的仿真结果。 其他说明:尽管存在较高的计算复杂度和技术挑战,成功的电弧放电仿真能够显著提升对这一重要物理过程的认识水平,并促进相关领域的技术创新和发展。
内容概要:本文详细介绍了如何利用粒子群优化算法(PSO)改进极限学习机(KELM),以提升其在多维输入单维输出数据处理任务中的性能。首先简述了KELM的工作原理及其快速训练的特点,接着深入探讨了PSO算法的机制,包括粒子的速度和位置更新规则。然后展示了如何将PSO应用于优化KELM的关键参数,如输入权值和隐含层偏置,并提供了具体的Python代码实现。通过对模拟数据和实际数据集的实验对比,证明了PSO优化后的KELM在预测精度上有显著提升,尤其是在处理复杂数据时表现出色。 适合人群:对机器学习尤其是深度学习有一定了解的研究人员和技术爱好者,以及从事数据分析工作的专业人士。 使用场景及目标:适用于需要高效处理多维输入单维输出数据的任务,如时间序列预测、回归分析等。主要目标是通过优化模型参数,提高预测准确性并减少人工调参的时间成本。 其他说明:文中不仅给出了详细的理论解释,还附上了完整的代码示例,便于读者理解和实践。此外,还讨论了一些实用技巧,如参数选择、数据预处理等,有助于解决实际应用中的常见问题。
内容概要:本文介绍了利用粒子群算法(PSO)解决微网优化调度问题的方法。主要内容涵盖微网系统的组成(风力、光伏、储能、燃气轮机、柴油机)、需求响应机制、储能SOC约束处理及粒子群算法的具体实现。文中详细描述了目标函数的设计,包括发电成本、启停成本、需求响应惩罚项和SOC连续性惩罚项的计算方法。同时,阐述了粒子群算法的核心迭代逻辑及其参数调整策略,如惯性权重的线性递减策略。此外,还讨论了代码调试过程中遇到的问题及解决方案,并展示了仿真结果,证明了模型的有效性和优越性。 适合人群:从事电力系统优化、智能算法应用的研究人员和技术人员,特别是对微网调度感兴趣的读者。 使用场景及目标:适用于研究和开发微网优化调度系统,旨在提高供电稳定性的同时降低成本。具体应用场景包括但不限于分布式能源管理、工业园区能源调度等。目标是通过合理的调度策略,使微网系统在满足需求响应的前提下,实现经济效益最大化。 其他说明:本文提供的Matlab程序具有良好的模块化设计,便于扩展和维护。建议读者在理解和掌握基本原理的基础上,结合实际情况进行改进和创新。
KUKA机器人相关资料
基于多智能体的高层建筑分阶段火灾疏散仿 真及策略研究.pdf
Iterative Time Series Imputation by Maintaining Dependency Consistency (ACM TKDD 2024)
内容概要:本文详细探讨了带同步整流桥的交错PFC(功率因数校正)电路的设计与仿真实现。交错PFC通过多路PFC电路交错工作,降低了输入电流纹波,提高了功率密度。同步整流桥采用MOSFET代替传统二极管,减少了整流损耗,提升了效率。文中提供了关键代码片段,包括PWM控制、同步整流桥控制逻辑、电流环控制等,并介绍了如何在MATLAB/Simulink中搭建仿真模型,验证设计方案的有效性。此外,还讨论了仿真过程中遇到的问题及其解决方案,如死区时间处理、电流采样精度、负载突变应对等。 适合人群:从事电力电子设计的研究人员和技术工程师,尤其是对PFC技术和同步整流感兴趣的从业者。 使用场景及目标:适用于研究和开发高效的电源管理系统,旨在提高电能利用率,减少谐波污染,优化电源性能。目标是通过仿真实验验证设计方案的可行性,最终应用于实际硬件开发。 其他说明:文章强调了仿真与实际调试的区别,提醒读者在实际应用中需要注意的细节,如电流采样精度、死区时间和负载突变等问题。同时,提供了具体的代码实现和仿真技巧,帮助读者更好地理解和掌握这一复杂的技术。