
發(fā)布
注冊(cè)
/
登錄調(diào)和多項(xiàng)式的案例
ZEMAX | 如何創(chuàng)建ZOS-API自定義擴(kuò)展將切比雪夫多項(xiàng)式轉(zhuǎn)換為擴(kuò)展多項(xiàng)式
有關(guān)切比雪夫多項(xiàng)式的更多信息,請(qǐng)參閱: 基于切比雪夫多項(xiàng)式的新型自由曲面的設(shè)計(jì)與實(shí)現(xiàn)。
對(duì)該系統(tǒng)進(jìn)行優(yōu)化和公差分析之后,在將自由曲面反射鏡的圖紙發(fā)送給制造商之前,將切比雪夫多項(xiàng)式轉(zhuǎn)換為擴(kuò)展多項(xiàng)式,這樣設(shè)計(jì)的系統(tǒng)就可以通過(guò)計(jì)算機(jī)輔助制造方程、模具校正和注塑過(guò)程中的模具收縮補(bǔ)償?shù)裙ぞ邔?shí)現(xiàn)。
OpticStudio有內(nèi)置的非球面轉(zhuǎn)換工具,但是沒(méi)有將自由曲面轉(zhuǎn)換為其他面型的工具。幸運(yùn)的是,可以使用ZOS-API構(gòu)建工具。
將切比雪夫多項(xiàng)式轉(zhuǎn)換為擴(kuò)展多項(xiàng)式
切比雪夫多項(xiàng)式
切比雪夫多項(xiàng)式由包含X和Y的方程式表示,這使得它們作為直角正交多項(xiàng)式特別實(shí)用。
擴(kuò)展多項(xiàng)式
擴(kuò)展多項(xiàng)式和切比雪夫多項(xiàng)式的定義之間的主要區(qū)別是:
圓錐常數(shù) k
多項(xiàng)式的每個(gè)系數(shù)包含一個(gè)歸一化因子,而切比雪夫包含 x0 和 y0
系數(shù)隨 “i ”變化
轉(zhuǎn)換
利用Mathematica和上述定義,可以計(jì)算得出每個(gè)擴(kuò)展多項(xiàng)式的項(xiàng)等于一個(gè)包含切比雪夫多項(xiàng)式的項(xiàng)的方程。結(jié)果如下:
根據(jù)上述結(jié)果,生成用戶自定義擴(kuò)展,它將通過(guò)讀取切比雪夫多項(xiàng)式表面的系數(shù),并計(jì)算擴(kuò)展多項(xiàng)式表面的系數(shù)來(lái)自動(dòng)轉(zhuǎn)換。
用戶自定義擴(kuò)展將在切比雪夫多項(xiàng)式之后添加具有計(jì)算出的系數(shù)的擴(kuò)展多項(xiàng)式表面,以及包含兩個(gè)多項(xiàng)式表面之間矢高差的網(wǎng)格矢高 ( Grid Sag ) 表面。得出的結(jié)果將滿足要求。
展開 ZEMAX軟件技術(shù)應(yīng)用教程:如何創(chuàng)建ZOS-API自定義擴(kuò)展將切比雪夫多項(xiàng)式轉(zhuǎn)換為擴(kuò)展多項(xiàng)式
有關(guān)切比雪夫多項(xiàng)式的更多信息,請(qǐng)參閱: 基于切比雪夫多項(xiàng)式的新型自由曲面的設(shè)計(jì)與實(shí)現(xiàn)。
對(duì)該系統(tǒng)進(jìn)行優(yōu)化和公差分析之后,在將自由曲面反射鏡的圖紙發(fā)送給制造商之前,將切比雪夫多項(xiàng)式轉(zhuǎn)換為擴(kuò)展多項(xiàng)式,這樣設(shè)計(jì)的系統(tǒng)就可以通過(guò)計(jì)算機(jī)輔助制造方程、模具校正和注塑過(guò)程中的模具收縮補(bǔ)償?shù)裙ぞ邔?shí)現(xiàn)。
OpticStudio有內(nèi)置的非球面轉(zhuǎn)換工具,但是沒(méi)有將自由曲面轉(zhuǎn)換為其他面型的工具。幸運(yùn)的是,可以使用ZOS-API構(gòu)建工具。
將切比雪夫多項(xiàng)式轉(zhuǎn)換為擴(kuò)展多項(xiàng)式
切比雪夫多項(xiàng)式
切比雪夫多項(xiàng)式由包含X和Y的方程式表示,這使得它們作為直角正交多項(xiàng)式特別實(shí)用。
擴(kuò)展多項(xiàng)式
擴(kuò)展多項(xiàng)式和切比雪夫多項(xiàng)式的定義之間的主要區(qū)別是:
圓錐常數(shù) k
多項(xiàng)式的每個(gè)系數(shù)包含一個(gè)歸一化因子,而切比雪夫包含 x0 和 y0
系數(shù)隨 “i ”變化
轉(zhuǎn)換
利用Mathematica和上述定義,可以計(jì)算得出每個(gè)擴(kuò)展多項(xiàng)式的項(xiàng)等于一個(gè)包含切比雪夫多項(xiàng)式的項(xiàng)的方程。結(jié)果如下:
根據(jù)上述結(jié)果,生成用戶自定義擴(kuò)展,它將通過(guò)讀取切比雪夫多項(xiàng)式表面的系數(shù),并計(jì)算擴(kuò)展多項(xiàng)式表面的系數(shù)來(lái)自動(dòng)轉(zhuǎn)換。
用戶自定義擴(kuò)展將在切比雪夫多項(xiàng)式之后添加具有計(jì)算出的系數(shù)的擴(kuò)展多項(xiàng)式表面,以及包含兩個(gè)多項(xiàng)式表面之間矢高差的網(wǎng)格矢高 ( Grid Sag ) 表面。得出的結(jié)果將滿足要求。
展開 用 Mathematica 求解多項(xiàng)式
多項(xiàng)式是由一組常數(shù)系數(shù),a、b、c、……(數(shù)值)確定的。
TableForm[{a x + b, a x^2 + b x + c, a x^3 + b x^2 + c x + d, ". . ."}] // T
多項(xiàng)式求解問(wèn)題就是找到一個(gè)值 x,使這些項(xiàng)的總和等于 0. 根據(jù) x 的最高次數(shù)分別稱為線性、二次、三次、四次、五次、六次、七次、八次...... 多項(xiàng)式。我們稱 y = a x + b 為線性,是因?yàn)樗膱D線是一條直線. 比如令 a = 2,b = 3,
Plot[2 x + 3, {x, -2, 1}]
2 x + 3 = 0 的(唯一)解是 x = -3/2. 一般情況下,有 x = -b/a. 由于含有 x 的平方項(xiàng),y = a x^2 + b x + c 是二次的. 你會(huì)記得一元二次方程有兩個(gè)通解:
Solve[a x^2 + b x + c == 0, x]
這樣的表達(dá)式被稱為不盡根式. 最常見的應(yīng)用是在幾何上. 圓、拋物線和雙曲線通常由二次多項(xiàng)式指定。當(dāng)我們想知道一個(gè)二次多項(xiàng)式與已知直線何時(shí)相交時(shí),我們就得到一個(gè)二次方程.
展開 用 Mathematica 求解多項(xiàng)式
多項(xiàng)式是由一組常數(shù)系數(shù),a、b、c、……(數(shù)值)確定的。
TableForm[{a x + b, a x^2 + b x + c, a x^3 + b x^2 + c x + d, ". . ."}] // TraditionalForm
多項(xiàng)式求解問(wèn)題就是找到一個(gè)值 x,使這些項(xiàng)的總和等于 0. 根據(jù) x 的最高次數(shù)分別稱為線性、二次、三次、四次、五次、六次、七次、八次...... 多項(xiàng)式。我們稱 y = a x + b 為線性,是因?yàn)樗膱D線是一條直線. 比如令 a = 2,b = 3,
Plot[2 x + 3, {x, -2, 1}]
2 x + 3 = 0 的(唯一)解是 x = -3/2. 一般情況下,有 x = -b/a. 由于含有 x 的平方項(xiàng),y = a x^2 + b x + c 是二次的. 你會(huì)記得一元二次方程有兩個(gè)通解:
Solve[a x^2 + b x + c == 0, x]
這樣的表達(dá)式被稱為不盡根式. 最常見的應(yīng)用是在幾何上. 圓、拋物線和雙曲線通常由二次多項(xiàng)式指定。當(dāng)我們想知道一個(gè)二次多項(xiàng)式與已知直線何時(shí)相交時(shí),我們就得到一個(gè)二次方程.
展開 
澤尼克多項(xiàng)式鏡面擬合
有會(huì)使用澤尼克多項(xiàng)式進(jìn)行鏡面擬合的嗎?請(qǐng)有償指導(dǎo)
基于Mathematica的多項(xiàng)式系數(shù)的位數(shù)之和的并行計(jì)算
本文所介紹的算法可以幫助您探索某種NP問(wèn)題蘊(yùn)含在多項(xiàng)式內(nèi)的潛在規(guī)律。
多項(xiàng)式是一種常見的數(shù)學(xué)對(duì)象,多項(xiàng)式系數(shù)(又稱組合數(shù))是指多項(xiàng)式的n次方的展開式的各項(xiàng)系數(shù),如下圖所示,這是一個(gè)3項(xiàng)式的3次方的展開式。
有多種算法可以計(jì)算多項(xiàng)式系數(shù)(組合數(shù))之和,但本文要求解的問(wèn)題是求這個(gè)展開式的各項(xiàng)系數(shù)的位數(shù)之和(十進(jìn)制),這就不得不把每一項(xiàng)系數(shù)的位數(shù)都計(jì)算出來(lái),對(duì)于上圖所示的多項(xiàng)式來(lái)說(shuō),因?yàn)檎归_式的每一項(xiàng)的系數(shù)都是一位十進(jìn)制整數(shù),所以位數(shù)之和是10,如下圖所示,可以簡(jiǎn)單地用幾個(gè)函數(shù)在不到1毫秒的時(shí)間內(nèi)計(jì)算出來(lái)。
在這個(gè)簡(jiǎn)潔的問(wèn)題中,蘊(yùn)含了一個(gè)NP問(wèn)題,由于所有NP問(wèn)題都可以互相轉(zhuǎn)換,故不再贅述是哪一個(gè)NP問(wèn)題,只需知道本文要求解的問(wèn)題目前還沒(méi)有多項(xiàng)式級(jí)別的時(shí)間復(fù)雜度的求解算法,這也是NP(非確定性多項(xiàng)式)問(wèn)題的含義。
若要求解7項(xiàng)式的30次方的多項(xiàng)式系數(shù)的位數(shù)之和(以下簡(jiǎn)稱:位數(shù)之和),計(jì)算時(shí)間就來(lái)到了20秒,如下圖所示:
考慮到多項(xiàng)式的結(jié)構(gòu)的對(duì)稱性,可以計(jì)算出系數(shù)相同的項(xiàng)的個(gè)數(shù),再乘以對(duì)應(yīng)的系數(shù)的位數(shù),經(jīng)過(guò)一系列計(jì)算就能在20毫秒內(nèi)得到位數(shù)之和,比上圖所示的快了近1000倍。這種算法將本文的問(wèn)題提煉成一個(gè)NP問(wèn)題,復(fù)雜度取決于有多少種不同的系數(shù),對(duì)于每一種不同的系數(shù),算法只需要一次計(jì)算就能求解出這種系數(shù)的位數(shù)之和與帶有這種系數(shù)的項(xiàng)的個(gè)數(shù)。通過(guò)觀察多項(xiàng)式展開式的每一項(xiàng)的冪,易知,對(duì)于3項(xiàng)式的3次方的展開式的項(xiàng)來(lái)說(shuō),只有三種系數(shù)。
但這只不過(guò)是把階乘級(jí)的復(fù)雜度降低到指數(shù)級(jí),而且這種算法的空間復(fù)雜度與其時(shí)間復(fù)雜度一樣高!非常消耗內(nèi)存,因?yàn)橐F舉每一種系數(shù)。
展開 ZEMAX | 如何使用 Zernike 多項(xiàng)式模擬黑盒光學(xué)系統(tǒng)
OpticStudio 將計(jì)算系統(tǒng)的波前,并匹配對(duì)應(yīng)的澤尼克多項(xiàng)式。
波前的采樣率和澤尼克多項(xiàng)式的項(xiàng)數(shù)可以在參數(shù)設(shè)置菜單中設(shè)置。波前采樣和多項(xiàng)式系數(shù)的關(guān)鍵參數(shù)是 RMS 擬合誤差( RMS fit error )和最大擬合誤差(Maxium fit error )。在本例中使用默認(rèn)采樣和多項(xiàng)式項(xiàng)數(shù)參數(shù)得到如下結(jié)果:
這表示當(dāng)我們?cè)跐赡峥讼禂?shù)表示的波前上減去實(shí)際波前時(shí),其殘留的誤差在百萬(wàn)分之一個(gè)波前量級(jí)。這已經(jīng)非常接近了!然而在實(shí)際應(yīng)用時(shí)您需要對(duì)波前采樣率和多項(xiàng)式系數(shù)進(jìn)行調(diào)整以保證多項(xiàng)式較高的匹配度。
我們現(xiàn)在需要將澤尼克多項(xiàng)式系數(shù)轉(zhuǎn)移到近軸等效系統(tǒng)中。我們可以輸出澤尼克數(shù)據(jù)并將其輸入到近軸系統(tǒng)中,但這一過(guò)程非常繁瑣。我們可以使用宏來(lái)完成這一操作。
下面這個(gè)宏(包含于示例文件中)名為 Zernike Readout.zpl ,它可以提取系統(tǒng)的澤尼克數(shù)據(jù)并保存成 .DAT 格式的文件,該格式文件可以在近軸等效系統(tǒng)中的表面屬性(Surface Properties)->導(dǎo)入( Import )->導(dǎo)入數(shù)據(jù)文件( Import Data File )中導(dǎo)入。宏執(zhí)行該操作的過(guò)程如下所示:
首先定義所有需要的變量。
(需要注意的是,ZPL 中設(shè)置的采樣率和最大澤尼克項(xiàng)數(shù)應(yīng)該與您在澤尼克分析中設(shè)置的數(shù)據(jù)相同)隨后,宏會(huì)提取出瞳直徑和澤尼克數(shù)據(jù):
注意澤尼克表面的歸一化半徑表示出瞳直徑的一半。
展開 六自由度機(jī)械臂五次多項(xiàng)式軌跡規(guī)劃(Fivejtraj_Function自編寫函數(shù)) ¥56
,定義插補(bǔ)次數(shù)n,根據(jù)驅(qū)動(dòng)器支持的最大插補(bǔ)次數(shù)設(shè)定
Time=[0,0,0,0,0,0;5,5,5,5,5,5;10,10,10,10,10,10];
StopTime=Time(3,1);
FixedStep=0.2;
SimpleNum=0:FixedStep:StopTime;Cunt=length(SimpleNum);
for i=1:n
%% 求每個(gè)關(guān)節(jié)角的五次多項(xiàng)式插補(bǔ)軌跡點(diǎn)
[q(:,i),qd(:,i),qdd(:,i)] = Fivejtraj_Function(Theta(:,i),Time(:,i), ...