




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Mathematica應用技術成績構成:大作業(yè)100分*80%+平時成績20分大作業(yè)內容及要求:10個編程設計題,每題10分(課內4小時,第16周-周四-17:00–21:00)平時成績要求:平時成績:考勤10分(按缺勤扣分制-2分/次)試驗報告成績:10分,5個基礎性實驗報告,2分/個。考核方式本課程面向軟件工程和物聯(lián)網(wǎng)工程的大學二年級和三年級學生。Wolfram語言是面向科學計算和程序設計的高級語言,在全球范圍的頂級院校最受歡迎新的科研與教學語言之一。對于大學二年級和三年級的學生,在其學習了數(shù)學理論和C語言以及眾多科學工具之后,面臨著算法知識的快速實現(xiàn)和原型技術等問題。為了解決這一問題,并進一步提高學生們的科學思維和高級編程技術,將這種算法實現(xiàn)用于大學生們的技術創(chuàng)新,開設了Mathematica應用技術課程。該課程內容涉及大學期間的數(shù)學理論課的算法實現(xiàn)和針對具體問題的程序設計方法,在培養(yǎng)大學生的創(chuàng)新思維方面具有特別重要的意義。課程目標與學習必要性安裝Mathematica
14.0軟件(英文版)重點:列表及其應用、算法模塊設計方法等難點:編譯技術、WolframWorkbench聯(lián)調方法等課程預備工作、重點與難點第1章入門第2章MMA列表第3章MMA科技繪圖第4章MMA微積分第5章MMA矩陣計算第6章MMA概率計算第7章MMA程序設計+補充6個專題的講義課程內容張勇,等.Mathematica程序設計導論.清華大學出版社,2022.S.Wolfram.Wolfram語言入門.科學出版社,2017.C.Hastings,etal.WolframMathematica實用編程指南.科學出版社,2018.S.Wolfram.TheMathematicaBook(5thed).WolframMedia,2003.E.Don.Mathematica(2nded).2000.教材與參考書Mathematica應用技術第一章Mathematica入門1.1Mathematica工作界面1.2Mathematica數(shù)值計算1.3Mathematica符號計算Mathematica軟件與MATLAB和Maple并稱為現(xiàn)今世界的三大著名數(shù)學軟件,并且Wolfram技術遠遠領先于后二者。MATLAB軟件的編程語言與C語言相似度高,MATLAB應用門檻低,是MATLAB廣泛應用于工程界的原因之一;不同于MATLAB,Mathematica軟件需要用戶深入學習一段時間,才能掌握和熟練應用Mathematica軟件與Wolfram語言。1.4Mathematica字符串1.1Mathematica工作界面從官網(wǎng)上下載Mathematica軟件,并獲取軟件使用授權。截止2020年9月Mathematica軟件的最新版本號為12.1。Mathematica軟件支持在線安裝和下載安裝包離線安裝。1.1Mathematica工作界面“RECENTFILES”顯示最近打開的筆記本,右下角的“Showatstartup”默認為選中態(tài),表示每次啟動Mathematica均顯示Mathematica啟動界面。在圖1-1中,用鼠標左鍵單擊“NewDocument”,進入圖1-2所示界面。1.1Mathematica工作界面在圖1-2中,選中菜單“Edit|Preference…”(表示菜單“Edit”下的子菜單項“Preference…”),將彈出如圖1-3所示的對話框。1.1Mathematica工作界面在圖1-3中,“LanguageSettings”(語言設置)中,選擇“English”,表示使用英文作為工作環(huán)境和界面語言(使用英文的主要原因在于有些Wolfram指令僅支持英文環(huán)境)。此時,選中“Showcodecaptions”復選框,并在“Codecaptionlanguage”中選擇“Chinese,Simplified–簡體中文”,表示在筆記本(Notebook)中將使用中文顯示命令的注釋。1.1Mathematica工作界面在圖1-3中,“LanguageSettings”(語言設置)中,選擇“English”,表示使用英文作為工作環(huán)境和界面語言(使用英文的主要原因在于有些Wolfram指令僅支持英文環(huán)境)。此時,選中“Showcodecaptions”復選框,并在“Codecaptionlanguage”中選擇“Chinese,Simplified–簡體中文”,表示在筆記本(Notebook)中將使用中文顯示命令的注釋。1.1Mathematica工作界面在圖1-3中,“LanguageSettings”(語言設置)中,選擇“English”,表示使用英文作為工作環(huán)境和界面語言(使用英文的主要原因在于有些Wolfram指令僅支持英文環(huán)境)。此時,選中“Showcodecaptions”復選框,并在“Codecaptionlanguage”中選擇“Chinese,Simplified–簡體中文”,表示在筆記本(Notebook)中將使用中文顯示命令的注釋。
Mathematica可以打開多個Notebook,在Notebook中使用的變量均為全局變量。也就是說,在任一個Notebook中定義的變量,可以直接被其他所有處于打開狀態(tài)的Notebook使用。這是Mathematica初學者在計算過程中出錯的主要原因。為了避免新定義的符號與已有的全局變量同名而導致計算出錯,可在新的計算開始前,調用Clear或Remove函數(shù)清除原來的全局變量。例如,清除全局變量a,可以調用“Clear[a]”清除全局變量a的值,或調用“Remove[a]”清除a的值和定義。習慣上,使用以下語句清除全部全局變量的值:Clear["`*"]或調用以下語句清除全部全局變量的定義和值:Remove["`*"]1.1Mathematica工作界面
Clear和Remove語句的典型用法實例如圖1-4所示1.1Mathematica工作界面在圖1-5中,展示了Notebook的其他輸入形式,例如,Notebook中可以輸入公式,如“In[12]”所示。可以借助于菜單“Palettes”中的子菜單項“BasicMathAssistant”(基礎數(shù)學助手)或“ClassroomAssistant”(課堂助手)對應的輸入助手實現(xiàn),也可以使用鍵盤輸入。借助于“基礎數(shù)學助手”的輸入方式類似于普通計算器輸入,1.1Mathematica工作界面建議初學者使用“基礎數(shù)學助手”幫助實現(xiàn)各種符號和公式的輸入,在圖1-5中,鼠標單擊菜單“Palettes|BasicMathAssistant”彈出基礎數(shù)學助手對話框,如圖1-6所示,基礎數(shù)學助手包括基本符號和高級符號以及常用的計算表達式(含常用微積分運算等),此外,非常有價值的是當鼠標在基礎數(shù)學助手的某個符號上停留時,將彈出該符號的快捷鍵提示。1.2Mathematica數(shù)值計算在Notebook中,變量不用定義,直接使用,變量名可以為字母開頭的字符串(可以命名為希臘字母,例如,;但不能以數(shù)字開頭)。由于下劃線在Mathematica中具有特別的含義,所以,建議一般的變量名中不使用下劃數(shù)。此外,由于Mathematica的內置函數(shù)均以大寫英文字母開頭,為了避免與內置函數(shù)名混淆,因此,建議自定義變量名和自定義函數(shù)名均使用小字英文字母開頭的字符串。特別需要注意的是,在任一個Notebook中定義的變量,均為全局變量,可以直接應用于其他的Notebook中,即在所有打開的Notebook中均可調用。因此,在使用Notebook時,應養(yǎng)成兩個好的習慣:其一,在不需定義變量時,盡可能不定義變量,在輸入提示符“In[n]:=”中直接輸入表達式,在其相應的輸出“Out[n]=”中查看計算結果,這里的正整數(shù)n表示Mathematica內核計算表達式的順序,從1開始計數(shù),每計算一次,n自增1。在不定義變量時,引用計算結果,可使用“Out[n]”或“%n”引用第n次計算的結果“Out[n]”;其二,在輸入提示符“In[n]:=”中輸入了變量,即輸入形式為“變量=表達式”的情況,頻繁使用這種輸入情況將產生大量的全局變量,此時,在每次開展新的計算前,應調用“Clear["`*"]”清除已有全部變量的值。(1)加法示例下面基于表1-2中的基本算術函數(shù),討論各個算術操作。在Notebook中輸入:x=y=2;z=3;u=1/2;v=1/5;Mathematica支持連續(xù)賦值操作(也支持連續(xù)不等式,例如0<=a<=1)。上述代碼中,共四條語句,依次將x和y賦值為2,將z賦值為3,將u賦值為1/2,將v賦值為1/5。每條語句后面均有分號“;”,表示該語句執(zhí)行后的結果不顯示。由于這四條語句均以分號結尾,故該四條語句均沒有對應的“Out[n]”輸出部分。現(xiàn)在,對這些變量在Notebook中進行一些典型的算術運算:在Notebook中輸入:“x+y+z”,或輸入:“Plus[x,y,z]”,均表示計算x、y和z的和,得到結果7。Plus函數(shù)支持多個參數(shù)輸入,每個參數(shù)必須為數(shù)值形式(不支持列表形式),Plus函數(shù)返回這些數(shù)值的代數(shù)和。(2)減法示例與Plus不同的是,Subtract只能有2個參數(shù),依次為被減數(shù)和減數(shù)。在Notebook中輸入:“x-z”,或輸入“Subtract[x,z]”,均表示計算x減去z的差值。可以輸入:“x-z-u-v”,表面上看“-”支持多個操作數(shù),實際上,Mathematica內部計算“x-z-u-v”的方法為“Plus[Times[-1,u],Times[-1,v],x,Times[-1,z]]”(通過“Clear["`*"];FullForm[x-z-u-v]”函數(shù)查看),即使用加法運算和乘法運算實現(xiàn)該表達式,最后,得到結果為-17/10。(3)乘法示例在Notebook中輸入:“xzuv”(每兩個變量的中間有一個或多個空格,此時的這些空格表示相乘關系),或輸入:“Times[x,z,u,v]”,表示計算x、z、u和v的乘積,結果為3/5。由于Mathematica中,一個或連續(xù)的多個空格表示相乘關系。當輸入表達式2x+5y時,可以直接輸入“2x+5y”,由于Mathematica中變量名不能以數(shù)字開頭,因此,輸入的“2x+5y”被自動識別為“2x+5y”;但是,如果輸入“x乘以y”,不能輸入“xy”,這時的“xy”將被識別為一個變量名,而需要輸入“xy”(中間有一個或多個連續(xù)的空格),或輸入“x*y”,表示x乘以y。(4)除法示例Divide只能有2個參數(shù),即被除數(shù)和除數(shù)。在Notebook中輸入:Divide[y,u]或輸入:y/u,均表示y除以u,結果為4。“/”可以實現(xiàn)連除,例如:y/u/z,其在Mathematica中的實現(xiàn)方式為Times[Power[u,-1],y,Power[z,-1]](使用函數(shù)“Clear["`*"];FullForm[y/u/z]”查看),得到商為4/3。(5)乘方與開方示例借助于Power函數(shù)或“^”可以實現(xiàn)乘方和開方運算,如圖1-7所示。(5)乘方與開方示例
(6)開平方示例
(7)求相反數(shù)示例
1.2.2關系與邏輯表達式在Mathematica中,關系表達式和邏輯表達式的返回結果為邏輯值,邏輯值只有兩種:邏輯真為True,邏輯假為False。關系運算符主要有大于(>)、大于等于(>=)、小于(<)、小于等于(<=)、等于(==)和不等于(!=)等,這些關系連接符可以連用。Mathematica內置了這些關系運算符的函數(shù),例如,Greater、GreaterEqual、Less、LessEqual、Equal和Unequal等,依次表示大于、大于等于、小于、小于等于、等于和不等于等關系。表1-3關系表達式及其典型用法(設x=7、y=5、z=3)1.2Mathematica數(shù)值計算序號關系表達式典型示例含義與結果1x>y7>3True2x>=y7>=3True3x<y7<5False4x<=y7<=5False5x==y7==5False6x!=y7!=5False7x==y==z7==5==3False(x、y與z都相等時為真)8x!=y!=x7!=5!=3True(x、y與z都不等時為真)9x>y>z7>5>3True10x<y<z7<5<3False11y<x>z5<7>3True1.2.3數(shù)值函數(shù)1.2Mathematica數(shù)值計算本節(jié)將介紹Mathematica中常用的與數(shù)值處理相關的函數(shù),統(tǒng)稱為數(shù)值函數(shù),包括浮點數(shù)的取整、實數(shù)的整數(shù)部分和小數(shù)部分分離、復數(shù)的實部與虛部分離、復數(shù)的各部分分解和數(shù)制轉換等。在表1-5中列舉了最常用的一些數(shù)值函數(shù),并給出了它們的典型用法實例。表1-5常用數(shù)值函數(shù)及其典型用法1.2.3數(shù)值函數(shù)表1-5常用數(shù)值函數(shù)及其典型用法1.2.3數(shù)值函數(shù)表1-5常用數(shù)值函數(shù)及其典型用法1.2.3數(shù)值函數(shù)表1-5常用數(shù)值函數(shù)及其典型用法表1-5中的數(shù)制轉換函數(shù)特別有用,例如,將一個整數(shù)a轉化為8位二進制數(shù),可以用“IntegerDigits[a,2,8]”,這在數(shù)字圖像處理中尤為常用。1.2.4常用數(shù)學函數(shù)1.2Mathematica數(shù)值計算Mathematica中集成了近5000個常用函數(shù),這些函數(shù)被應用于不同的科學領域中。本節(jié)將其中常用的一些初等數(shù)學函數(shù)及其用法列于表1-6中,這些函數(shù)包括取模(計算余數(shù))函數(shù)、計算商函數(shù)、平方根函數(shù)、指數(shù)函數(shù)、對數(shù)函數(shù)、階乘函數(shù)、因數(shù)分解函數(shù)、素數(shù)函數(shù)、三角函數(shù)、Fibonacci數(shù)函數(shù)和數(shù)的性質判定函數(shù)等。表1-6常用數(shù)學函數(shù)及其用法1.2.4常用數(shù)學函數(shù)表1-6常用數(shù)學函數(shù)及其用法1.2.4常用數(shù)學函數(shù)表1-6常用數(shù)學函數(shù)及其用法1.2.4常用數(shù)學函數(shù)表1-6常用數(shù)學函數(shù)及其用法Mathematica數(shù)學計算功能異常強大,現(xiàn)有的各個數(shù)學分支中的運算,均可以Mathematica中找到相應的計算函數(shù),有些數(shù)學函數(shù)已內置于安裝包中,隨Mathematica安裝程序自動裝入個人計算機中,可以直接在Notebook中調用;而有些數(shù)學函數(shù)以“軟件包”的形式保存在Wolfram線上資源庫中,使用時需要在線動態(tài)裝入,例如,函數(shù)KSubsets用于求得某個集合中特定長度的子集合,該函數(shù)位于包“Combinatorica”中,在使用KSubsets前,需要先執(zhí)行“<<Combinatorica`”或者“Needs["Combinatorica`"]”將組合函數(shù)軟件包下載到本地,并裝入當前工作環(huán)境中,然后,執(zhí)行如下輸入:1.2.4常用數(shù)學函數(shù)表1-6常用數(shù)學函數(shù)及其用法s={1,2,3,4,5};KSubsets[s,3]將得到輸出結果“{{1,2,3},{1,2,4},{1,2,5},{1,3,4},{1,3,5},{1,4,5},{2,3,4},{2,3,5},{2,4,5},{3,4,5}}”,即返回了集合s的所有長度為3的子集。1.2.5解方程1.2Mathematica數(shù)值計算Mathematica是解方程的利器,不但可以求解各類代數(shù)方程(整式、分式或根式方程),還可以求解各種超越方程(含對數(shù)函數(shù)、指數(shù)函數(shù)和三解函數(shù)的方程)。在Notebook中,方程用含有等號“==”的表達式表示,常用的解方程的函數(shù)有Solve、Reduce和FindRoot等,其中,Reduce函數(shù)還可以求解各類不等式(由關系運算符連接的表達式),下面詳細介紹各個函數(shù)的應用方法。Solve函數(shù)Reduce函數(shù)FindRoot函數(shù)一:Solve函數(shù)Solve函數(shù)的語法有以下兩種:Solve[表達式,變量或變量列表]Solve[表達式,變量或變量列表,定義域]這里的“表達式”為方程,“變量或變量列表”指定方程中的未知數(shù),沒有在“變量列表”中的符號視為方程的常量或參量,“定義域”可設為Reals、Integers或Complexes,依次表示在實數(shù)域、整數(shù)域或復數(shù)域上求解。
二:Reduce函數(shù)類似于Solve函數(shù),Reduce函數(shù)也有兩種形式:Reduce[表達式,變量或變量列表]Reduce[表達式,變量或變量列表,定義域]這里的“表達式”可以為等式(即方程),也可以為不等式,“變量或變量列表”為求解的未知數(shù),“定義域”的含義與在Solve函數(shù)中的含義相同,用于限定未知數(shù)的取值范圍。三:FindRoot函數(shù)FindRoot函數(shù)使用數(shù)值方法求解方程的近似解,典型應用語法為:FindRoot[表達式,{x,x0}]表示從x0開始迭代,直到表達式的值為0,返回表達式等于0的一個數(shù)值解FindRoot[等式,{x,x0}]表示從x0開始迭代,直到等式(或方程)成立,返回該等式的一個數(shù)值解借助于FindRoot函數(shù)求解方程的根時,需要先估計一個根的近似值x0。例如,借助FindRoot求解方程x2-5=ex-3x2。一般地,先做圖,然后,根據(jù)圖形估計“交點”的橫坐標,最后,用這些橫坐標依次作為x0的值調用FindRoot求解,如圖1-11所示。在圖1-11中,“In[70]”調用Plot函數(shù)繪制了函數(shù)y=x2-5和函數(shù)y=ex-3x2的圖像(Plot函數(shù)的詳細用法請參考第3.1.1節(jié)),由于兩個圖像有三個交點,故方程x2-5=ex-3x2有三個解;然后,根據(jù)圖像估計三個“交點”的位置,這里的估計值分別為-1.2、1.8和4,在“In[73]”、“In[74]”和“In[75]”中使用FindRoot函數(shù)進行求解,得到三個解的近似值,如“Out[73]”、“Out[74]”和“Out[75]”所示。事實上,對于次數(shù)高于5次的多項式和絕大多數(shù)的工程問題,都需要借助于FindRoot函數(shù)進行近似求解。1.3Mathematica符號計算1.3.1多項式運算符號計算是Mathematica的特色功能,表達式中的符號和常量的運算規(guī)律類似,符號還可以作為各種函數(shù)的參數(shù)。這里重點介紹含有符號的代數(shù)式和三角函數(shù)式的常用處理函數(shù),其中,代數(shù)式分為有理式和無理式,有理式包括整式和分式,整式又分為單項式和多項式。下面首先介紹含有符號的多項式計算,然后介紹含有符號的代數(shù)式運算和三角函數(shù)式變換。多項式是數(shù)學理論研究最完備的分支之一,多項式的常見處理包括多項式展開、因式分解、合并同類項、取多項式系數(shù)、最大公因式和最小公倍式等。下面依次介紹Mathematica實現(xiàn)這些多項式處理的函數(shù)及其用法。(1)多項式展開多項式展開是指將多項式展開為單項式的和的形式,這些單項式中最高的次數(shù)為該多項式的次數(shù),單項式的個數(shù)為多項式的項數(shù)。多項式展開借助于函數(shù)Expand實現(xiàn),其常用語法為Expand[表達式](2)因式分解化簡多項式最常用的操作為因式分解,一般情況下,高于5次的多項式使用手工因式分解是很困難的。但是,Mathematica可以對任意高次數(shù)的多項式進行因式分解(3)合并同類項多項式化簡的基本方法是合并同類項,借助于函數(shù)Collect實現(xiàn),其典型應用的語法為Collect[多項式,{x,y,…}],即按x、y等,將其相同冪的項(即同類項)的系數(shù)合并(4)多項式系數(shù)
可以讀取多項式中任一單項式的系數(shù)。在Mathematica中,借助于多項式系數(shù)函數(shù)Coefficient[多項式,變量的冪]可以給出相應單項式的系數(shù),而函數(shù)CoefficientList[多項式,變量]可以給出多項式的系數(shù)列表,從0次冪開始,直到最高次冪,中間如果某些次冪缺失,則其系數(shù)填充為0。(5)最大公因式和最小公倍式
計算幾個數(shù)值的最大公約數(shù)和最小公倍數(shù)的函數(shù)為GCD和LCM,而計算幾個多項式的最大公因式和最小公倍式的函數(shù)為PolynomialGCD和PolynomialLCM,這兩個函數(shù)的參數(shù)相同,為[多項式1,多項式2,…]或者[多項式1,多項式2,…,Modulus->p],后者為基于模素數(shù)p的計算。1.3Mathematica符號計算1.3.2代數(shù)式運算Together[表達式]Cancel[表達式]Apart[表達式]或Apart[表達式,變量]含有符號的多項式的運算滿足常規(guī)多項式化簡運算規(guī)律,主要是合并同類項和因式分解。本節(jié)的代數(shù)式運算偏重于介紹分式運算,將重點介紹分式的通分、約分和部分分式展開,對應的函數(shù)依次為Together、Cancel和Apart。這三個函數(shù)的語法如下:在“Apart[表達式,變量]”中,除“變量”之外的符號量視為常量。通分、約分和部分分式展開的典型應用實例如圖1-18所示。1.3.2代數(shù)式運算在圖1-18中,“In[132]”輸入分式p1;“In[134]”輸入分式p2;“In[138]”調用函數(shù)Together將分式p1和p2的和進行通分,結果保存在p3中,如“Out[138]”所示;“In[139]”調用函數(shù)Cancel對分式p2進行約分,結果如“Out[139]”所示。函數(shù)Apart是函數(shù)Together的逆運算,在“In[140]”中調用Apart函數(shù)將多項式p3分解為部分分式和的形式。部分分式分解在基于分式的積分運算中廣泛使用。1.3Mathematica符號計算1.3.3三角函數(shù)式變換三角函數(shù)是科學研究中遇到的最重要的函數(shù)形式,本身是波的數(shù)學承載函數(shù)。工程上廣泛應用的傅里葉級數(shù)就是將一個函數(shù)展開為三角函數(shù)的和的形式。一般地,三角函數(shù)包括正弦函數(shù)、余弦函數(shù)、正切函數(shù)、余切函數(shù)、正割函數(shù)和余割函數(shù)等。本節(jié)將重點介紹三角函數(shù)化簡和變換相關的常用函數(shù),包括含三角函數(shù)的表達式的展開函數(shù)TrigExpand、因式分解函數(shù)TrigFactor、化簡函數(shù)TrigReduce、三角函數(shù)轉化為指數(shù)函數(shù)TrigToExp和指數(shù)函數(shù)轉化為三解函數(shù)ExpToTrig等。這五個函數(shù)均只有一個參數(shù),即含三角函數(shù)的表達式。其中,化簡函數(shù)TrigReduce可用于證明三角恒等式。這些函數(shù)的典型用法實例如圖1-19所示。1.3.3三角函數(shù)式變換1.4Mathematica字符串Mathematica軟件具有強大的字符串處理功能,集成了眾多的字符串處理函數(shù),在表1-7中列舉了最常用的字符串函數(shù)及其用法。注意,在Mathematica中,字符串中的字符從左向右其索引號從1按步進1增加;從右向左其索引號從-1按步進-1減小。現(xiàn)在,在Notebook中輸入“str1="Student"”和“str2="textbook"”,并執(zhí)行得到兩個字符串str1和str2,這兩個字符串將被用于表1-7中。表1-7字符串函數(shù)及其典型用法1.4Mathematica字符串表1-7字符串函數(shù)及其典型用法1.4Mathematica字符串表1-7字符串函數(shù)及其典型用法本章內容為Mathematica軟件應用入門奠定基礎,首先詳細介紹了Mathematica軟件的工作界面和常用菜單,然后,討論了Mathematica軟件的輸入、輸出和計算等基本操作,接著,分析了Mathematica數(shù)值計算相關的函數(shù)及其典型用法,涉及到基本算術運算、關系表達式、邏輯運算、常用數(shù)學函數(shù)和代數(shù)方程等。在此基礎上,討論了Mathematica強大的符號計算功能,特別是多項式運算、分式運算和三角函數(shù)式變換等。最后,深入介紹了Mathematica的常用字符串函數(shù)及其應用方法。01本章小結第二章Mathematica列表2.1常用列表構造方法2.2列表元素操作2.3向量與矩陣表示列表是Wolfram語言最基本的數(shù)據(jù)結構,是指借助于花括號“{”和“}”包括的一列元素,元素可為常量、變量和符號。列表可以多級嵌套,嵌套列表的最外層稱為第一層列表,依次向內可得到第二層、第三層、…列表。可以使用“深度”表示列表的層數(shù),列表的表頭(即“List”)的深度定義為1,因此,第一層列表的深度為2,第二層列表的深度為3,依次類推。計算列表深度的函數(shù)為Depth,而函數(shù)Level可以返回相同深度的列表元素。2.1常用列表構造方法在圖2-2中,“In[2]”輸入了包含5個元素的列表,并賦給變量x;在“In[3]”中輸入x,可以查看變量x的值在Notebook中,可直接輸入列表,列表元素被“{”和“}”所包圍,列表元素間用英文逗號“,”分隔,如圖2-2所示2.1常用列表構造方法在圖2-3中的myproduct2019.xlsx中,保存了某種產品2019年中每月的產量。然后,在Notebook中使用Import函數(shù)將Excel表格中的數(shù)據(jù)導入Mathematica中,如圖2-4所示。請注意:文件名路徑使用“\\”(與C語言路徑名規(guī)則相同)。這里,文件myproduct2019.xlsx在硬盤上的完整保存路徑(含文件名)為“E:\ZYMaths\Book20\myproduct2019.xlsx”對于大數(shù)據(jù)量而言,一般使用數(shù)據(jù)導入的方式。Mathematica支持從多種類型的數(shù)據(jù)文件或網(wǎng)站直接導入數(shù)據(jù),這里介紹最常用的數(shù)據(jù)導入方法,即從Excel表格中導入數(shù)據(jù)。這里,借助于Excel2016生成一個電子表格(數(shù)據(jù)表格),將表格保存為myproduct2019.xlsx,如圖2-3所示結合圖2-3和圖2-4可知,在Notebook中將讀入的Excel表格數(shù)據(jù)以嵌套列表的形式保存在變量y中,這里的y是一個三層嵌套的列表,最內層的列表元素對應著圖2-3中Excel表格的行數(shù)據(jù);第二層的列表對應著Excel表格中的表單(即Sheet),圖2-3中只有一個表單Sheet1;第一層(即最外層)列表對應著整個表格。現(xiàn)在,在圖2-3的基礎上,添加一個新的表單(Sheet2),如圖2-5所示。2.1常用列表構造方法2.1常用列表構造方法此時,在Notebook中再次導入myproduct2019.xlsx,如圖2-6中“In[7]”所示,其結果如“Out[7]”所示。此時,第一層(最外層)列表中包括2個子列表,分別對應著圖2-5中的兩個表單Sheet1和Sheet2,而第二層兩個子列表中的第三層列表,分別對應著兩個表單中的數(shù)據(jù)。2.1常用列表構造方法此外,Mathematica函數(shù)的計算結果大都以列表的形式存儲,其中有一些函數(shù)可以生成有規(guī)律的列表,例如最常用的Table函數(shù)。Table函數(shù)可以生成常數(shù)向量和常數(shù)矩陣,其典型實例如圖2-7所示。在Notebook中使用函數(shù)Export可將計算結果保存為Excel表格,例如,在圖2-6所示Notebook中添加如下輸入語句:Export["E:\\ZYMaths\\Book20\\myproduct2019new.xlsx",y]將在目錄E:\ZYMaths\Book20\下生成表格文件myproduct2019new.xlsx,該文件內容為變量y的內容,即圖2-5中顯示的內容。2.1常用列表構造方法在圖2-7中,對于Table函數(shù),其第一個參數(shù)指定常數(shù),第二個參數(shù)開始的全部參數(shù)指定維數(shù)。其中,MatrixForm函數(shù)使數(shù)據(jù)以矩陣的形式表示,并在矩陣兩邊添加大括號。這里,“In[20]”得到一個長度為5的元素均為0的列表x1,如“Out[20]”所示;“In[21]”得到了一個二層嵌套列表x2,共有3個子列表,每個子列表有5個元素,元素均為0,如“Out[21]”所示,可以視為一個3行5列的全0矩陣;“In[22]”將列表x2以矩陣形式顯示,如“Out[22]”所示,此時顯示結果為“Out[22]//MatrixForm”,該結果只做為顯示樣式,不能參與計算。同理,“In[23]”生成一個長度為5的元素均為1的列表x3,如“Out[23]”所示;“In[24]”生成一個二層嵌套列表x4,共3個子列表,每個5個元素,元素均為1,如“Out[24]”所示;“In[25]”以矩陣的形式顯示x4,如“Out[25]”所示。2.1常用列表構造方法Table函數(shù)也可生成一些有規(guī)律的向量和矩陣,如圖2-8所示。2.1常用列表構造方法在圖2-8中,Table函數(shù)的第一個參數(shù)為表達式,其中包括了局部變量,這里的局量變量是指Table函數(shù)的第二個參數(shù)及其以后的參數(shù)中出現(xiàn)的變量,常被稱作循環(huán)變量參數(shù);Table函數(shù)的第二個參數(shù)及其以后的參數(shù)用于指定局部變量的變化方式,用花括號括起來,有兩種形式:(1)第一種形式包括四部分:變量名、變量初始(為1時可省略)、變量終值和變量變化的步長(為1時可省略),如“In[34]”所示;(2)第二種形式包括兩部分:變量名和變量取值列表,如“In[35]”,此時變量依次在變量列表中取值。在“In[32]”中,Table的局部變量i的取值為從1按步長1至10,將生成1至10的整數(shù)列表x1,如“Out[32]”所示。“In[33]”中,Table的局部變量i從0按步長1增加到5,每步計算2i+1的值,將生成1至11的奇數(shù)序列x2,如“Out[33]”所示。“In[34]”中Table的局部變量i的步長為-2,i從6按步長-2遞減至-6,每步計算i3,得到列表x3如“Out[34]”所示。“In[35]”中Table的局部變量k依次從列表{5,8,13,21,30}中取值,對每個k的值計算2k+1的值,得到列表x4如“Out[35]”所示。注意:Table函數(shù)中第二個參數(shù)開始的參數(shù),即循環(huán)變量參數(shù),有多個時,越右邊的參數(shù)對應著循環(huán)嵌套的層數(shù)越大,即變化越快。例如,在“In[35]”中,首先局部變量i取值1,局部變量j從1按步長1增加到5;然后,i增加1變?yōu)?,j再次從1按步長1增加到5;以此類推。對于每一次i和j的值,計算1/(i+j-1)的值,得到列表hilbert如“Out[36]”所示;“In[37]”將hilbert轉化為矩陣形式,如圖2-8中“Out[37]”所示,該矩陣為5階Hilbert矩陣。此外,Table函數(shù)的第一個參數(shù)可以為語句組,每個語句組包括多條語句,相鄰的兩個語句間用分號“;”分隔,其典型實例如圖2-9所示。在圖2-9中,“In[40]”中每條語句后面的分號“;”表示該條語句不顯示結果;而Table函數(shù)內部的分號“;”用于分隔Table函數(shù)的語句,所有用分號連接的語句均被視為“一條”語句。也就是說,“k=Sin[i];sum+=0.001k”為一條語句。在“In[40]”中,將sum賦為0,然后,在Table循環(huán)2.1常用列表構造方法2.1常用列表構造方法法為“Range[imin,imax,step]”,表示從imin(為1可省略)按步長step(為1可省略)遞增到imax得到的數(shù)列,相當于“Table[i,{i,imin,imax,step}]”實現(xiàn)的功能。在“Range[imin,imax,step]”生成的序列中,imin為第一個數(shù),imin+step為第二個數(shù),imin+2step為第三個數(shù),依次類推,直到遞增(步長step為正)或遞減(步長step為負)至小于等于imax。但是,有可能imax取不到,即imax不在生成的列表中。2.1常用列表構造方法2.1常用列表構造方法Range函數(shù)的參數(shù)形式為:變量起始值(為1可省略)、變量終止值、變量增量(為1可省略),因此,在圖2-10中,“In[47]”表示從1按步長1增加到5生成的列表,如圖“Out[47]”所示;“In[48]”表示從10按步長1增加到15生成的列表,如“Out[48]”所示;“In[49]”表示從3按步長-1遞減到-3生成的列表,如“Out[49]”所示。Range函數(shù)支持實數(shù)序列的生成,例如Range函數(shù)生成列表的典型實例如圖2-10所示。2.1常用列表構造方法“In[50]”從0.1按步長0.3增加到1.0生成的列表,如“Out[50]”所示,使用語句“Range[0.1,1.1,0.3]”也可以生成該列表(注意,1.1不在列表中)。可使用Range函數(shù)作為Table函數(shù)的局部變量變化范圍,例如如下語句:Table[i^2,{i,Range[3]}]這里局部變量i的取值范圍為Range[3],即{1,2,3},上述Table函數(shù)的運行結果為:{1,4,9}。Range函數(shù)生成列表的典型實例如圖2-10所示。2.2.1列表元素訪問列表中元素的操作十分靈活。列表中的部分元素可以單獨訪問,并可以讀取出來構成新的列表;同時,列表支持元素的修改、增加和刪除操作,并且可以檢索和統(tǒng)計列表中的元素情況。列表中元素的訪問方法為“列表名[[元素位置]]”,注意,使用雙中括號訪問元素。在列表中,元素位置的索引號自左至右為從1開始步進1,或從右至左為從-1開始步進-1。“元素位置”的表示方法有四種:(1)正整數(shù)n,表示從左邊第1個元素算起的第n個元素位置;(2)負整數(shù)-n,表示從右邊第1個元素向左數(shù)的第n個元素位置;(3)“m;;n;;k”,表示從第m個元素位置按步長k遞增(k為正數(shù))或遞減(k為負數(shù))至第n個元素位置(m、n可以為負整數(shù)),步長k可為正整數(shù)數(shù)也可為負整數(shù);(4)用其他列表的元素表示要索引列表的元素位置,要求使用的其他列表元素必須為正整數(shù)或負整數(shù),且其元素值在檢索列表的元素位置索引號范圍內,例如:“x=Table[i^2,{i,10}];y=x[[Range[1,10,2]]]”,這里使用了Range產生的列表元素作為x列表的索引號,得到x列表的奇數(shù)位置的元素組成的新列表,賦給變量y。對于嵌套列表,“元素位置”可指定各層列表的訪問。2.2列表元素操作在圖2-11中,“In[2]”用Range函數(shù)生成1至10的整數(shù)列表,然后,該列表的每個元素加上0.5后得到如“Out[2]”所示的列表x;“In[4]”展示了訪問單個列表元素的方法,這里使用“[[3]]”表示讀取x列表的第3個元素,讀出值為3.5,如“Out[4]”所示;“In[5]”使用“[[-2]]”表示讀取x列表的倒數(shù)第2個元素,讀出值為9.5,如“Out[5]”所示;“In[6]”中,“[[5;;7]]”表示從第5個按步長1至第7個元素,即讀取列表x的第5至7個元素,讀出結果以列表的形式存儲,即{5.5,6.5,7.5},如“Out[6]”所示。在“In[7]”中,“[[-8;;-5]]”表示從倒數(shù)第8個元素按步長1至倒數(shù)第5個元素,即讀取列表x的倒數(shù)第8個元素至倒數(shù)第5個元素,讀出結果以列表的形式存儲,即列表元素訪問的典型實例如圖2-11和圖2-12所示。{3.5,4.5,5.5,6.5},如“Out[7]”所示。如果使用語句“a4=x[[-5;;-8;;-1]]”,則表示讀取x列表的倒數(shù)第5個至倒數(shù)第8個元素組成一個新列表,即{6.5,5.5,4.5,3.5},該列表是圖2-11中“Out[7]”的反序列表;“In[17]”讀出列表x的第3個、第7個和第10個位置的元素并組成新的列表,且以列表的形式存儲,即{3.5,7.5,10.5},如“Out[17]”所示;“In[18]”讀出列表x的第1個位置起、步進為3、終止位置為10(可以取不到)的元素,將這些元素組成一個新列表,即{1.5,4.5,7.5,10.5},如“Out[18]”所示。列表元素訪問的典型實例如圖2-11和圖2-12所示。在圖2-12中,“In[22]”生成了一個二維列表y,借助于MatrixForm轉化為矩陣形式如“Out[23]”所示;“In[24]”讀取y的第2個子列表的第3個元素,即第2行第3列的元素,讀出6;“In[25]”是另一種讀取嵌套列表y中元素的方法,表示讀出第2行第2列的元素,即4;“In[26]”表示讀出y中第2個子列表中的全部元素,即讀出第2行的全部元素,讀出為{2,4,6,8},也可使用語句b3=y[[2]],如果是讀出y中一列的數(shù)據(jù),例如讀出第2列的數(shù)據(jù),可以使用語句b3=y[[All,2]],這里的All表示全部元素;“In28”讀出列表y中的第1、2行和第1、3列交叉處的元素,這里的“1;;-1;;2”表示從第一列至最后一列(可以取不到),步長為2;“In[31]”讀出列表y的第1、3行和第3、4列交叉處的元素,如“Out[31]”所示。列表元素訪問的典型實例如圖2-11和圖2-12所示。除了上述列表元素訪問方式外,Wolfram語言中集成了一些列表元素訪問函數(shù),例如,F(xiàn)irst函數(shù)可訪問列表的首元素,Last函數(shù)用于訪問列表的尾元素,Part函數(shù)用于訪問列表中的任一元素,Take函數(shù)用于訪問列表的部分元素。Take函數(shù)用法眾多,例如:(1)“Take[列表,n]”讀取列表的前n個元素,讀出的元素組合為一個新列表;(2)“Take[列表,-n]”讀取列表的最后n個元素,讀出的元素組合為一個新列表;(3)“Take[列表,{m,n}]”讀取列表的第m個至第n個元素,讀出的元素組合為一個新列表;(4)“Take[列表,{m,n,k}]”讀取列表的第m個至第n個元素(可能取不到),讀取步長為k,讀出的元素組合為一個新列表。盡管有Part和Take等諸多函數(shù),我們建議盡可能使用“[[]]”讀取列表元素,當有多個“[[]]”嵌套使用時,通過添加適當?shù)目崭瘢纯梢员WC雙括號的對應關系正確無誤。2.2.2列表元素修改列表元素可以使用賦值方法直接修改,例如“列表[[位置]]=新的值”,此外,可以使用Insert函數(shù)向列表中設定的位置插入元素,借助Prepend函數(shù)在列表頭部插入元素,借助Append函數(shù)在列表尾部插入元素,使用Delete函數(shù)刪除某些位置的元素,使用Drop函數(shù)刪除列表中的一些元素,使用ReplacePart函數(shù)替換列表中的某些元素,等等。這些函數(shù)的典型用法實例如圖2-14所示。2.2列表元素操作在圖2-14中,“In[1]”使用函數(shù)CharacterRange生成一個從字符“a”至字符“j”的字符列表x,如“Out[1]”所示;“In[2]”將x的第2個元素賦值為“k”;“In[3]”顯示列表x,可見其第2個元素由字符“b”變?yōu)榱恕発”,如“Out[3]”所示。“In[5]”調用Prepend函數(shù)在列表x前面添加字符“e”,形成新的列表如“Out[5]”所示;“In[6]”調用Append函數(shù)在列表x尾部添加字符“m”,形成新的列表如“Out[6]”所示;“In[8]”調用Delete函數(shù)刪除列表x的第3個、第6個和第8個位置處的字符,形成新的列表如“Out[8]”所示;“In[9]”調用Drop函數(shù)刪除列表x的第3個位置按步長2至第8個位置的字符,形成新的列表如“Out[9]”所示。“In[11]”調用ReplacePart函數(shù)將列表x的第2個元素替換為“b”,形成新的列表如“Out[11]”所示。請注意:除了“In[2]”的賦給操作外,其余操作沒有將結果賦值給x,因此,這些操作沒有改變列表x。需要說明的是,字符串或字符在Mathematica中,使用雙引號包括,但是在顯示單元格(即在“Out[n]”)中,不顯示雙引號,但可以借助于FullForm函數(shù)顯示字符串中的雙引號,例如“FullForm[x]”將顯示“List["a","b","c","d","e","f","g","h","i","j"]”。圖2-13借助于一維列表展示了列表元素的修改操作,這些函數(shù)對于二維列表和高維列表同樣成立。2.2.2列表元素修改2.2列表元素操作2.2.3列表元素檢索2.2列表元素操作Wolfram語言提供了檢索某個元素是否在列表中、在列表中的位置和出現(xiàn)的次數(shù)的函數(shù),這些函數(shù)依次為FreeQ、MemberQ、Position和Count,其典型用法與實例如圖2-15所示。圖2-15中FreeQ、MemberQ、Position和Count函數(shù)的典型語法如下:(1)FreeQ[列表,元素]如果給定的元素在列表中,則返回False;否則返回True;(2)MemberQ[列表,元素]如果給定的元素在列表中,則返回True;否則返回False;(3)Position[列表,元素]返回給定的元素在列表中的位置;(4)Count[列表,元素]統(tǒng)計給定的元素在列表中出現(xiàn)的次數(shù)。圖2-15中,“In[33]”調用Position函數(shù)獲得元素“b”在列表x中的位置,返回結果如“Out[33]”所示,為一個二層嵌套列表{{2},{4},{10}},表明列表x的第2個、第4個和第10個位置均為字符“b”;“In[34]”調用Count函數(shù)統(tǒng)計元素“b”在列表x中出現(xiàn)的次數(shù),得到結果為3次,如“Out[34]”所示。現(xiàn)在回到圖2-15,“In[28]”生成列表x,全部元素均為字符,如“Out[28]”所示;“In[29]”調用FreeQ函數(shù)判定列表中有沒有元素“d”,如果存在返回False,這里,返回False,說明字符“d”位于列表x中;“In[30]”調用FreeQ函數(shù)判定列表中有沒有元素“m”,這里沒有該元素,故返回True。更常用的列表元素歸屬判定函數(shù)為MemberQ函數(shù),如“In[31]”和“In[32]”所示:由于“b”存在于列表x中,故“In[31]”返回True,如“Out[31]”所示;而“m”不在列表x中,故“In[32]”返回False,如“Out[32]”所示。Position函數(shù)和Count函數(shù)的參數(shù)中“元素”可取為“模式表達式”或測試函數(shù)等,例如:輸入“x={"abc",1,2,"def",3,4}”得到列表x,然后,調用“Position[x,_?StringQ]”將返回列表x中為字符串的元素位置,這里的“_?StringQ”是一種模式對象,問號“?”前為模式表達式,問號“?”后為測試函數(shù),該語句將返回{{1},{4}},即列表x的第1個和第4個位置為字符串;同樣地,“Position[x,_?IntegerQ]”將返回列表x中整數(shù)元素的位置,這里的“_?IntegerQ”可用“_Integer”替換,該語句返回結果為{{2},{3},{5},{6}},表示列表x的第2、3、5和6個位置為整數(shù)。調用“Count[x,_Integer]”計算列表x中的整數(shù)個數(shù),這里返回4。2.2.4列表變換2.2列表元素操作
嵌套列表可以轉換為單層列表,同時,單層列表也可以轉換為多層嵌套列表,這兩種變換對應的函數(shù)為Flatten和Partition。其中,F(xiàn)latten函數(shù)用于將多層嵌套列表轉化為單層列表,其典型用法有如下兩種:(1)Flatten[多層列表],將多層列表轉化為單層列表;(2)Flatten[多層列表,k],將多層列表的前k層的子列表合并(稱為壓平),這里的第k=1層是指第1層子列表(從最外層算起時,是指第二層列表)。此外,還有一個FlattenAt函數(shù),其用法為:FlattenAt[多層列表,n]將多層列表的第n個元素(位于第n個元素的子列表)壓平,只壓平其第一層列表。例如:“FlattenAt[{{a,b},{c,{d,e}},{f}},2]”將其中的第2個元素“{c,{d,e}}”壓平一級,即將其最外層的花括號去掉,得到結果為“{{a,b},c,{d,e},{f}}”。2.2.4列表變換2.2列表元素操作
嵌套列表可以轉換為單層列表,同時,單層列表也可以轉換為多層嵌套列表,這兩種變換對應的函數(shù)為Flatten和Partition。Partition函數(shù)用于將單層列表轉化為多層嵌套列表,其典型用法有如下三種:(1)Partition[單層列表,n],將單層列表分成不重疊的長度為n的子列表(最后的元素不夠n個時不計入);(2)Partition[單層列表,n,k],將單層列表分成長度為n的子列表,各子列表間不重疊的元素個數(shù)為k(即偏移量為k);(3)Partition[多層列表,{n1,n2,…}],將多層列表的每層分別劃分為長度為n1、n2等等的子列表,要求列表的層數(shù)與第二個參數(shù)的長度相同。2.2.4列表變換2.2列表元素操作
嵌套列表可以轉換為單層列表,同時,單層列表也可以轉換為多層嵌套列表,這兩種變換對應的函數(shù)為Flatten和Partition。除了上述列表變換函數(shù)之外,Wolfram還提供了合并列表函數(shù)Join和Union、列表交集函數(shù)Intersection、列表補集函數(shù)Complement、列表反序函數(shù)Reverse、列表循環(huán)左移函數(shù)RotateLeft和列表循環(huán)右移函數(shù)RotateRight以及列表分裂函數(shù)Split。其中,函數(shù)Split[列表]將列表中相同的元素劃分為一個子列表,例如,“Split[{1,1,0,0,1,1,1,0}]”將得到“{{1,1},{0,0},{1,1,1},{0}}”。2.3.1向量2.3向量與矩陣表示單層列表可以視為向量,兩層嵌套列表(且各個子列表的長度相同時)可以視為矩陣。下面將介紹向量和矩陣的表示及其基本運算。一個單層列表在Mathematica中為一個列向量,針對向量的常用操作有元素排序函數(shù)Sort、計算向量長度函數(shù)Length和求向量元素總和函數(shù)Total。其中,Sort函數(shù)的典型用法有兩種:(1)Sort[列表],將“列表”按升序排列;(2)Sort[列表,排序函數(shù)],按“排序函數(shù)”排列“列表”,“排序函數(shù)”常為純函數(shù)(見第7.3節(jié)),如果“排序函數(shù)”為Greater,則按降序排列列表元素。這三個函數(shù)的典型實例如圖2-18所示。PadRight[列表,長度,元素或元素列表]PadLeft[列表,長度,元素或元素列表]在圖2-18中,“In[12]”創(chuàng)建了列表x,如“Out[12]”所示;“In[13]”將列表x以矩陣的形式顯示,如“Out[13]”所示,可見一維列表x以列向量的形式存儲;“In[15]”調用Sort函數(shù)將列表x以降序的方向排列,如“Out[15]”所示;“In[16]”調用Length函數(shù)獲得列表x的長度(即其中的元素個數(shù)),其結果為10,如“Out[16]”所示;“In[17]”調用Total函數(shù)計算列表x中元素的總和,其結果為55,如“Out[17]”所示。列表可借助于PadLeft和PadRight函數(shù)在左邊和右邊可以填補特定元素,使列表達到指定的長度。這兩個函數(shù)的主要用法如下:PadRight[列表,長度,元素或元素列表]PadLeft[列表,長度,元素或元素列表]其中PadLeft函數(shù)將第三個參數(shù)“元素”或“元素列表”重復從左向右填到“列表”的表頭前,使列表長度達到指定的“長度”;如果填充的為“元素列表”,可以這樣理解,即先將填充的“元素列表”向左循環(huán)展開為指定“長度”的序列,然后,將被填充的列表的元素從最后一個元素開始依次替換掉那個“序列”的對應位置上的元素(被填充的列表的元素順序不變)。而PadRight函數(shù)將第三個參數(shù)“元素”或“元素列表”重復從左向右填到“列表”的表尾,使列表長度達到指定的“長度”;如果填充的為“元素列表”,可以這樣理解,即先將填充的“元素列表”向右循環(huán)展開為指定“長度”的序列,然后,將被填充的列表的元素替換掉那個“序列”的相應位置上的元素。如果第三個參數(shù)為0,可以省略。列表填充函數(shù)的典型實例如圖2-19所示。在圖2-19中,“In[18]”調用“Clear["`*"]”清除Notebook中已創(chuàng)建的變量的值;“In[19]”創(chuàng)建了列表x,如“Out[19]”所示;“In[21]”調用PadLeft函數(shù)從左向右在列表x的頭部添加0,直到列表長度達到16,如“Out[21]”所示;“In[22]”從右向左在列表x的尾部添加0,直到列表長度達到16,如“Out[22]”所示;“In[23]”從右向左在列表x的尾部添加1,直到列表長度達到16,如“Out[23]”所示;“In[24]”調用PadRight函數(shù)在列表x尾部
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 補充協(xié)議法和主合同
- 蔬菜種植戶合同協(xié)議
- 英語進修培訓合同協(xié)議
- 行車合同協(xié)議
- 行政協(xié)議和購買合同
- 西餐主廚外包合同協(xié)議
- 營地合作分成協(xié)議書模板
- 葡萄酒訂購合同協(xié)議
- 解除分銷協(xié)議書模板
- 裝飾材料購銷合同協(xié)議
- 下肢動脈疾病PAD課件
- 2025浙江溫州市公用事業(yè)發(fā)展集團有限公司招聘54人(第一批)筆試參考題庫附帶答案詳解
- 《超重問題與健康對策》課件
- ktv陪酒合同協(xié)議
- 上海嘉定區(qū)2025年公開招聘農村(村務)工作者筆試題帶答案分析
- 皮膚科臨床診療規(guī)范2020版
- 陜西、山西省天一大聯(lián)考2024-2025學年高中畢業(yè)班階段性測試(七)歷史試題及答案
- 保密警示教育典型泄密案例教育學習
- 高中數(shù)學不等式教學中的認知障礙診斷與干預機制研究
- 《大學生職業(yè)生涯規(guī)劃與就業(yè)指導(實踐版)》全套教學課件
- 建筑企業(yè)財務管理的風險控制與應對策略
評論
0/150
提交評論