修正演算法
Ⅰ 神經網路中rprop是什麼演算法
對於bp神經網路來說沒有固定的標准可以得到最好的bp網路,設計好後只能手動修改參數然後選擇最好的。下邊是個分類的例子
clc
clear
close all
%---------------------------------------------------
% 產生訓練樣本與測試樣本,每一列為一個樣本
P1 = [rand(3,5),rand(3,5)+1,rand(3,5)+2];
T1 = [repmat([1;0;0],1,5),repmat([0;1;0],1,5),repmat([0;0;1],1,5)];
P2 = [rand(3,5),rand(3,5)+1,rand(3,5)+2];
T2 = [repmat([1;0;0],1,5),repmat([0;1;0],1,5),repmat([0;0;1],1,5)];
%---------------------------------------------------
% 歸一化
[PN1,minp,maxp] = premnmx(P1);
PN2 = tramnmx(P2,minp,maxp);
%---------------------------------------------------
% 設置網路參數
NodeNum = 10; % 隱層節點數
TypeNum = 3; % 輸出維數
TF1 = 'tansig';TF2 = 'purelin'; % 判別函數(預設值)
%TF1 = 'tansig';TF2 = 'logsig';
%TF1 = 'logsig';TF2 = 'purelin';
%TF1 = 'tansig';TF2 = 'tansig';
%TF1 = 'logsig';TF2 = 'logsig';
%TF1 = 'purelin';TF2 = 'purelin';
net = newff(minmax(PN1),[NodeNum TypeNum],{TF1 TF2});
%---------------------------------------------------
% 指定訓練參數
% net.trainFcn = 'traingd'; % 梯度下降演算法
% net.trainFcn = 'traingdm'; % 動量梯度下降演算法
%
% net.trainFcn = 'traingda'; % 變學習率梯度下降演算法
% net.trainFcn = 'traingdx'; % 變學習率動量梯度下降演算法
%
% (大型網路的首選演算法 - 模式識別)
% net.trainFcn = 'trainrp'; % RPROP(彈性bp)演算法,內存需求最小
%
% 共軛梯度演算法
% net.trainFcn = 'traincgf'; % Fletcher-Reeves修正演算法
% net.trainFcn = 'traincgp'; % Polak-Ribiere修正演算法,內存需求比Fletcher-Reeves修正演算法略大
% net.trainFcn = 'traincgb'; % Powell-Beal復位演算法,內存需求比Polak-Ribiere修正演算法略大
% (大型網路的首選演算法 - 函數擬合,模式識別)
% net.trainFcn = 'trainscg'; % Scaled Conjugate Gradient演算法,內存需求與Fletcher-Reeves修正演算法相同,計算量比上面三種演算法都小很多
%
% net.trainFcn = 'trainbfg'; % Quasi-Newton Algorithms - BFGS Algorithm,計算量和內存需求均比共軛梯度演算法大,但收斂比較快
% net.trainFcn = 'trainoss'; % One Step Secant Algorithm,計算量和內存需求均比BFGS演算法小,比共軛梯度演算法略大
%
% (中小型網路的首選演算法 - 函數擬合,模式識別)
net.trainFcn = 'trainlm'; % Levenberg-Marquardt演算法,內存需求最大,收斂速度最快
%
% net.trainFcn = 'trainbr'; % 貝葉斯正則化演算法
%
% 有代表性的五種演算法為:'traingdx','trainrp','trainscg','trainoss', 'trainlm'
%---------------------%
net.trainParam.show = 1; % 訓練顯示間隔
net.trainParam.lr = 0.3; % 學習步長 - traingd,traingdm
net.trainParam.mc = 0.95; % 動量項系數 - traingdm,traingdx
net.trainParam.mem_rec = 10; % 分塊計算Hessian矩陣(僅對Levenberg-Marquardt演算法有效)
net.trainParam.epochs = 1000; % 最大訓練次數
net.trainParam.goal = 1e-8; % 最小均方誤差
net.trainParam.min_grad = 1e-20; % 最小梯度
net.trainParam.time = inf; % 最大訓練時間
%---------------------------------------------------
% 訓練與測試
net = train(net,PN1,T1); % 訓練
%---------------------------------------------------
% 測試
Y1 = sim(net,PN1); % 訓練樣本實際輸出
Y2 = sim(net,PN2); % 測試樣本實際輸出
Y1 = full(compet(Y1)); % 競爭輸出
Y2 = full(compet(Y2));
%---------------------------------------------------
% 結果統計
Result = ~sum(abs(T1-Y1)) % 正確分類顯示為1
Percent1 = sum(Result)/length(Result) % 訓練樣本正確分類率
Result = ~sum(abs(T2-Y2)) % 正確分類顯示為1
Percent2 = sum(Result)/length(Result) % 測試樣本正確分類率
Ⅱ 有關BP演算法權值修正的過程 用matlab編程 跪求
clc
clear
t1 = tic;
%t1 = clock;
load data
%% 數據累加作為網路輸入
[n,m]=size(X);
for i=1:n
for j=1:m
y(i,j)=sum(X(1:i,j));
end
end
%% 網路參數初始化
a=0.3+rand(1)/4;
for k=1:(m-1)
b(k)=0.3+rand(1)/4;
end
%% 學習速率初始化
for k=1:(m-1)
u(k)=0.0015;
end
%% 權值閥值初始化
t=1;
w11=a;
w2(1,1)=-y(1,1);
for k=2:m
w2(k)=2*b(k-1)/a;
end
for k=1:m
w3(k)=1+exp(-a*t);
end
theta1=0;
for k=1:(m-1)
theta1=theta1+b(1,k)*y(1,(k+1))/a;
end
theta2=(1+exp(-a*t))*(theta1-y(1,1));
kk=1;
%% 循環迭代
for j=1:10
%循環迭代
E(j)=0;
for i=1:(n-6)
%% 網路輸出計算
t=i;
%LB層輸出
LB_b=1/(1+exp(-w11*t));
%LC層輸出
LC_c(1,1)=LB_b*w2(1,1);
for k=2:m
LC_c(k)=y(i,k)*LB_b*w2(1,k);
end
%LD層輸出
LD_d=0;
for k=1:m
LD_d=LD_d+w3(1,k)*LC_c(1,k);
end
%閥值
theta3=0;
for k=2:m
theta3=theta3+w2(1,k)*y(i,k)/2;
end
theta4=(1+exp(-w11*t))*(theta3-y(1,1));
%網路輸出值
ym=LD_d-theta4;
yc(i)=ym;
%% 權值修正
error=ym-y(i,1); %計算誤差
E(j)=E(j)+abs(error); %誤差求和
%計算誤差
for k=1:m
errorr(k)=error*(1+exp(-w11*t));
end
thetaE0=0;
for k=1:m
thetaE0=thetaE0+w2(1,k)*errorr(1,k);
end
thetaE=(1/(1+exp(-w11*t)))*(1-1/(1+exp(-w11*t)))*thetaE0;
%修改權值
for k=2:m
w2(1,k)=w2(1,k)-u(k-1)*errorr(1,k)*LB_b;
end
w11=w11+a*t*thetaE;
end
end
%畫誤差隨進化次數變化趨勢
figure(1)
plot(E)
title('訓練誤差','fontsize',12);
xlabel('進化次數','fontsize',12);
ylabel('誤差','fontsize',12);
%print -dtiff -r600 28-3
%根據訓出的神經網路進行預測
for i=(n-5):n
t=i;
LB_b=1/(1+exp(-w11*t)); %LB層輸出
LC_c(1,1)=LB_b*w2(1,1); %LC層輸出
for k=2:m
LC_c(1,k)=y(i,k)*LB_b*w2(1,k); %LC層輸出
end
LD_d=0;
for k=1:m
LD_d=LD_d+w3(1,k)*LC_c(1,k); %LD層輸出
end
theta5=0;
for k=2:m
theta5=theta5+w2(1,k)*y(i,k)/2;
end
theta6=(1+exp(-w11*t))*(theta5-y(1,1)); %閥值
ym=LD_d-theta6; %網路輸出值
yc(i)=ym;
end
yc=yc*10;
y(:,1)=y(:,1);
%計算預測
for j=n:-1:2
ys(j)=(yc(j)-yc(j-1))/10;
end
figure(2)
plot(ys((n-5):n),'-*');
hold on
plot(X((n-5):n,1),'r:o');
legend('預測值','實際值')
title('灰色神經網路預測','fontsize',12)
xlabel('x','fontsize',12)
ylabel('y','fontsize',12)
Ⅲ 數據分析挖掘包含哪些工作
1、收集數據
收集數據一般是補充外部數據,包括採用爬蟲和介面,獲取,補充目前數據不足部分。Python scrapy,requests是很好的工具。
2、准備數據
主要包括數據清洗,預處理,錯值糾正,缺失值填補。連續值離散化,去掉異常值,以及數據歸一化的過程。同時需要根據准備採用的挖掘工具准備恰當的數據格式。
3、分析數據
通過初步統計、分析以及可視化,或者是探索性數據分析工具,得到初步的數據概況。分析數據的分布,質量,可靠程度,實際作用域,以確定下一步的演算法選擇。
4、訓練演算法
整個工作流最核心的一步,根據現有數據選擇演算法,生成訓練模型。主要是演算法選擇和參數調整:
演算法的選擇,需要對演算法性能和精度以及編碼實現難度進行衡量和取捨。 (甚至演算法工具箱對數據集的限制情況都是演算法選擇考慮的內容)。實際工程上,不考慮演算法復雜度超過O(N^2)的演算法。Java的Weka和Python的Scipy是很好的數據挖掘分析工具,一般都會在小數據集做演算法選擇的預研。
參數調整。這是一門神奇的技能,只能在實際過程中體會。
5、測試演算法
這一步主要是針對監督演算法(分類,回歸),為了防止模型的Overfit,需要測試演算法模型的覆蓋能力和性能。方法包括Holdout,還有random subsampling.
非監督演算法(聚類),採用更加具體的指標,包括熵,純度,精度,召回等。
6、使用,解釋,修正演算法
數據挖掘不是一個靜態的過程,需要不斷對模型重新評估,衡量,修正。演算法模型的生命周期也是一個值得探討的話題。
Ⅳ 請教一句英語翻譯(數學相關)
他建議在解決這個非線性方程組問題時用一個相同的定理,用Broyden擬牛頓修正演算法。
proposed doing建議做某事,一般是重大的建議
前面這個using是句型
而後面的這個using呢,則是因為前面已經有了proposed這個動詞,use是和那個動作一起進行的,所以就用ing形式。
像這類的還有例子:
I walked down the street,thinking about my party.
我走在路上,想著我的聚會
Ⅳ 中國歷法的術語解釋
朔是指月球與太陽的地心黃經相同的時刻。這時月球處於太陽與地球之間,幾乎和太陽同起同落,朝向地球的一面因為照不到太陽光,所以從地球上是看不見的。望是指月球與太陽的地心黃經相差 180°的時刻。這時地球處於太陽與月球之間。月球朝向地球的一面照滿太陽光,所以從地球上看來,月球呈光亮的圓形,叫作滿月或望月。從朔到下一次朔或者從望到下一次望的時間間隔,稱為一朔望月,約為29.53059日。這只是一個平均數,因為月球繞地球和地球繞太陽的軌道運動都是不均勻的,二者之間也沒有簡單的關系。因此,每兩次朔之間的時間是不相等的,最長與最短之間約差13小時。在中國古代歷法中,把包含朔時刻的那一天叫作朔日,把有望時刻的那一天叫作望日;並以朔日作為一個朔望月的開始。在歷日的安排中,通常為大小月相間,經過15~17個月,接連有兩個大月。
東漢以前的歷法中,都是把月行的速度當作不變的常數,以朔望月的周期來算朔,算出的朔後來稱作「平朔」。東漢前後發現了月亮運動的不均勻性,此後人們就設法對平朔進行修正,以求出真正的朔,稱為「定朔」。首次載有這種修正演算法的歷法,是劉洪創制的《乾象歷》。隋代劉焯的《皇極歷》,才把日行也有遲疾(就是地球繞日運動不均勻性的反映)的因素考慮到「定朔」的計算中去。 古代歷法中一般都設有歷元,作為推算的起點。這個起點,習慣上是取一個理想時刻。通常取一個甲子日的夜半,而且它又是朔,又是冬至節氣。從歷元更往上推,求一個出現「日月合璧,五星聯珠」天象的時刻,即日月的經緯度正好相同,五大行星又聚集在同一個方位的時刻。這個時刻稱為上元。從上元到編歷年份的年數叫作積年,通稱上元積年。上元實際就是若干天文周期的共同起點。有了上元和上元積年,歷法家計算日、月、五星的運動和位置時就比較方便。中國推算上元積年的工作,首先是從西漢末年的劉歆開始的。劉歆的《三統歷》以 19年為1章,81章為 1統,3統為1元。經過 1統即1,539年,朔旦、冬至又在同一天的夜半,但未回復到甲子日。經 3統即 4,617年才能回到原來的甲子日,這時年的干支仍不能復原。《三統歷》又以 135個朔望月(見月)為交食周期,稱為「朔望之會」。1統正好有141個朔望之會。所以交食也以 1統為循環的大周期。這些都是以太初元年十一月甲子朔旦夜半為起點的。劉歆為了求得日月合璧、五星聯珠的條件,又設 5,120個元、23,639,040年的大周期,這個大周期的起點稱作太極上元。太極上元到太初元年為 143,127年。在劉歆之後,隨著交點月、近點月等周期的發現,歷法家又把這些因素也加入到理想的上元中去。
日、月、五星各有各的運動周期,並且有各自理想的起點,例如,太陽運動的冬至點,月亮運動的朔、近地點、黃白交點等等。從某一時刻測得的日、月、五星的位置離各自的起點都有一個差數。以各種周期和各相應的差數來推算上元積年,是一個整數論上的一次同餘式問題。隨著觀測越來越精密,一次同餘式的解也越來越困難,數學運算工作相當繁重,所得上元積年的數字也非常龐大。這樣,對於歷法工作就很少有實際意義,反而成了累贅。後經曹士蒵、楊忠輔等作嘗試性的改革以後,元代郭守敬在創制《授時歷》中廢除了上元積年。 中國古代很早就認識到木星約十二年運行一周天。人們把周天分為十二分,稱為十二次,木星每年行經一次,就用木星所在星次來紀年。因此,木星被稱為歲星,這種紀年法被稱為歲星紀年法。此法的起源年代還不清楚,但在春秋、戰國之交很盛行。因為當時諸侯割據,各國都用本國年號紀年,歲星紀年可以避免混亂和便於人民交往。《左傳》、《國語》中所載「歲在星紀」、「歲在析木」等大量記錄,就是用的歲星紀年法。
除了十二次之外,天上又有十二辰的分劃(用子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥十二地支來稱呼)。它的計量方向和歲星運行的方向相反,即自東向西。由於十二地支的順序為當時人們所熟知,因此,人們又設想有個天體,它的運行速度也是十二年一周天,但運行方向是循十二辰的方向。這個假想的天體稱為太歲。當歲星和太歲的初始位置關系規定後,就可以從任何一年歲星的位置推出太歲所在的辰,因而就能以十二辰的順序來紀年。當時又對太歲所在的子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥十二個年,給以相應的專名,依次是:困敦、赤奮若、攝提格、單閼、執徐、大荒落、敦牂、協洽、涒灘、作噩、閹茂、大淵獻。如《漢書·律歷志》有:漢高祖元年「歲在大棣(鶉首),名曰敦牂,太歲在午」的記載。有了地支關系,再配上天干,就與干支順序相聯。在歲星紀年中,對甲、乙、丙、丁、戊、己、庚、辛、壬、癸十個年也給以專名,依次為:閼逢、旃蒙、柔兆、強圉、著雍、屠維、上章、重光、玄黓、昭陽。這樣,甲寅年可寫為閼逢攝提格,余類推。這些歲名在不同的古書中有不同的寫法。上面所列的是《爾雅·釋天》所載的通用寫法。
歲星實際約11.86年運行一周。過八十多年,歲星實際位置將超過理想計算位置一次。歲星紀年法用久之後,就與實際天象不符。於是,必須改革歷法,調整歲星和太歲的位置。因此,當時各種歷法的歲星紀年法是有出入的。漢太初以後,歲星紀年法與後世的干支紀年法相連接,從太初上溯至秦統一中國時,歲星紀年比干支紀年落後一辰,上溯至戰國時期則落後二辰。西漢末劉歆提出歲星每144年超一次的演算法,但實際上未在紀年法中應用。東漢改用《四分歷》時,廢止了歲星紀年法,沿用干支紀年法。
干支以六十為周期的序數,用以紀日、紀年等。它以十天干:甲、乙、丙、丁、戊、己、庚、辛、壬、癸和十二地支:子、 丑、寅、 卯、辰、巳、午、未、申、酉、戌、亥順序相配組成。從甲子、乙丑……直至癸亥(見附表)。干支在中國歷法史上佔有重要地位。早在殷商時代就使用六十干支紀日。一日一個干支名號,日復一日,循環使用,從不間斷。中國的歷史雖然很長,只要順著干支往上推,歷史日期就清清楚楚。這是中國古代創用干支法的功績。在古代歷法中也使用干支法,只要求出氣、朔的干支,其餘就一目瞭然。干支法不但用於紀日,還用於紀年(見歲星紀年)。古人也用十二地支紀時、紀月。地支紀時就是將一日均分為十二個時段,分別以十二地支表示,子時為現在的二十三點至一點,丑時為一點至三點,等等,稱為十二時辰。地支紀月就是把冬至所在的月稱為子月,下一個月稱為丑月,等等。從《兩千年中西歷對照表》(生活·讀書·新知三聯書店1956年版)有西漢平帝元始元年(公元1年)以來二千年的年和日的干支。 十二個中氣和十二個節氣的總稱,可能起源於戰國時期,是中國古代的獨特創造。它告訴人們太陽移到黃道上二十四個具有季節意義的位置的日期,幾千年來對中國農牧業發展起了重要作用。在《淮南子·天文訓》(公元前140年左右)中,有完整的二十四節氣記載,其名稱和順序都同現今通行的基本一致。
節氣、中氣、平氣、定氣 節氣的安排決定於太陽。西周和春秋時期以圭表測日影的方法定出冬至和夏至的時刻。後來,將一回歸年(見年)的長度等分成24份,從冬至開始,等間隔地依次相間安排各個節氣和中氣。這種方法叫平氣。按照平氣辦法,每月有一個節氣,一個中氣。例如:立春為正月節氣,雨水為正月中氣;驚蟄為二月節氣,春分為二月中氣,等等。因為兩個節氣的時間大於一個朔望月的時間,所以可能出現一個月內只有一個節氣或一個中氣的情況。西漢《太初歷》(見落下閎)因而規定節氣可以在上月的下半月或本月的上半月出現,而中氣一定要在本月出現;如果遇到沒有中氣的月份,可以定為上月的閏月。這種置閏原則沿用了一千多年。
北齊(公元550~577年)張子信發現太陽視運動不均勻現象(因為地球公轉軌道是橢圓的)。隋仁壽四年(公元604年),劉焯在他的《皇極歷》中根據這種不均勻現象對二十四節氣提出改革,將周天等分成24份,太陽移行到每一個分點時就是某一節氣的時刻。這樣安排的節氣間隔是不均勻的,此法稱為定氣。定氣主要在歷法計算中使用。在日用歷譜上一直使用平氣,直到清代才開始使用定氣。
二十四節氣表二十四節氣的名稱、節氣在現行公歷里的大體日期和當時太陽黃經度數如表:
二十四節氣反映了太陽的周年視運動,所以節氣在現行公歷中的日期基本固定,上半年在6日、21日,下半年在8日、23日,前後不差一兩天。
影響和應用 二十四節氣起源於黃河流域,幾千年來成了中國各地農事活動的主要依據,至今仍在農業生產中起一定的作用。為了便於記憶,人們編出了二十四節氣歌訣:春雨驚春清谷天,夏滿芒夏暑相連,秋處露秋寒霜降,冬雪雪冬小大寒。隨著中國歷法的外傳,二十四節氣流傳到世界許多地方。
日法 回歸年(見年)和朔望月(見月)的長度都不是整數日,中國古代用分數來表示這兩個數據。在唐李淳風以前,不同的歷法對朔望月和回歸年用不同的分母。《三統歷》將朔望月的分母 81稱為日法(歷中朔望月的長度為 29 + 43/81日),而將回歸年的分母稱為統法。東漢《四分歷》則相反,《四分歷》的回歸年長度為365 + 1/4日,稱4為日法;朔望月的長度為29 + 499/940日,稱940為蔀月。但是,用日法朔望月的分母則較為普遍。李淳風以後,這些有關周期的基本天文數據都用同一個分母來表示。日法的意思就成了把一日分成若干分的總分數。不過有些歷法仍對日法用不同的名稱,例如,在李淳風《麟德歷》中就稱為「總法」。 中國古代對周天的一種劃分法,大抵是沿天赤道從東向西將周天等分為十二個部分,用地平方位中的十二支名稱來表示,即:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。它與二十八宿星座有一定的對應關系(見十二次)。當星宿南中天的時候,這時十二辰與地平方位中的十二支也正好一一對應。十二辰的一種應用就是歲星紀年。關於十二辰的最初含義,眾說紛紜,至今尚無定論。
十二次 中國古代為了觀測日、月、五星的位置和運動,把黃赤道帶自西向東劃分為十二個部分,稱為十二次。十二次的名稱依次是:星紀、玄枵、娵訾、降婁、大梁、實沈、鶉首、鶉火、鶉尾、壽星、大火、析木。春秋戰國時代的《左傳》、《國語》等書中就已有這些名稱的記載,它們被用來記述歲星(木星)的位置。古代把木星的恆星周期定為十二年,所以一般認為,十二次的創立是起源於對木星的觀測。它的時代大約在春秋時期或更早。但《國語》中記伶州鳩(周景王時的占星家)的話說:「武王伐殷,歲在鶉火。」據中國天文學家張鈺哲近年關於哈雷彗星軌道的研究,認為武王伐紂應為公元前1057年。當時歲星確實正在鶉火之次,所以伶州鳩的這個說法,應是周初時的實際觀測。如果這個結論可靠的話,那麼,十二次的創立時代也有可能推至殷末周初。
中國科學史家錢寶琮認為,十二次的劃分原是基於二十八宿的四宮(即四象),每宮各分三次。由於四宮所跨的赤經廣度並不均勻,所以十二次的赤經廣度也參差不齊。不過後來就發展成按赤道度數等分的制度。《漢書·律歷志》中載有十二次起訖度數,它們是和二十四節氣相對應的。以十二節氣為各次的起點,十二中氣為各次的中點。以後一直沿用這種分劃原則。不過因歲差的影響,起訖度數是逐漸變化的。明末以後用十二次名稱來翻譯黃道十二宮,如譯摩羯宮為星紀宮等。但各宮的起點改為與十二中氣相對應,並按黃道經度等分各宮。如星紀宮的起點對應冬至點,等等。
中國古代為了認識星辰和觀測天象,把天上的恆星幾個幾個地組合在一起,每個組合給一個名稱。這樣的恆星組合稱為星官。各個星官所包含的星數多寡不等,少到一個,多到幾十個。所佔的天區范圍也各不相同。在眾多的星官中,有31個佔有很重要的地位,這就是三垣二十八宿。到唐代的《步天歌》中,三垣二十八宿發展成為中國古代的星空區劃體系,頗似現今天文學上的星座。 二十八宿中,各宿所包含的恆星都不止一顆,從每宿中選定一顆星作為精細測量天體坐標的標准,叫作這個宿的距星,下宿距星和本宿距星之間的赤經差(見天球坐標系),叫作本宿的赤道距度(簡稱距度)。赤道距度循赤經圈往黃道上的投影所截取的黃道度數叫作黃道距度。一個天體在某宿距星之東,並且和該宿距星之間的赤經差小於該宿距度的話,就稱為入該宿,這個赤經差就稱為該天體的入宿度,寫作「入×宿×度」。再配上該天體與天北極間的角距離──「去極度」,就成為中國古代的一對赤道坐標分量。距星選定之後,由於歲差的原因,各宿距度還在不斷變化。但是這種變化相當緩慢。西漢初的《淮南子·天文訓》中所列二十八宿距度數值如下:角:12度;亢:9度;氐:15度;房:5度;心:5度;尾:18度;箕:11姩度;斗:26度;牽牛:8度;須女:12度;虛:10度;危:17度;營室:16度;東壁:9度;奎:16度;婁:12度;胃:14度;昴:11度;畢:16度;觜觿:2度;參:9度;東井:33度;輿鬼:4度;柳:15度;七星:7度;張:18度;翼:18度;軫:17度。各宿距度的總和為365姩度。二十八宿的距度大小相差十分懸殊;最大的井宿達到33度,最小的觜宿只有2度。二十八宿的分布為何如此不均勻,是研究二十八宿起源尚未解決的問題。
二十八宿距星的選取,古今也不相同。漢以前存在一套與後世不同的二十八宿距星。1977年安徽省阜陽地區出土一件西漢初年的刻有二十八宿距度的圓形漆盤,其距度數值與漢以後的數值有很大差異。據研究,這是距星的選取與漢以後不同造成的,若把漢以後的距星稱為今距星,漢以前的距星稱為古距星,則可列表如: 把二十八宿按上表的次序分作四組,每組七宿,分別與四個地平方位、四種顏色、五種四組動物形象相匹配,叫作四象或四陸。它們之間的對應關系如下:東方蒼龍(或青龍),青色;北方玄武(即龜蛇),黑色;西方白虎,白色;南方朱鳥(或朱雀),紅色。
二十八宿與四方相配,是以古代春分前後初昏時的天象為依據的,這時正是朱鳥七宿在南方,蒼龍七宿在東方,玄武七宿在北方,白虎七宿在西方;四種顏色的相配,則與古代五行說有關。至於龍、龜蛇、虎、鳥匹配天象的由來,一種觀點認為是與原始部落的圖騰有關;另一種說法則認為可能與這些星座昏中時所代表的季節特徵有聯系。例如,南方七宿昏中是春季,而鳥可以被看作是春天的象徵等等。
1978年夏,湖北省隨縣發掘出戰國初年的古墓葬(年代定為公元前五世紀),其中有一件漆箱蓋,上面有二十八宿的名稱,還有與之相對應的青龍、白虎圖像。這不但把二十八宿出現的文獻記載時代提前了,而且證實四象與二十八宿相配的起源年代也是很早的。 在中國古代文獻記載中,二十八宿中的部分星宿出現較早。如春秋時期(公元前八至五世紀)的《詩經》、《夏小正》等書中,就有不少記載。此外,《尚書·堯典》中,有「四仲中星」的記載,即「日中星鳥,以殷仲春」,「日永星火,以正仲夏」,「宵中星虛,以殷仲秋」,「日短星昴,以正仲冬」。從所記天象來推算,「日中星鳥」即「七星」宿春分時昏中的時代,大約在公元前十二、三世紀,也就是殷末周初,因而有人認為二十八宿即產生於這個時代。但是,也有人認為少數星宿名的出現,並不能證明當時二十八宿的系統已建立起來。早期載有二十八宿的可靠文獻是《呂氏春秋》、《禮記·月令》、《周禮》等書,它們的時代最早的大約在戰國中期(公元前四世紀)。而從這些記載中的天象推算,則可提前到春秋中葉(公元前七世紀)。前述湖北省隨縣出土的二十八宿漆箱蓋的發現,則把文獻證據提前到公元前五世紀。
還有人認為,二十八宿在創立之初是沿赤道分布的。計算表明:二十八宿與天球赤道相吻合的年代距今約五千年前。這可認為是二十八宿體系創立時代的上限。而依據文獻、文物等證實的公元前五世紀,則應該看成是二十八宿創立時代的下限。 中國以外,古代的印度(古印度包括今日的巴基斯坦和孟加拉等地)、阿拉伯、伊朗、埃及等國,也都有類似中國的二十八宿體系。由於伊朗、阿拉伯、埃及等國的二十八宿出現時代較晚,而且與印度的二十八宿相似之處較多,所以一般都認為古代這些地區的二十八宿是從印度傳播去的。印度的二十八宿作月站(nakshatra,或音譯為納沙特拉)。有二十七宿與二十八宿兩種。二十七宿出現較早,並且一直以二十七宿為主,二十八宿是後來增加而成的。二十七宿加上「麥粒」(abhijit)一宿(其聯絡星為織女星),成為二十八宿。印度二十八宿以「剃刀」(krittica,即中國的昴宿)為起始宿,名稱如下:
印度二十八宿中,每宿也選定一顆亮星為代表,稱主序聯絡星(yogatara)。但是它並不起中國二十八宿距星的作用。每宿的劃分也不以主星為標准,而是由二十七宿來等分黃道度數,每宿平均佔13°20總和為360°。
關於二十八宿的起源地的問題,是起源於中國,還是起源於印度?尚無定論。
Ⅵ 層次分析中,軟體自動修正的矩陣不一致參數得到的一致性比率值可靠嗎
yaahp提供了最小改變演算法和最大改進方向演算法進行一致性的修正。前者是一種基於粒子群演算法的隨機優化演算法,後者是一種確定性演算法,並且yaahp默認設置下可以根據判斷矩陣不一致的特點自動選擇修正演算法。
Ⅶ 光學引導的agv小車可以加入控制修正演算法嗎
控制修正演算法主要在無反光板激光自主導航agv,光學導引用不到。
Ⅷ 機械優化設計作業,C語言 試用鮑威爾修正演算法求目標函數 F(X)=(X1)²+2(X2)²-4(X1)-2(X1)(X2
無非是用循環迭代,不斷更新估計值,還是自己寫吧
Ⅸ broyden演算法矩陣接近奇異值怎麼辦
請採納,謝謝!
Broyden秩1方法的計算格式提出一種修正演算法,嘗試利用矩陣的奇異值分解求解迭代方程組,並且配合使用加速技巧。
Ⅹ 常用的路由協議分為哪幾類並簡述這些路由協議的特點及主要工作原理
常用的路由協議分為RIP、IGRP(Cisco私有協議)、EIGRP(Cisco私有協議)、OSPF、IS-IS、BGP等。
1、RIP
特點:是動態路由協議,基於距離矢量演算法,利用跳數來作為計量標准。在帶寬、配置和管理方面要求較低,主要適合於規模較小的網路中。
原理:路由器運行RIP後,會首先發送路由更新請求,收到請求的路由器會發送自己的RIP路由進行響應;網路穩定後,路由器會周期性發送路由更新信息。當一個RIP更新報文到達時,接收方路由器和自己的RIP路由表中的每一項進行比較,並按照距離矢量路由演算法對自己的RIP路由表進行修正。
2、EIGRP
特點:能實現快速收斂。運行EIGRP的路由器存儲了鄰居的路由表,能夠快速適應網路中的變化;EIGRP發送部分更新而不是定期更新,且僅在路由路徑或者度量值發生變化時才發送;支持多種網路層協議;使用多播和單播;支持變長子網掩碼;無縫連接數據鏈路層協議和拓撲結構。
原理:結合了鏈路狀態和距離矢量型路由選擇協議的Cisco專用協議,採用彌散修正演算法(DUAL)來實現快速收斂,可以不發送定期的路由更新信息以減少帶寬的佔用。
3、OSPF
特點:OSPF 適合在大范圍的網路;組播觸發式更新;收斂速度快;以開銷作為度量值;OSPF協議的設計是為了避免路由環路。在使用最短路徑的演算法下,收到路由中的鏈路狀態,然後生成路徑,這樣不會產生環路。
原理:OSPF是兩個相鄰的路由器通過發報文的形式成為鄰居關系,鄰居再相互發送鏈路狀態信息形成鄰接關系,之後各自根據最短路徑演算法算出路由,放在OSPF路由表,OSPF路由與其他路由比較後優的加入全局路由表。
(10)修正演算法擴展閱讀:
路由協議的作用
主要運行於路由器上,路由選擇協議主要是運行在路由器上的協議,主要用來進行路徑選擇。它起到一個地圖導航,負責找路的作用。工作在網路層。
路由協議作為TCP/IP協議族中重要成員之一,其選路過程實現的好壞會影響整個Internet網路的效率