0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

不止可列表功能:Threaded介紹

工程師鄧生 ? 來源:哲想軟件 ? 作者:哲想軟件 ? 2022-09-16 09:49 ? 次閱讀

距離Mathematica及現(xiàn)在的Wolfram語言的初次發(fā)布已經(jīng)34年了。這些年來,我們一直在積極努力地繼續(xù)建設,增加越來越多的功能,并穩(wěn)步擴展計算范式的領(lǐng)域。

最近幾年,我們已經(jīng)建立起了一種節(jié)奏,大約每年可以交付兩次我們開發(fā)工作的成果。在2021年12月13日,我們發(fā)布了13.0版本。而現(xiàn)在,只在大約6個月之后,我們就發(fā)布了13.1版本。如往常一樣,盡管這個版本只是一個“.1”,但它依然有很多新的(以及升級的)功能。其中有一些功能,我們已經(jīng)研究了許多年,現(xiàn)在終于可以享用其成果了。

對我來說,看到每個新版本都能傳達出我們想要的內(nèi)容總是讓人激動的。在13.1版本中,我們有90個完整的新功能,同時有203個大量更新的現(xiàn)有功能。除了特定功能中出現(xiàn)的內(nèi)容以外,13.1版本還包括用戶界面和編譯器等方面的重要新功能。

現(xiàn)在的Wolfram語言包含了廣泛的功能。但是,它的巨大能量并不僅僅來自于它所包含的內(nèi)容,也來自于其包含的所有內(nèi)容是如何連貫地結(jié)合在一起的。近36年來,我一直將維持這種連貫性作為我自己的個人責任。這項工作既需要高度的注意力,也需要大量深層的腦力工作。但是在我日復一日使用著Wolfram語言時,我驕傲于所取得的成果。

過去四年中,我一直在分享“幕后工作”,展示我們是如何取得這一成果的——通過直播Wolfram語言設計評審會。這是前所未有的開放程度——同時與社區(qū)進行互動。在設計13.1版本時,我們進行了90場直播,持續(xù)時間超過96小時。在開放我們的流程時,我們不僅向公眾展示了為13.1版本所構(gòu)建的內(nèi)容,而且還說明了構(gòu)建它的原因以及是如何做出有關(guān)決策的。

But,OK, so what finally is in Version 13.1? Let’s talk about somehighlights….

那么,在13.1的最終版本中到底有什么新內(nèi)容?接下來我們講講一些重點……

不止可列表功能:Threaded介紹

從Mathematica和Wolfram語言的開始,我們就有了可列表功能的概念:例如,如果添加兩個列表,它們對應的元素將被添加:

53575c56-3556-11ed-ba43-dac502259ad0.png

這一機制非常方便,基本上做到了你想要它做的事。而且35年來,我們都沒有想過要擴展這個功能。但如果仔細看看寫出來的代碼,我們會發(fā)現(xiàn),有一些部分基本上實現(xiàn)了類似可列表的功能,但稍微更加通用一些。在13.1版本中,我們有新的符號結(jié)構(gòu):Threaded,可以讓您輕松、有效地使用可列表功能。

試想:

5380a660-3556-11ed-ba43-dac502259ad0.png

這個列表使用了普通的可列表功能,有效計算為:

53b6d7ee-3556-11ed-ba43-dac502259ad0.png

但是,如果你想“降低一個層級”并將{x,y}插入第一個列表的最底部怎么辦?這種情況下可以使用Threaded來執(zhí)行該操作:

53d28b9c-3556-11ed-ba43-dac502259ad0.png

Threaded本身只是一個符號包裝:

5406fbde-3556-11ed-ba43-dac502259ad0.png

但是,只要它出現(xiàn)在一個具有Listable屬性的函數(shù)里——比如Plus,即說明可列表的屬性應該應用在Threaded函數(shù)內(nèi)指定的內(nèi)容在最低層級“線程化”之后。

下面是另一個例子。先創(chuàng)建一個列表:

54260f56-3556-11ed-ba43-dac502259ad0.png

那么,我們?nèi)绾螌⒚恳粋€元素乘以{1,–1}?我們可以這樣做:

544a51b8-3556-11ed-ba43-dac502259ad0.png

但現(xiàn)在,我們有了Threaded函數(shù),所以可以僅表示為:

5470de00-3556-11ed-ba43-dac502259ad0.png

你可以將Threaded作為任何可列出函數(shù)的參數(shù),而不僅僅用于PlusTimes

5495c1b6-3556-11ed-ba43-dac502259ad0.png

你可以將Threaded和普通的可列表屬性一起使用:

54be3d62-3556-11ed-ba43-dac502259ad0.png

你也可以同時使用多個Threaded

54e48c06-3556-11ed-ba43-dac502259ad0.png

另外,Threaded得名于另一個函數(shù)Thread,這一函數(shù)明確地執(zhí)行“線程”功能,比如:

550c2504-3556-11ed-ba43-dac502259ad0.png

默認情況下,Threaded會一直插在列表的最低層級:

55377146-3556-11ed-ba43-dac502259ad0.png
5598c9dc-3556-11ed-ba43-dac502259ad0.png

下面是用如上所述的方法使用Threaded的“現(xiàn)實”案例。3D彩色圖像中的數(shù)據(jù)由RGB值三元組的rank-3數(shù)組組成:

55ba83b0-3556-11ed-ba43-dac502259ad0.png

這將每一個RGB三元組乘以{0,1,2}

55f24822-3556-11ed-ba43-dac502259ad0.png

大多數(shù)時候,你或許想使用普通的可列表屬性,在列表的最高層級進行運算;或者你只想使用Threaded的默認格式,在列表的最低層級進行運算。但Threaded有更加普遍的格式,使用這種格式,你可以明確想要在哪個層級運算。

下面是默認案例:

56231614-3556-11ed-ba43-dac502259ad0.png

下面是第一層級,就像普通的可列表屬性功能:

5670e8a8-3556-11ed-ba43-dac502259ad0.png

以下是插入第二層級:

5698d7fa-3556-11ed-ba43-dac502259ad0.png

Threaded提供了非常便捷的方法,可以進行所有種類的數(shù)組組合操作。如果目標對象本身的“插入”有多重層級,那么就會出現(xiàn)更加復雜的情況。這種情況下,默認的操作就是將插入元素的最低層級與被插入元素的最低層級對齊

56c27db2-3556-11ed-ba43-dac502259ad0.png

下面是“普通可列表屬性”的表現(xiàn):

56e48a42-3556-11ed-ba43-dac502259ad0.png

對于我們在此處查看的數(shù)組,默認行為等同于:

5718c7f8-3556-11ed-ba43-dac502259ad0.png

有時,把數(shù)組寫到外面可能更加清晰,比如以下格式:

5757ec80-3556-11ed-ba43-dac502259ad0.png

這表明,Threaded中的第一級數(shù)組,與數(shù)組外的第二級數(shù)對齊。通常來講,默認情況等同于–1→ –1,即表明在Threaded中,數(shù)組內(nèi)的最低層級應該與數(shù)組外的最低層級對齊。




審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Wolfram
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    7706
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1608

    瀏覽量

    48987

原文標題:Wolfram語言與Mathematica13.1版本上線(1)

文章出處:【微信號:哲想軟件,微信公眾號:哲想軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Labview下拉列表顯示問題

    問題描述: 數(shù)據(jù)采集后保存在文件夾內(nèi),文件夾內(nèi)的數(shù)據(jù)文件超過了8萬個。在回放數(shù)據(jù)時,用羅列文件夾函數(shù)功能,把文件夾內(nèi)的8萬多個 文件名一次性讀出來,放在下拉列表里。在主界面的下拉列表里能看到所有
    發(fā)表于 05-29 12:27

    中國儀表功能材料學會電子元器件關(guān)鍵材料會議圓滿結(jié)束,Aigtek綻放精彩瞬間!

    本界會議回顧2024第五屆中國儀表功能材料學會電子元器件關(guān)鍵材料與技術(shù)專業(yè)委員會,于5月12日在安徽蕪湖蘇寧環(huán)球大酒店圓滿結(jié)束。本次會議邀請了來自國內(nèi)各大高校和企業(yè)的百余位專家學者,多家本領(lǐng)
    的頭像 發(fā)表于 05-17 08:01 ?392次閱讀
    中國儀<b class='flag-5'>表功能</b>材料學會電子元器件關(guān)鍵材料會議圓滿結(jié)束,Aigtek綻放精彩瞬間!

    鴻蒙ArkUI開發(fā):常用布局【 創(chuàng)建列表(List)】

    列表容器是為了高效處理長列表的容器,能支持橫向、豎向滾動,數(shù)據(jù)分組,分組頭懸浮等功能
    的頭像 發(fā)表于 05-15 15:30 ?643次閱讀
    鴻蒙ArkUI開發(fā):常用布局【 創(chuàng)建<b class='flag-5'>列表</b>(List)】

    訪問控制列表什么?ACL的功能特點

    訪問控制列表(Access Control List,簡稱ACL)是一種網(wǎng)絡安全機制,用于定義和實施對網(wǎng)絡資源或系統(tǒng)對象的訪問權(quán)限。ACL可以精確地控制哪些主體(如用戶、設備、服務等)能夠?qū)μ囟腕w
    的頭像 發(fā)表于 04-03 13:57 ?645次閱讀

    Windows 10 22H2升級至19045.4123,新功能修復問題

    改進版Windows分享功能一鍵將URL快速分享給WhatsApp、Gmail、Facebook及LinkedIn等多款熱門應用;X(推特)也即將加入支持列表。
    的頭像 發(fā)表于 03-01 11:45 ?1196次閱讀

    帶LORA通訊的智能電表功能介紹

    通訊智能電表
    jf_15090526
    發(fā)布于 :2024年01月29日 09:05:32

    關(guān)于LABVIEW的報表功能導致程序中止出現(xiàn)卡頓

    我在labview的while循環(huán)里面放入EXCEL報表功能(向EXCEL寫入數(shù)據(jù)),每執(zhí)行一次循環(huán)就會往EXCEL寫入數(shù)據(jù); 在程序執(zhí)行報表的時候,如果需要停止程序運行,要反復多次點擊前面板左上角的中止按鈕(紅色中止程序的按鈕)
    發(fā)表于 01-16 21:02

    labview列表框控件怎么用

    選擇。 列表框控件可以用于顯示多個數(shù)據(jù)項,并且用戶可以通過鼠標選擇其中的一項或多項。在LabVIEW中,列表框控件可以分為單選和多選兩種模式。在程序開發(fā)中,我們可以通過使用列表框控件來實現(xiàn)以下
    的頭像 發(fā)表于 01-04 17:42 ?2438次閱讀

    labview多列列表框?qū)懭霐?shù)據(jù)

    LabVIEW是一種圖形化編程環(huán)境,廣泛應用于工業(yè)自動化領(lǐng)域。多列列表框是LabVIEW中常用的界面控件,可用于顯示和編輯多個列的數(shù)據(jù)。本文將詳細介紹如何通過LabVIEW實現(xiàn)多列列表框數(shù)據(jù)的寫入
    的頭像 發(fā)表于 12-26 13:49 ?4693次閱讀

    替代品牌型號介紹

    電子發(fā)燒友網(wǎng)站提供《替代品牌型號介紹.xlsx》資料免費下載
    發(fā)表于 12-14 10:49 ?7次下載

    python如何修改列表中的每一個值數(shù)據(jù)

    在Python中,我們可以使用不同的方法來修改列表中的每一個值數(shù)據(jù)。 方法一:使用for循環(huán)遍歷列表并修改元素值 首先,我們可以使用for循環(huán)遍歷列表中的每一個元素,并使用索引來修改對應位置的值
    的頭像 發(fā)表于 11-29 17:03 ?4562次閱讀

    python如何遍歷列表并提取

    遍歷列表是Python中非常常見的操作之一,可以使用for循環(huán)或者while循環(huán)來實現(xiàn)。下面我將詳細介紹如何使用for循環(huán)遍歷列表并提取元素。 首先,讓我們簡單了解一下Python中的列表
    的頭像 發(fā)表于 11-23 15:55 ?1200次閱讀

    python怎樣讓列表里的數(shù)相加

    Python是一種功能強大的編程語言,可以用于處理各種各樣的數(shù)學運算和數(shù)據(jù)操作。在Python中,我們可以使用簡單的代碼將列表中的數(shù)字相加。 首先,我們需要創(chuàng)建一個包含數(shù)字的列表。在Python中
    的頭像 發(fā)表于 11-22 09:53 ?1736次閱讀

    python列表和數(shù)組的區(qū)別

    Python是一種功能強大的編程語言,為開發(fā)者提供了許多數(shù)據(jù)結(jié)構(gòu)來處理和操作數(shù)據(jù)。其中,列表和數(shù)組是常用的數(shù)據(jù)結(jié)構(gòu),用于存儲和組織一系列元素。在本文中,我們將詳細比較Python中的列表和數(shù)組,從
    的頭像 發(fā)表于 11-21 15:13 ?2135次閱讀

    數(shù)字萬用表功能介紹及使用方法

    測量步驟 ? 將電容兩端短接,對電容進行放電,確 保數(shù)字萬用表的安全。? 將功能旋轉(zhuǎn)開關(guān)打至電容“F”測量檔, 并選擇合適的量程。 ? 將電容插入萬用表CX插孔。? 讀出LCD顯示屏上數(shù)字。
    發(fā)表于 11-13 10:43 ?3417次閱讀
    數(shù)字萬用<b class='flag-5'>表功能</b><b class='flag-5'>介紹</b>及使用方法