感谢您抽出宝贵时间观看此视频。
我假设您在这里是因为您已经使用或尝试使用
JMP 中的可修复系统仿真平台。
您可能想了解更多一点。
你可能会因为有些事情而感到沮丧
你正在尝试做你认为自己做不到的事情。
那么我今天要介绍的内容
是文档中没有深入解释的内容,
我通过反复试验学到的东西
文档中没有的内容,
甚至是我从与开发人员交谈中学到的东西
关于平台,你找不到的东西
任何其他方式。
我假设您已经接触过这个平台。
我假设你对可靠性分析有所了解,
所以我不必详细说明什么是并行设置,
N 中的 K 是什么,等等。
所以我有很多想要介绍的例子,
很多材料。 让我们开始吧。
现在,在我们真正看之前
可修复系统仿真平台,让我给您概述一下。
希望您以前使用过它并且熟悉它,
我们将讨论三个不同的组件
以及有关文档中未包含的组件的方面
或者文档中没有很好地解释。
我们要讨论的第一件事是块。
块是我用来构建可修复系统模拟的东西
例如并联、N 中的 K、备用。
因此,对于每个块,我可以将一个事件与该块关联起来。
这些就是我们看到的橙色小块,对于每个块,
我可以关联一个或多个结果或行动。
那些就是我们看到的那些蓝点,
这将帮助我建立我的模拟。
例如,我可能想知道某个块何时失败
当该块发生故障时,我可能想要修复该块,
比如说,修复可能需要 40 个小时。
这就是构建这些 RSS 图表背后的想法。
我们先来谈谈
块的一些一般属性。
一个结中有六个不同的块,
这使我能够将图表中的事物联系在一起。
这六个块中有五个是复合材料。
它们由两个或多个子单元组成。
JMP 允许您将它们与一个子单元一起使用。
但实际上,用例是它们由两个或更多子单元组成。
事件和操作应用于整个块。
所以这是很重要的一点。
块内的组件不能单独处理,
除了备用块。
他们被分配一个单一的分布。
综合起来,这两个要点意味着诸如修复之类的事情
或无法对子单元进行维护
在这些复合块内。
我必须等到整个区块都失败
在我真正可以用那个块做任何事情之前
在我修复该块之前。
如果我想在块内进行不同的分布,
我也做不到,除了待机。
我们将在稍后的示例中讨论这一点。
所有复合块的子单元,
除了串联块之外,都是并联的。
区分这些不同复合块的东西
是正在运行的组件的数量,
块何时失效以及块如何老化。
所以我整理了一个小表来涵盖所有复合块
以及它们与这些特征有何不同。
对于所有复合块(备用块除外),
所有组件同时运行。
使用复合块,我可以选择 N 个单元中的 K 个来运行
然后剩下的单位作为备份。
那么这些块什么时候会失效呢?
显然,如果您有任何可靠性方面的经验,系列块就会失败
当一台设备出现故障时。
当所有单元都失败时,并行块就会失败,
当您的单位数少于 K 时,从 N 中选择 K,依此类推。
因此,您在可靠性分析中可能自然会想到的事情,
待机和共享还有另一种失败的方法。
对于备用单元,有一个切换机制。
整个区块可能只有一个开关
或每个备份一个交换机。
如果我只有一个交换机,备用电源可能会失败
当该开关失败时,或者如果我尝试使用
我的每一个备用单位
这些备用设备上的开关也出现故障。
因此,开关故障可能是块故障的另一个原因。
压力分担也是如此。
然而,通过压力分担,我只有一个开关。
最终的特征是不同的
这些复合块之间的差异在于它们的老化方式。
对于前三个区块,它们的老化程度相同。
块内的所有子单元均等老化。
对于待机和压力共享,子单元可以老化......
对于备用设备,它们的老化程度可能不同。
对于压力分担来说,他们的年龄肯定不同。
对于待机,
我可以为我的运营单位选择一个发行版。
对于我的备用单位,
我可以选择它们不老化——那就是冷备用——
或者我可以给他们不同的分布
当它们处于待机模式时如何老化
或者当他们充当备份时。
这可能与我的操作单位相同,也可能有所不同。
所以我可以选择两个不同的发行版。
问题又是,
与所有这些复合块一样,我得到一个分布
对于我所有的操作单位,我的所有备份都有一个发行版。
我无法混合搭配。
最后,通过压力分担,压力分担发挥作用
有点不同。
通过压力共享,压力在块之间平均分配。
然而,当其中一个子单元出现故障时,
额外的压力与剩余的运营单位有关。
所以压力会从失败变成失败。
我们稍后会看到一个例子。
现在,你可能发现的一件事是,
或者你可能会意识到有时
你想要有更多的灵活性
我建立灵活性的方法是我可以安排我的基本块
或我的基本块,就像并行或 N 中的 K 一样
作为我的复合块之一。
基本块可以轻松排列,如串联、并联或 N 中的 K
使用待机和压力共享块更难做到
当您拥有两个以上单位时。
我有一个例子
显示了具有两个基本块的待机设置。
如何做到这一点相对简单。
但如果我尝试将其扩展到三个街区
这变得更加困难。
不是不可能,只是很难做到
因为我必须跟踪哪些正在运行,哪些没有运行,
发生故障时会发生什么等等。
压力分担也是如此。
让我们来看第一个例子。
对于我们的第一个示例,我们将研究基本的 N 中 K 排列。
我们将有五个子单位。
其中三个需要运行。
他们都将拥有 Alpha 为 2,000、Beta 为 1 的威布尔。
我们假设当一个块失败时
需要40小时才能更换。
我们要把这个安排
与 N 个复合块中的 K 个串联。
我们还假设 N 个复合块中的 K 个需要 40 小时
尽管有五个子单元,但要替换
在那个失败的块内。
我们来看看它有什么区别
我是否将这些视为单独的项目
或者作为我的复合项目?
这就是我在 RSS 中的设置。
我把它保持得非常简单。
这是我的子单位相对于我的 N 个子单位。
是什么使它成为 N 中的 K 在于结。
我可以指定传入的项目数量
需要进行操作。
在这里我已经说过我需要三个操作。 这就是它成为 N 中的 K 的原因,
这种安排,N 中的 K。
我只是想让它变得非常简单。
我要查看的唯一事件是该块是否失败,
我要采取的唯一行动就是修复如新。
让我们继续运行这个。
相对较快。
我想花一点时间谈谈输出
因为发送到输出和状态的内容
当我们将来开始构建图表时将会帮助我们。
我们先看一下操作顺序
对于这第一次失败。
所以我们看到 Sub1 单元已发生故障 766 小时。
该块被移除。
所以这一点值得注意,因为这是我可能发生的事件之一。
因此,块被删除,我开始该过程,我替换块。
更换块后,在我指定的 40 小时后
在我的设置中,系统会自动打开。
这是另一个重要的点。
我们将会遇到这样的情况
对于我的一些事件,系统无法获取
自动打开,我将讨论那些是哪些。
在这些情况下我们必须做什么
实际上是打开系统,或者在某些情况下,当块
不会自动打开,请手动打开块。
在这里,我们的 Sub3 失败了,您会看到一系列类似的事件,
Sub2失败等,我们看看会发生什么
当系统出现故障时。
我们知道,当 N 个中的 K 个失败时,这种情况肯定会发生。
好的,这是系统失败的第一种情况。
同样,与大多数操作非常相似,
但您会注意到它会关闭系统。
请注意,它关闭了系统,所以我要关闭系统。
它关闭系统中的所有模块。
再次强调,有一点需要牢记在心,
因为在某些情况下我们需要知道
块是否打开和关闭。
我们是否需要手动打开一个块。
所以我们在这里进行替换。
更换完成后,
所有模块都会自动打开。
再次用这个替换,用新的,
关闭和打开都是自动发生的。
所以我不用担心这个。
最后,我完成了 K out N 替换,直到下一次失败为止。
比较简单。
如果我想看看我的系统表现如何
我将启动我的结果浏览器。
默认情况下,我不会看到组件级别的信息。
如果我想要组件级别的信息,我需要返回到热点
然后选择我是否想要一件工作服,
我将按组件选择停机时间。
现在,这个组织要记住的事情是,
这只是告诉我
与我的组件相关的系统的停机时间。
所以这告诉我 N 次中的 K 次使系统瘫痪。
对于其中的每一项,
这些对应于该子单元关闭系统的时间。
所以如果你仔细想想,这些都符合时代
当子单元是我的五个单元中最后一个倒塌时,
因为这是系统唯一会崩溃的时候
就是这五个亚基全部下降的时候。
现在,如果我想查看我的组件级别分布,
这只会告诉我它何时导致系统崩溃。
但是假设我对 Sub1 宕机的频率感兴趣,
Sub2 宕机的频率等等。
热点,我可以看看这个点估算
用于组件可用性。
如果我向下滚动,例如,对于 Sub1,
这给了我我的分布信息
对于组件本身。
Z 不仅包括子单元 1 使系统瘫痪的时间,
但当子单元 1 自行故障时。
深入研究所有子组件的单独分布的最简单方法。
让我们继续讨论其中的一些操作和事件
以及与这些相关的一些特定属性。
我们将从事件开始。
文档中没有提到
但 Inservice 仅适用于 Basic 块。
所以提醒一下,Inservice是根据区块年龄来计算的
而不是模拟时间的年龄。
举例来说,如果我想提供某些服务
使用 100 小时后,我会使用 Inservice。
否则,我可以只使用预定的事件。
预定的活动每周提供一次,
但 Inservice 仅适用于我的基本块。
所以告诉我是否想使用Inservice,
我将不得不构建这些基本块。
初始化、块失败和系统宕机
每个区块只能使用一次。
所以当你使用它们时你会看到,
它们会从您的事件调色板中消失,因此不会再出现。
所以你只能使用这些一次。
我们来谈谈行动吧。
我可以使用 13 个操作。
InstallUsed、ChangeDistribution 和 If 只能与 Basic 块一起使用。
最小维修只能与基本版和系列版一起使用。
这样我们就剩下了九个可以用于任何块的动作。
所以它们是打开和关闭块,打开和关闭系统,
更换新的、安装新的、删除块、检查故障、
和时间表。 所以这就是九个
任何块(基本块或复合块)都可以使用。
一个动作可以用于给定块的次数没有限制。
所以我有一个例子,我多次使用“关闭块”。
原因是
转弯后或打开模块时我想要做的事情可能会有所不同
取决于块何时打开。
稍后我们将再次看到一个例子。
动作只能连接到其他动作。
事实上,事件只能与动作相关联。
因此,我无法将事件或操作连接到块或另一个事件。
然而,我可以将多少个动作链接在一起。
一些特定的属性。
初始化只发生一次,而且是在最开始的时候
的模拟运行。
我们将举一个例子来说明这会有所不同,
我在初始化时关闭一个块,
但是当系统重新上线时,该块就会再次打开。
所以我必须确保手动关闭它。
所以初始化只发生在开始时。
每个区块都会发生系统宕机,
无论哪个块导致系统瘫痪。
所以我可以用它作为听众来看看......
例如,如果系统出现故障,
我可能想对该块进行维护,即使该块
正在运行,也许只是为了将其恢复
接近新的或将其恢复为新的。
因此,无论哪个块导致系统宕机,系统都会宕机。
然后说到动作,
打开系统打开每个可用块。
现在,每一个街区,我指的是所有尚未关闭的东西
由于故障或预定而停机。
这样我就可以安排一些事情发生
通过使用该计划的事件或通过使用计划的操作。
打开系统将打开我的所有模块。
必须手动打开块
安装新的、安装旧的或更改分发后。
这些是系统无法打开的几种情况,
该块不会自动打开。
这就是为什么我可能想使用,
例如,安装新的而不是替换为新的。
安装新功能让我可以在重新打开系统之前执行一些操作。
它让我有机会执行其他操作
或在打开系统之前执行其他操作。
如果手动关闭块,则打开块不会打开系统。
正如我们在输出中看到的,
正如您可能在输出中注意到的那样,无论系统是否开启,
您可能会出现“打开系统”事件。
如果系统已经打开,那么打开系统也没有什么坏处。
我说的是,如果有疑问,请添加一个打开系统
到您的事件链以确保系统处于开启状态。
顺便说一下,块先打开没有关系
或者先打开系统。
两者的工作方式相同。
好吧,让我们继续我们的第二个例子。
我们要做的是构建一个基本块
在备用安排中。
我们将拥有一台主设备、一台备用设备。
我们要做一个冷启动,
这意味着备用单元(备份单元)不会老化。
然而,启动设备需要 30 分钟。
我无法使用复合备用电源做一些事情。
控制后对备份进行八小时维护
被传回主单元。
我们将研究两种不同的切换情况。
我们实际上要研究一个万无一失的开关,我们要
看看我们的可靠性达到 90% 的开关。
对于我的所有块,我将假设指数(500)。
我假设修理或维护需要八个小时。
失败的块将被新的块替换。
与前面的示例一样,我们将查看基本块
在这种布置中,与具有相同设置的备用块串联,
显然,除了那 30 分钟的启动时间之外,
我做不到。
让我们来看看。
这是我们的基本安排。
我有我的备用设备、我的主设备、我的备用设备,以及其中每一个设备
我已将故障事件和替换为新事件关联起来。
这就是我可能开始的基本内容。
我不知道我之前在查看输出时是否指出过,
但当我添加一个事件、添加一个操作来给它一个唯一的名称时,它会很有帮助
因为这些是出现在我的输出中的名称。
好吧,让我们从备份单元开始。
当我的系统在零时间上线时,一切都会打开。
我想确保在零时间,备用单元被关闭。
我要做的方法是使用初始化。
你会注意到,当我使用初始化时,
它消失了。
接下来我想做的就是关闭该块。
现在,如果您以前使用过 RSS,
你会记得当我尝试添加一个动作时,
它将把这些动作叠加在一起。
有时这对他们来说并不是最好的位置。
当你有一项行动可以开始时你可以做什么,
我可以选择操作,单击并按住这个加号
然后拖掉加号。
现在我可以添加我的操作。
在这种情况下,我想关闭该块。
现在,我不希望与此关联的关闭块,用新的替换。
为了避免这种情况发生,我要做的就是删除箭头。
现在我可以连接到我想要的活动。
这样做的好处是现在我可以将该块移动到任何我想要的地方。
我对块的工作方式有更大的灵活性。
我要做的另一件事是我绝对想给这些贴上标签
所以我知道当我查看结果表时,我就会知道会发生什么。
这是关闭阻止...
我们将其称为启动时关闭备份。
我将为我的每一个事件、我的每一个行为赋予一个唯一的名称
所以我知道它们什么时候发生。
这会在一开始就关闭我的备份。
我要做的下一件事是当主机出现故障时,
我想要打开备用装置。
现在,不再选择备份设备并说“打开阻止”,
我将交互式地选择“打开块”。
我要删除这里的连接,以便我可以移动它。
我要把事情稍微移动一下。
我会把它移到这里。
再次,我想命名它,以便当我回到这个图时
几天后,我就知道这个动作与什么相关了。
我们将此称为“从主设备开启备份”。
文档中提到的另一件事是,
但我不知道有多强,但我可以连接,
在这种情况下,我将一个事件从一个块连接到一个操作
在另一个街区。
我绝对能做到。
现在,正如我之前提到的,这将打开块
因为该块已被手动关闭,
我也必须打开系统。
打开系统。
再说一遍,我可能想标记一下,
我会说,从备份打开系统等等。
现在我需要添加到图表中的唯一另一件事是
当我的主设备恢复在线时,我想关闭备份,
对我的备份进行维护。
现在我或许可以...
好吧,让我们首先关闭备份,关闭阻止。
删除那个。
我们就这样称呼吧
一定是选择了开启,我选择了关闭阻止。
让我们再试一次。
关闭阻止并标记它,关闭主备份。
这是我的主要上线的地方。
我已经关闭了备份。
我想对其进行维护。
我要做的就是用新的替换。
好的,我们将其称为预防性维护。
我想我说过预防性维护正在进行中
需要八个小时。
现在再一次,我必须记住
Replace with New 会自动启动该块。
我现在要做的就是关闭该块。
现在,更详细地考虑一下,
我可能可以直接从新回来的网上
进行维护。
因为一旦我开始对备份进行维护,备份就会停止运行。
然后当我完成维护工作后,
关闭该块。
这个块没有什么坏处,但是它是多余的。
所以让我们摆脱它吧。
这就是我的设置。
我总是喜欢跑去仔细检查事情是否正常
按照正确的顺序,我将生成我的输出。
在本例中,我只将其设置为进行一次模拟。
我可能需要带几个
模拟次数取决于与我的设备相关的可靠性。
这是主要故障,系统关闭,
备用块关闭,放入新的主块,
打开主程序的备份。
如果我们看一下捕食者栏,我会轮到主力的备份。
从备份中打开系统,打开按系统阻止。
再说一遍,我喜欢在构建它们后逐步完成它们,以确保
事情按正确的顺序发生。
开启系统。
新的主线已安装完毕。
我打开我的系统,
再说一遍,它已经打开了,但没关系,也不疼。
新主替换为新。
那是块,备份正在转动
获得PM等等。
应该关闭该备份。
再说一次,我喜欢用它们来仔细检查
使事情正常运转。
这是没有开关的设置。
添加开关相对简单。
我们会把它放在哪里,我们会把它放在哪里
在主要故障和备用启动之间
这就是 if 块的用途。
让我摆脱这种联系。
if 来自我的哪个块并不重要
我不想把它放在那里。
让我从...开始了。
我有一个备份,以防万一发生类似的事情。
开始了。
我的备份已打开。
这是我的主要缺点。
我们将摆脱它。
我可能想添加我的 if 块,这样我就可以将它浮动到任何地方。
我将选取其中任何一个,然后添加一个 if。
删除连接。
让我们连接一下。
现在,我设置 if 的方式,
if 的工作方式是评估 if 条件框中的内容。
如果它是真的,如果它的评估结果为 1,那么你就继续前进。
如果它的计算结果为零,你就停止。
我能说的是如果... 我不需要 if 那里,
我想说随机均匀度小于 0.9。
当这是真的时,链条将继续,否则,它将停在那里。
就是这样。
就像放入 if 语句一样简单。
再说一次,我可能也想给这个贴上标签。
所以如果切换成功或者类似的事情。
此时,唯一的缺点是如果切换失败会发生什么?
嗯,切换失败,必须等到主线恢复上线。
Main 重新上线,它尝试关闭我的备份。
尝试关闭已经关闭的东西并没有什么坏处。
但我可能不想做的事
如果不使用备份,我可能不想进行维护。
在后面的示例中,我们将了解如何解决这个问题,
如何查看系统并判断备份是否正在运行?
如果它不运行,是的,进行维护。
如果它正在运行,则不需要维护。
让我们继续看下一个例子。
在这种情况下,我有两台泵并行运行并进行预防性维护
每两周进行一次,耗时八小时。
总理们错开一周,以避免两个泵都停运
同时。
如果泵出现故障,只需四个小时即可进行最少的维修。
在本例中,模拟运行了一年的时间。
让我们从最基本的部分开始。
这是我的泵,其中包含泵故障和更换情况。
我如何设置在开始 PM 之前等待一周?
与上一个示例一样,我将从初始化开始。
我要说的是等待一周。
我怎么说等一周?
好吧,我要做的就是使用计划操作。
我要做我过去一直在做的事情。
我们将设置时间表,删除我的连接。
我有很多不同的时间表选择。
我只希望这种事发生一次。 我希望它从一开始就发生
所以它与我的初始化事件有关。
我们将称之为等待一周。
我只希望这种事发生一次。
我希望它需要168小时。
那是因为我在几个小时内就完成了模拟设置。
所做的就是开始等待一周
然后执行我连接到这里的任何操作。
我要连接什么操作?
好吧,我将再次使用时间表。
这将是泵 2 上的 PM。
我将把我的最大出现次数留空。
所以它会一直这样做直到模拟结束。
完成时间将为 168x2,即 336。
现在发生的事情是,第一周之后,每 336 小时,
我将能够执行另一项手术。
该操作有几种不同的方法来做到这一点。
我们假设现在是下午 [听不清 00:37:03]。
所以我们要说,替换为新的。
我可以在这里说,更换泵 B。
现在,您可能想到的一件事是
如果我去做预防性维护会发生什么
一切都错开,但无论出于何种原因,泵 A 停机了,
它可能失败了。
我不一定会拆掉我的 B 泵
用于预防性维护。
这样做并关闭系统。 我们要使用的是我们要去
使用称为模拟上下文的隐藏变量。
模拟环境是我查看系统的方式。
我们要做的就是放置模拟上下文,
我们会将其放在计划的预防性维护和实际的预防性维护之间。
我们开工吧。
让我们摆脱它,我们将用 if 来实现它。
让我连接一下,如果泵 A 正在工作,我们会这样称呼它,
现在的问题是,如何判断泵A是否工作?
好吧,在我的 if 条件下,我需要指定隐藏变量
这与泵 A 相关... 不管它是否活跃。
我这样做的方式是模拟上下文
大小写并不重要。
模拟环境和变量,
系统变量存储为数组的关联。
这称为泵 A 的状态。
现在我发现的是,
对话框的这个特定部分不太灵活。
如果我想要构建更复杂的东西,
然后我通常会在脚本窗口中执行此操作,然后复制并粘贴
进入这个窗口。
但这相对较小,我们只需继续输入即可。
我们会说这是活跃的。
这就是我要用的。
现在,我怎么知道这就是我必须使用的?
好吧,事实证明,这个 if 条件和一点点
稍后当我们谈论压力分担时,
这就像一个脚本。
我能做什么以及我经常做什么
被放入打印语句中,我如何知道我可以使用什么?
让我们在那里输入打印语句
我们会说打印模拟上下文,好吧。
我们唯一需要确定的是
是 if 语句,if 条件中的最后一个语句评估为 true。
只是为了告诉你会发生什么
当我这样做时,让我们继续运行它。
我将运行它只是为了给你一个想法
打印到日志的内容。
让我继续拿起我的日志,它就在我的另一本日志上结束了……
来吧,这是我的日志
现在我们开始。
这就是打印到日志中的内容。
这为我提供了所有可用变量的信息
在这个特定图表的模拟环境中。
如果我在那里放更多的方块、更多的动作、更多的事件
然后那些就会出现,有关这些的信息也会出现。
但这是一个很好的表达方式
我的系统中有什么以及我可以访问哪些变量。
这里要记住的重要一点是
我可以读取此内容,但无法写回该特定变量。
我没有这个选项来改变我的模拟中的事情,
但我可以使用这些信息。
回到我们的上一个例子,我本可以做什么
我可以在那里放一个 if 语句
并说如果我的备份处于活动状态,
那就关掉它,进行维护。
好的。
现在由于时间原因,我要继续前进
我想与大家分享的最后一点信息。
顺便说一句,我会有一本日记可供使用,
应该有可用的书面记录,
我将提供更多我没有时间介绍的示例。
您会看到更多操作
我们没有机会了解它们是如何实施的
也许还有其他一些事情
这可能不是很简单。
自定义压力共享有点不寻常,因为默认情况下,
压力在子单元之间平均分担。
它是通过改变这个块的老化方式来实现的
并且没有明确改变分布。
当我没有压力分担时,假设我有 n 个并行的子单元,
假设第一个在时间一失败,第二个在时间二失败,依此类推。
通过压力分担,我老化街区的方式
就是说,第一次故障发生在 t 次 n 次,
乘以工作单位数。
第二个使块老化 n 减 1
是我第一次失败和第二次失败之间的差距的两倍。
第三个n减去两倍的差值
第三次、第二次失败等等。
这就是块老化的方式。
这是传递给该自定义函数的信息。
当我尝试将其纳入我的压力分担中时,
好的,让我与您分享最后一个示例,了解如何设置。
让我找到我的例子。
好的,这里我有三种不同的压力分担。
这是我的基本压力分担,所以我已经将其设置为基本的。
这是我的习惯。
这就是我要说的结局。
您会知道它已嵌入此日志函数中。
这样做是为了使块的老化匹配
以及我可以用于自定义压力共享块的分布。
我所做的就是根据我的解释来思考事物
第一个单元会以某个乘数倍的时间老化,
第二个在某些乘数倍之间的差异
我的第一次和第二次失败,等等。我就是这么想的
关于所有这些事情。例如,假设我想设置,
好吧,在我去那里之前,让我简单地说一下,
与 if 块一样,我可以将 print 语句放在这里。
如果我要在这里输入打印语句,
你会注意到它在系统启动之前执行,
所以它将打印五个并且它将打印五个
因为在这种情况下,该街区有五个单位。
当第一个失败时要打印五个,
它将返回到函数 print 4,
等等,等等。
假设我想将其设置为自定义失败,其中块
年龄增长10倍,不是5倍,而是10倍,
第二个五岁,第三个三岁。
第二个年龄一岁,
最后一个人压力过大,衰老速度快了一倍。
我能做的就是,
再次,让我们把它放在这里。
让我添加一点空间
并把我的盒子弄大一点。
我可能会说,
再说一次,我想把那根日志放在那里,那根日志必须在那里,
登录,我会说类似选择之类的内容。
select 根据 n 做什么,它会返回,
让我们看看,当有一个单位时,我希望它返回一半,一个有两个单位,
假设 2.5 有 3 个单位,
5 个单位,4 个单位,最后 10 个。
这就是我创建自定义压力共享的方式。
我不限于此选择功能。
在这个特定的例子中,
我正在使用一个函数。
好吧,再说一遍,这里最重要的是
是这一切都嵌入到这个日志函数中,以便老化
块的大小和分布可以匹配。
好吧,不幸的是,这就是我今天有时间讨论的全部内容。
我希望我有更多的时间。 肯定有很多
我们可以谈论的其他事情。
这些将在我为您提供的材料中,
我很想听听您的反馈
以及您的问题和意见。
再次感谢您抽出时间。 看这个。
我希望这确实有益。 谢谢。