最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Serum公式解析器基礎(chǔ)教程2 - 語(yǔ)法

2022-06-22 17:10 作者:Endark  | 我要投稿

1、 表達(dá)式允許包含的變量或常量

1.1 x參數(shù)

????????x參數(shù)是一個(gè)重要的時(shí)域參數(shù),指代波形界面中當(dāng)前繪制的值,取值 [-1.0,1.0] ,可以理解為“橫坐標(biāo)”的值。而此時(shí)不同x取值下表達(dá)式的值 f(x) ,則可以理解為“縱坐標(biāo)”的值。得到的波形即為點(diǎn)(x, f(x))在x取值[-1.0, 1.0]時(shí)得到的點(diǎn)所連成的曲線。

????????一般來(lái)說(shuō),如果我們希望直接繪制波形,就會(huì)寫一個(gè)關(guān)于x的表達(dá)式。如上一章中所演示的,我們需要得到一個(gè)方波圖像時(shí),便可以繪制一個(gè)[-1.0, 0)范圍函數(shù)值為-1、(0.0, 1.0]范圍函數(shù)值為1的函數(shù)的圖像,而符號(hào)函數(shù)sgn(x) (Formula Parser中應(yīng)寫作sign())符合這一要求。因此我們輸入sign(x)后按下回車,便可以得到一幀方波。

方波

????????一些細(xì)節(jié):表達(dá)式的值一旦大于1,則該點(diǎn)的取值會(huì)被設(shè)為1;若小于-1,則該點(diǎn)的取值會(huì)被設(shè)為-1;若表達(dá)式在該點(diǎn)處沒(méi)有定義(比如log(x)在[-1.0, 0.0]范圍內(nèi)均無(wú)定義),則該點(diǎn)的取值會(huì)被設(shè)為0。

1.2?w參數(shù)

????????完全等價(jià)于 (x+1)/2 ,取值 [0.0, 1.0] 。

w

????????我們輸入w,會(huì)發(fā)現(xiàn)得到的圖像與輸入(x+1)/2后得到的圖像完全一致。當(dāng)然,如果把一個(gè)表達(dá)式中所有的x均替換為(2*w-1)話,得到的圖像將與原表達(dá)式完全一致。

1.3?q參數(shù)

????????q參數(shù)是一個(gè)非常重要的一個(gè)頻域參數(shù),指代諧波次數(shù),取值 1, 2, ..., 512 ,即1至512中的自然數(shù),公式中出現(xiàn)q參數(shù)時(shí),表達(dá)式的值將表示上方FFT區(qū)中的振幅欄中各諧波的振幅。

????????我們輸入1/q,便可以得到一個(gè)諧波振幅與諧波次數(shù)成反比的波形。

1/q

????????而輸入1/q^0.5,便會(huì)獲得一個(gè)FFT的鋸齒波。

1/q^0.5

????????值得注意的是,若表達(dá)式在生成任何一個(gè)諧波的振幅時(shí)出現(xiàn)未定義的情況,則該幀波表的所有諧波振幅都會(huì)被清除,圖像也將變成輸入0后獲得的圖像。

1.4?p參數(shù)

????????p參數(shù)與q參數(shù)的取值一樣,也指代諧波次數(shù),取值范圍?1, 2, ..., 512 。與q參數(shù)不同的時(shí),公式中出現(xiàn)p參數(shù)時(shí),表達(dá)式的值將表示上方FFT區(qū)中的相位欄中各諧波的相位。

p*0.1

????????我們輸入p*0.1,會(huì)發(fā)現(xiàn)基頻到9次諧波的相位符合表達(dá)式的預(yù)期效果,以0.1為公差遞增,但10次諧波以后的相位均為0。這說(shuō)明一旦包含p的表達(dá)式值超過(guò)1了,相位就會(huì)被設(shè)為0。同樣的,一旦包含p的表達(dá)式值小于0了,相位也會(huì)被設(shè)為0。與q參數(shù)一樣,若表達(dá)式在生成任何一個(gè)諧波的相位時(shí)出現(xiàn)未定義的情況,則該幀波表的所有諧波振幅也都會(huì)被清除,圖像也將變成輸入0后獲得的圖像。

1.5?z參數(shù)

????????與指代幀的編號(hào)線性相關(guān),取值 [0.0, 1.0] 。表達(dá)式應(yīng)用于第一幀時(shí),z參數(shù)的取值為0.0;應(yīng)用于第256幀時(shí),z參數(shù)的取值為1.0。公式中出現(xiàn)z參數(shù)時(shí),表達(dá)式將被應(yīng)用于所有幀。若表達(dá)式中不含in參數(shù)且波表幀數(shù)不足256幀時(shí),將依據(jù)公式生成256幀。(不足256幀時(shí)與p參數(shù)聯(lián)合使用的效果非常蛋疼,因?yàn)槟悴荒軐?duì)著一個(gè)不存在的幀指定相位)

?? ? ? ? 因此我們輸入z*x,便會(huì)得到一個(gè)振幅隨波表幀數(shù)增加的鋸齒波波表。

z*x

1.6?y參數(shù)

????????完全等價(jià)于 z*2-1 ,取值 [-1.0, 1.0] 。公式中出現(xiàn)y參數(shù)時(shí),表達(dá)式也將被應(yīng)用于所有幀。若表達(dá)式中不含in參數(shù)且波表幀數(shù)不足256幀時(shí),也將依據(jù)公式生成256幀。

1.7?in參數(shù)

????????指代當(dāng)前幀的值。若原始波形為 f(x) ,則in參數(shù)在 x=x0?時(shí)的值為 f(x0)?。若表達(dá)式中含有q參數(shù),則q取值為 q0?時(shí),in指代 q0?次諧波的振幅。若表達(dá)式中含有p參數(shù),則p取值為?p0?時(shí),in指代?p0?次諧波的相位。若表達(dá)式中含有z參數(shù),則in參數(shù)指代的均為z參數(shù)所指波表的相關(guān)參數(shù):如若第k幀波形為fk(x),則z取0時(shí),in在?x=x0?時(shí)的取值為 f1(x0)?;z取1時(shí),in在?x=x0?時(shí)的取值為?f256(x0)?。

????????因此如果我們輸入in*0.5,便會(huì)將原始波形振幅縮小一半。

對(duì)表達(dá)式sin(x*pi)生成的波形使用in*0.5后的效果,振幅變成了原來(lái)的一半

1.8?sel參數(shù)

????????指代用戶選中幀的值。與in參數(shù)不同的時(shí),sel參數(shù)指代的幀的參數(shù)與z參數(shù)的取值無(wú)關(guān),始終指代用戶選中幀的值。

????????所以如果我們需要將一幀的波形克隆到256幀,我們只需選中那一幀,然后輸入z=sel即可。(這里表達(dá)式前綴的“z=”是一種特殊寫法,下文中會(huì)提到。)

每一幀都變成第239幀的形狀了

1.9?rand參數(shù)

????????隨機(jī)數(shù)。在表達(dá)式中x、p或q取不同值時(shí)會(huì)有不同的隨機(jī)取值,但該取值與z參數(shù)無(wú)關(guān):不論z指代哪張波表,rand都會(huì)在x、p或q參數(shù)取相同值時(shí)取相同的值(這個(gè)特性有時(shí)候非常的蛋疼)。

????????輸入rand后是這個(gè)效果。

rand

????????但如果我們輸入z=rand,我們會(huì)得到256幀一模一樣的隨機(jī)波形。

1.10 常數(shù)

e:自然對(duì)數(shù)的底,值為2.71828182845904523536。(不知為何,Serum手冊(cè)中標(biāo)注的e的值為2.718281828182818281828,數(shù)學(xué)家歐拉先生認(rèn)為這并不是真正的e)

pi:圓周率,值為3.141592653589793238462643。


1.11 表達(dá)式作用范圍的判斷原則

????????原則上,x(及w)、p、q參數(shù)不應(yīng)該出現(xiàn)同一個(gè)表達(dá)式中,試圖在時(shí)域表達(dá)式中使用頻域參數(shù)是沒(méi)有意義的。若表達(dá)式中不含p、q參數(shù),則表達(dá)式默認(rèn)被應(yīng)用于波形界面,in、sel參數(shù)指代的值為波形取值。若含有q參數(shù),表達(dá)式則被應(yīng)用于FFT區(qū)中的振幅欄,in、sel參數(shù)指代的值也將為諧波振幅。若含有q參數(shù),表達(dá)式則被應(yīng)用于FFT區(qū)中的相位欄,in、sel參數(shù)指代的值也將為諧波相位。


2、?表達(dá)式允許包含的函數(shù)

函數(shù)????????參數(shù)數(shù)量??????說(shuō)明

sin?????????????? ? 1???????????正弦函數(shù)?

cos????????????????1?????????? 余弦函數(shù)?

tan?????????????? ? 1???????????正切函數(shù)?

asin?????????????? 1? ? ? ? ?? 反正弦函數(shù)

acos????????????? 1 ????????? 反余弦函數(shù)?

atan?????????????? 1????? ? ?? 反正切函數(shù)

sinh?????????????? 1???????????雙曲正弦函數(shù)?

cosh????????????? 1??? ? ?????雙曲余弦函數(shù)?

tanh?????????? ? ? 1???????????雙曲正切函數(shù)?

asinh?????????? ? 1? ?????????雙曲反正弦函數(shù)?

acosh????????????1???????????雙曲反余弦函數(shù)?

atanh?????????? ??1? ?????? ??雙曲反正切函數(shù)?

log2?????????????? 1???????? ? 以2為底的對(duì)數(shù)函數(shù)

log10?????????? ? 1???????? ? 以10為底的對(duì)數(shù)函數(shù)

log?????????????? ? 1?? ????????以10為底的對(duì)數(shù)函數(shù)

ln?????????????? ? ? 1???????????以e (2.71828...)為底的對(duì)數(shù)函數(shù)

exp?????????????? ?1? ?????????e為底數(shù)的指數(shù)函數(shù)

sqrt?????????????? 1?? ????????平方根函數(shù)

sign?????????????? 1? ?????????符號(hào)函數(shù)(x<0值為-1;x>0值為1 )

rint?????????????? ?1? ?????? ??四舍五入法取整?

abs????????????? ??1?? ????????絕對(duì)值函數(shù)

min??????????????var.? ???????取多個(gè)值的最小值?

max?????????????var. ????? ? 取多個(gè)值的最大值?

sum?????????? ??var. ?????? ?取多個(gè)值的和?

avg??????????????var. ?????? ?取多個(gè)值的平均值


3、?表達(dá)式允許包含的運(yùn)算符

運(yùn)算符? 解釋?? 優(yōu)先級(jí)

&& ? ? ?邏輯與? ? ? 1?

||?? ? ? ? 邏輯或? ? ? 2?

<= ? ? 小于等于? ??4?

>=? ?? 大于等于?? ?4?

!=? ? ? ? 不等于? ??? 4

==?? ? ? ?等于? ? ? ? 4?

>?? ? ? ? ?大于? ? ?? ?4?

<?? ? ? ? ?小于? ? ??? 4?

+? ? ? ? ?? 加? ? ? ? ?? 5?

-? ? ? ? ? ??減? ? ? ? ?? 5?

* ? ? ? ? ? ?乘? ? ? ? ? ?6?

/? ? ? ? ? ? 除? ? ? ? ???6?

% ? ? ? ?取余? ? ? ? ?6?

^? ? ? ? ? ?冪? ? ? ?? ? 7


????????其中優(yōu)先級(jí)越大的運(yùn)算符越優(yōu)先進(jìn)行運(yùn)算。

4、 特殊語(yǔ)法:

4.1 三目運(yùn)算符

????????寫法為 (條件)?(條件為真時(shí)的取值):(條件為假時(shí)的取值) 。如表達(dá)式 (1>0)?1:2 的值為1,因?yàn)?>0這個(gè)條件為真,所以取冒號(hào)之前的值作為表達(dá)式的最終值。以方波為例,如果我們要用三目運(yùn)算符來(lái)繪制一個(gè)1/4方波,我們可以這么做。

????????(1) 明確表達(dá)式的邏輯

????????我們要求波形在[-1.0, 0.5]范圍內(nèi)值為-1,在[0.5, 1.0]范圍內(nèi)值為1,為此我們需要寫一個(gè)分段函數(shù):

f(x)%3D%5Cleft%5C%7B%0A%5Cbegin%7Baligned%7D%0A-1(x%3C0.5)%5C%5C%0A1(x%5Cgeq0.5)%20%5C%5C%0A%5Cend%7Baligned%7D%0A%5Cright.

????????(2) 寫成三目運(yùn)算符的形式

? ? ????分界的依據(jù)為x與0.5的大小關(guān)系,于是我們可以將條件設(shè)為x<0.5,若成立則取-1,若不成立則取1。寫成表達(dá)式就是: x<0.5?-1:1

x<0.5?-1:1

4.2 表達(dá)式前綴

????????寫法為z=;q=;p=,置于表達(dá)式的開(kāi)頭。判斷表達(dá)式作用范圍時(shí),前綴中出現(xiàn)的參數(shù)也視為在“表達(dá)式中出現(xiàn)”。若表達(dá)式前綴z=,則視為z在表達(dá)式中出現(xiàn),表達(dá)式將被應(yīng)用于256幀波表;同理,表達(dá)式前綴q=,表達(dá)式的值將表示上方FFT條中的振幅欄中各諧波的振幅;表達(dá)式前綴p=,表達(dá)式的值將表示上方FFT條中的相位欄中各諧波的相位。

Serum公式解析器基礎(chǔ)教程2 - 語(yǔ)法的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
文水县| 买车| 高碑店市| 内乡县| 济宁市| 辽阳县| 永城市| 葵青区| 涟水县| 张掖市| 资讯 | 胶州市| 仪征市| 额敏县| 河东区| 盐城市| 育儿| 洪洞县| 姚安县| 集安市| 三台县| 临沭县| 宜黄县| 城市| 礼泉县| 江川县| 建始县| 南通市| 赫章县| 保靖县| 南宫市| 黄陵县| 教育| 临高县| 红桥区| 吉木萨尔县| 岢岚县| 临泉县| 锡林郭勒盟| 望城县| 鹤壁市|