Floyd-Warshall算法描述 1)適用范圍: a)APSP(All Pairs Shortest Paths) b)稠密圖效果最佳 c)邊權可正可負 2)算法描述: a)初始化:dis[u,v]=w[u,v] b)For k:=1 to n For i:=1 to n For j:=1 to n If dis[i,j]>dis[i,k]+dis[k,j] Then Dis[I,j]:=dis[I,k]+dis[k,j] c)算法結束:dis即為所有點對的最短路徑矩陣 3)算法小結:此算法簡單有效,由于三重循環結構緊湊,對于稠密圖,效率要高于執行|V|次Dijkstra算法。時間復雜度O(n^3)。 考慮下列變形:如(I,j)∈E則dis[I,j]初始為1,else初始為0,這樣的Floyd算法最后的最短路徑矩陣即成為一個判斷I,j是否有通路的矩陣。更簡單的,我們可以把dis設成boolean類型,則每次可以用“dis[I,j]:=dis[I,j]or(dis[I,k]and dis[k,j])”來代替算法描述中的藍色部分,可以更直觀地得到I,j的連通情況。
標簽: Floyd-Warshall Shortest Pairs Paths
上傳時間: 2013-12-01
上傳用戶:dyctj
給定n個矩陣{A1,A2,…,An},其中Ai與Ai+1是可乘的,i=1,2,…,n-1。考察這n個矩陣的連乘積A1A2…An。由于矩陣乘法滿足結合律,故計算矩陣的連乘積可以有許多不同的計算次序,這種計算次序可以用加括號的方式來確定。若一個矩陣連乘積的計算次序完全確定,則可以依此次序反復調用2個矩陣相乘的標準算法(有改進的方法,這里不考慮)計算出矩陣連乘積。若A是一個p×q矩陣,B是一個q×r矩陣,則計算其乘積C=AB的標準算法中,需要進行pqr次數乘。
上傳時間: 2016-06-18
上傳用戶:hjshhyy
K-MEANS算法 輸入:聚類個數k,以及包含 n個數據對象的數據庫。 輸出:滿足方差最小標準的k個聚類。 處理流程: (1) 從 n個數據對象任意選擇 k 個對象作為初始聚類中心; (2) 循環(3)到(4)直到每個聚類不再發生變化為止 (3) 根據每個聚類對象的均值(中心對象),計算每個對象與這些中心對象的距離;并根據最小距離重新對相應對象進行劃分; (4) 重新計算每個(有變化)聚類的均值(中心對象)
上傳時間: 2013-12-20
上傳用戶:chenjjer
題目:加密軟件 要求:(1)輸入任意一段明文M,以及密鑰K (2)根據一下公式將其轉換為密文C。 Ci = mi + K ,其中i = 0,1,……n-1 , K 為密鑰; (3)具有輸入輸出界面。
上傳時間: 2013-11-25
上傳用戶:shawvi
k個位子,n個元素填充,每個位置上數字可重復。例程為一簡潔的遞歸算法,顯示所有可能的組合
標簽:
上傳時間: 2017-09-01
上傳用戶:181992417
實驗源代碼 //Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("請輸入矩陣第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可傳遞閉包關系矩陣是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元關系的可傳遞閉包\n"); void warshall(int,int); int k , n; printf("請輸入矩陣的行數 i: "); scanf("%d",&k); 四川大學實驗報告 printf("請輸入矩陣的列數 j: "); scanf("%d",&n); warshall(k,n); }
上傳時間: 2016-06-27
上傳用戶:梁雪文以
#include "iostream" using namespace std; class Matrix { private: double** A; //矩陣A double *b; //向量b public: int size; Matrix(int ); ~Matrix(); friend double* Dooli(Matrix& ); void Input(); void Disp(); }; Matrix::Matrix(int x) { size=x; //為向量b分配空間并初始化為0 b=new double [x]; for(int j=0;j<x;j++) b[j]=0; //為向量A分配空間并初始化為0 A=new double* [x]; for(int i=0;i<x;i++) A[i]=new double [x]; for(int m=0;m<x;m++) for(int n=0;n<x;n++) A[m][n]=0; } Matrix::~Matrix() { cout<<"正在析構中~~~~"<<endl; delete b; for(int i=0;i<size;i++) delete A[i]; delete A; } void Matrix::Disp() { for(int i=0;i<size;i++) { for(int j=0;j<size;j++) cout<<A[i][j]<<" "; cout<<endl; } } void Matrix::Input() { cout<<"請輸入A:"<<endl; for(int i=0;i<size;i++) for(int j=0;j<size;j++){ cout<<"第"<<i+1<<"行"<<"第"<<j+1<<"列:"<<endl; cin>>A[i][j]; } cout<<"請輸入b:"<<endl; for(int j=0;j<size;j++){ cout<<"第"<<j+1<<"個:"<<endl; cin>>b[j]; } } double* Dooli(Matrix& A) { double *Xn=new double [A.size]; Matrix L(A.size),U(A.size); //分別求得U,L的第一行與第一列 for(int i=0;i<A.size;i++) U.A[0][i]=A.A[0][i]; for(int j=1;j<A.size;j++) L.A[j][0]=A.A[j][0]/U.A[0][0]; //分別求得U,L的第r行,第r列 double temp1=0,temp2=0; for(int r=1;r<A.size;r++){ //U for(int i=r;i<A.size;i++){ for(int k=0;k<r-1;k++) temp1=temp1+L.A[r][k]*U.A[k][i]; U.A[r][i]=A.A[r][i]-temp1; } //L for(int i=r+1;i<A.size;i++){ for(int k=0;k<r-1;k++) temp2=temp2+L.A[i][k]*U.A[k][r]; L.A[i][r]=(A.A[i][r]-temp2)/U.A[r][r]; } } cout<<"計算U得:"<<endl; U.Disp(); cout<<"計算L的:"<<endl; L.Disp(); double *Y=new double [A.size]; Y[0]=A.b[0]; for(int i=1;i<A.size;i++ ){ double temp3=0; for(int k=0;k<i-1;k++) temp3=temp3+L.A[i][k]*Y[k]; Y[i]=A.b[i]-temp3; } Xn[A.size-1]=Y[A.size-1]/U.A[A.size-1][A.size-1]; for(int i=A.size-1;i>=0;i--){ double temp4=0; for(int k=i+1;k<A.size;k++) temp4=temp4+U.A[i][k]*Xn[k]; Xn[i]=(Y[i]-temp4)/U.A[i][i]; } return Xn; } int main() { Matrix B(4); B.Input(); double *X; X=Dooli(B); cout<<"~~~~解得:"<<endl; for(int i=0;i<B.size;i++) cout<<"X["<<i<<"]:"<<X[i]<<" "; cout<<endl<<"呵呵呵呵呵"; return 0; }
標簽: 道理特分解法
上傳時間: 2018-05-20
上傳用戶:Aa123456789
function [alpha,N,U]=youxianchafen2(r1,r2,up,under,num,deta) %[alpha,N,U]=youxianchafen2(a,r1,r2,up,under,num,deta) %該函數用有限差分法求解有兩種介質的正方形區域的二維拉普拉斯方程的數值解 %函數返回迭代因子、迭代次數以及迭代完成后所求區域內網格節點處的值 %a為正方形求解區域的邊長 %r1,r2分別表示兩種介質的電導率 %up,under分別為上下邊界值 %num表示將區域每邊的網格剖分個數 %deta為迭代過程中所允許的相對誤差限 n=num+1; %每邊節點數 U(n,n)=0; %節點處數值矩陣 N=0; %迭代次數初值 alpha=2/(1+sin(pi/num));%超松弛迭代因子 k=r1/r2; %兩介質電導率之比 U(1,1:n)=up; %求解區域上邊界第一類邊界條件 U(n,1:n)=under; %求解區域下邊界第一類邊界條件 U(2:num,1)=0;U(2:num,n)=0; for i=2:num U(i,2:num)=up-(up-under)/num*(i-1);%采用線性賦值對上下邊界之間的節點賦迭代初值 end G=1; while G>0 %迭代條件:不滿足相對誤差限要求的節點數目G不為零 Un=U; %完成第n次迭代后所有節點處的值 G=0; %每完成一次迭代將不滿足相對誤差限要求的節點數目歸零 for j=1:n for i=2:num U1=U(i,j); %第n次迭代時網格節點處的值 if j==1 %第n+1次迭代左邊界第二類邊界條件 U(i,j)=1/4*(2*U(i,j+1)+U(i-1,j)+U(i+1,j)); end if (j>1)&&(j U2=1/4*(U(i,j+1)+ U(i-1,j)+ U(i,j-1)+ U(i+1,j)); U(i,j)=U1+alpha*(U2-U1); %引入超松弛迭代因子后的網格節點處的值 end if i==n+1-j %第n+1次迭代兩介質分界面(與網格對角線重合)第二類邊界條件 U(i,j)=1/4*(2/(1+k)*(U(i,j+1)+U(i+1,j))+2*k/(1+k)*(U(i-1,j)+U(i,j-1))); end if j==n %第n+1次迭代右邊界第二類邊界條件 U(i,n)=1/4*(2*U(i,j-1)+U(i-1,j)+U(i+1,j)); end end end N=N+1 %顯示迭代次數 Un1=U; %完成第n+1次迭代后所有節點處的值 err=abs((Un1-Un)./Un1);%第n+1次迭代與第n次迭代所有節點值的相對誤差 err(1,1:n)=0; %上邊界節點相對誤差置零 err(n,1:n)=0; %下邊界節點相對誤差置零 G=sum(sum(err>deta))%顯示每次迭代后不滿足相對誤差限要求的節點數目G end
標簽: 有限差分
上傳時間: 2018-07-13
上傳用戶:Kemin
產品型號:HT9B92 產品品牌:HOLTEK/合泰 封裝形式:TSSOP48/LQFP48 產品年份:新年份 原廠直銷,工程服務,技術支持,價格更具優勢! RAM 映射 36×4 LCD 顯示驅動器 概述 HT9B92 是一款存儲器映射和多功能LCD控制驅動芯片。該芯片顯示模式有144 點(36×4 )。 HT9B92 軟件配置特性使得它適用于多種LCD應用,包括LCD 模塊和顯示子系統。HT9B92 通過雙線雙向 I2C 接口與大多數微處理器/ 微控制器進行通信。 功能特點 ● 工作電壓:2.4V~5.5V ● 內部集成振蕩電路 ● Bias: 1/2 or 1/3; Duty: 1/4 ● 帶電壓跟隨器的內部LCD 偏置發生器 ● 提供VLCD 引腳來調整LCD 工作電壓 ● I2C接口 ● 可選 LCD 幀頻率 ● 多達36×4 位RAM 用來存儲顯示數據 ● 最大顯示模式36×4:36 SEGs 和4 COMs ● 多種閃爍模式:不閃爍,0.5Hz,1Hz,2Hz ● 寫地址自動增加 ● 低功耗省電模式 ● 采用硅柵極CMOS 制造工藝 ● 封裝類型:48-pin TSSOP/LQFP ● 市面可兼容型號:元泰VINTEK:VKL44A TSSOP48封裝,VKL144B QFN48(6MM*6MM)封裝,VKL128 LQFP44封裝,VKL060 SSOP24封裝 ------ 同種腳位可以任意切換,少腳位更具性價比高,方便設計等特點。 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 產品型號:VKL144A 產品品牌:VINTEK/元泰 封裝形式:TSSOP48 產品年份:新年份 原廠直銷,工程服務,技術支持,價格更具優勢! 超低功耗液晶LCD顯示驅動芯片 概述 VKL144A是一款性能優越的字段式液晶顯示驅動芯片,由于其驅動段位多達144段和超低功耗的工藝設計特點。還具有性能穩定和低價格優勢、供貨穩定,目前被業界廣泛應用在眾多的儀器儀表的產品上。比如手持式儀表、費率表、工控儀表、醫療儀器、專用測量儀表頭等等設備上使用 功能特點 ● 液晶驅動輸出: Common 輸出4線 Segment 輸出36線 ● 內置Display data RAM (DDRAM) 內置RAM容量:36*4 =144 bit ● 液晶驅動的電源電路 1/2 ,1/3 Bias ,1/4 Duty 內置Buffer AMP I2C串行接口(SCL, SDA) ● 內置振蕩電路 ● 不需要外圍部件 ● 低功耗設計 ● 搭載等待模式 ● 內置Power-on Reset電路 ● 搭載閃爍功能 ● 工作電源電壓: 2.5-5.5V ★應用推薦: 各種費率表,電表、水表、氣表、熱表、各種計量專用表頭。 ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●● 產品型號:VKL144B 產品品牌:VINTEK/元泰 封裝形式:QFN48L(6MM*6MM) 產品年份:新年份 原廠直銷,工程服務,技術支持,價格更具優勢! 超低功耗液晶LCD顯示驅動芯片 概述 VKL144B是一款性能優越的字段式液晶顯示驅動芯片,由于其驅動段位多達144段和超低功耗的工藝設計特點。還具有性能穩定和低價格優勢、供貨穩定,目前被業界廣泛應用在眾多的儀器儀表的產品上。比如手持式儀表、費率表、工控儀表、醫療儀器、專用測量儀表頭等等設備上使用 功能特點 ● 液晶驅動輸出: Common 輸出4線 Segment 輸出36線 ● 內置Display data RAM (DDRAM) 內置RAM容量:36*4 =144 bit ● 液晶驅動的電源電路 1/2 ,1/3 Bias ,1/4 Duty 內置Buffer AMP I2C串行接口(SCL, SDA) ● 內置振蕩電路 ● 不需要外圍部件 ● 低功耗設計 ● 搭載等待模式 ● 內置Power-on Reset電路 ● 搭載閃爍功能 ● 工作電源電壓: 2.5-5.5V ★應用推薦: 各種費率表,電表、水表、氣表、熱表、各種計量專用表頭。 HOLTEK合泰全系列產品 芯片介紹如下: 一.LCD液晶顯示驅動控制器 HT1620 HT1620G HT1621 HT1621B HT1621G HT1622 HT1622G HT1623 HT1625 HT1626 HT16C21 HT16C22 HT16C23 HT16C24 HT1620 HT16220 HT1647 HT1650 HT1660 HT1670 HT16K23 HT9B92 HT9B92G HT9B95A HT9B95B HT9B95C HT16LK24 HT16L21 HT16L23 HT1611C HT1613C HT1616C (全部封裝、規格形式 均有海量現貨!) 二:LED/VFD控制、驅動器 HT16506 HT16511 HT16512 HT16515 HT16514 HT16561 HT16562 HT16565 HT16566 HT16523 HT16525 HT1632C HT16K33 HT16K33 HT16528-001 HT16528-002 HT16528-003 (全部封裝、規格形式 均有海量現貨!) 三.Touch Key觸摸按鍵電路/ I/O Flash MCU BS801B/C BS802B/C BS804B/C BS804B/C BS806B/C BS808B/C BS812A-1 BS813A-1 BS814A-1 BS814A-2 BS816A-1 BS818A-2 BS8112A-3 BS8116A-3 BS83A02A-4 BS83A04A-3 BS83A04A-4 BS83B04A-4 BS83B08A-3 BS83B08A-4 BS83B12A-3 BS83B12A-4 (全部封裝、規格形式 均有海量現貨!) 四.HT7XXX全系列 微功耗LDO HT1015-1 HT71xx-1 HT71xx-2 HT71xx-3 HT71xx-3 HT75xx-1 HT75xx-2 HT75xx-3 HT73xx HT72xx HT78xx Power management(電源LDO穩壓管理IC) HT71**為30MA穩壓芯片 產品:HT7130,HT7133,HT7136,HT7144,HT7150 HT75**為100MA穩壓芯片 產品:HT7530,HT7533,HT7536,HT7544,HT7550 HT73**為300MA穩壓芯片 產品:HT7318,HT7325,HT7327,HT7330,HT7333,HT7335,HT7350 HT70**為電壓檢測芯片 產品:HT7022,HT7024,HT7027,HT7033,HT7039,HT7044,HT7050 HT77::為升壓DC-DC芯片 產品:HT7727,HT7730,HT7733,HT7737,HT7750 LDO與探測器和數據收發:HT71DXX 高電源抑制比300mA雙LDO穩壓器:HT72Dxxxx 高電源抑制比300mA LDO穩壓器:HT72BXX 高電源抑制比 150mA LDO穩壓器:HT75BXX 高電源抑制比 500mA LDO穩壓器:HT78BXX 3SOT89 T/R 電壓檢測器系列(小功率):HT70xxA-1 HT70xxA-2 HT70xxA-3 PFM升壓DC-DC變換器:HT77xx HT77xxA HT77S10 HT77S11 PFM同步升壓直流/直流轉換器:HT77xxS HT77xxSA LED照明驅動:HT7L4811 HT7L4091 HT7L4091 HT7L2102 HT7L2103 HT7L2103 白光LED背光驅動:HT7936 HT7937 HT7938 HT7938A HT7939 HT7943 HT7945 降壓直流-直流轉換器:HT7465 HT7466 AC/DC PWM變換器:HT7A3942 HT7A6002 HT7A6003 HT7A4016 充電泵直流/直流轉換器:HT7660 (全部封裝、規格形式 均有海量現貨!) 五:時鐘IC及其他消費類IC HT1380 HT1380A HT1381 HT1381A HT1382 HT9200A HT9170 HT9172 HT9032 HT8970 HT9247 HT82V731 HT82V736 HT6221 HT6222 HT62104 HT12A\E HT12D\F (全部封裝、規格形式 均有海量現貨!) 六.電可擦除只讀存儲器 HT2201 HT24LC02 HT24LC02A HT24LC04 HT24LC08 HT24LC16 HT24LC32 HT24LC64 HT24LC128 HT24LC256 HT93LC46 HT93LC66 HT93LC86 (全部封裝、規格形式 均有海量現貨!) 七.各類編碼/射頻/解碼器 HT12D HT12E HT12F HT6010 HT6012 HT6014 HT6026 HT6030 HT6032 HT6034 HT600 HT604L HT6207 HT680 HT6P20B HT6P20D HT6P40B2 HT6P40C2 HT6P40D2 HT6P40E2 HT6P40B2T3 HT6P40C2T3 HT6P40D2T3 HT6P40E2T3 HT6P423A HT6P423A HT6P427A HT6P433A HT6P437A HT12C2T3 HT12C2T4 HT12E2T3 HT12E2T4 HT12E2T4 HT16C2T3 HT16C2T4 HT16E2T3 HT16E2T4 HT16G2T3 HT16G2T4 HT9831 HT7610A HT7611A/B HT7612 HT7612B (全部封裝、規格形式 均有海量現貨!) 八.MCU(微控IC) HT48 系列 應用于遙控,電扇/電燈控制,洗衣機控制,電子秤,玩具及各種系統控制. 產品:HT48R05,HT48R06,HT48R30,HT48R50 HT49系列 應用于多種LCD DI低功耗應用,如電子秤,休閑產品,高階的家用電器 產品:HT49R30,HT49R50 HT46帶A/D系列 適用于充電器控制,電磁爐等 產品:HT46R47,HT46R22,HT46R23,HT46R24,HT46R51 HT46帶A/D及LCD系列 適用于洗衣機控制器,相機控制器和帶LCD顯示的家用電器系列 產品:HT46R62,HT46R63,HT46R64 HT48RA系列適用于紅外遙控器以及各種電子系統的控制器 (全部封裝、規格形式 均有海量現貨!) 九.放大器/音頻放大器 /DA轉換器 HT9231 HT9232 HT9234 HT9251 HT9252 HT9254 HT9274 HT9291 HT9292 HT9294 HT82V732 HT82V733 HT82V735 HT82V736 HT82V736 HT82V739 HT82V73 HT82V731 HT82V737 HT82V738 (全部封裝、規格形式 均有海量現貨!) 十.音調IC/發生器 /接收器 HT9200A HT9200B HT9170B HT9170D HT9172 HT8970 HT8972 (全部封裝、規格形式 均有海量現貨!) IC型號眾多,未能一一收錄。 芯片主要應用領域如下: ★顯示模塊:電子秤、無線麥克風、錄音筆、影音多媒體、小家電周邊 ★家電類:電風扇、電飯煲、玩具、冷氣機、暖風機、空調扇、飲水機、抽油煙機、消毒柜、電熱水器、面包機、豆漿機、咖啡壺、電冰箱、洗衣機控制器、空調控制板等。 ★通訊類:來電顯示電話、無繩電話、IC電話、投幣電話、對講機等 ★玩具游戲類:無線遙控車、PS游戲機、跳舞毯、方向盤、手柄、電子槍、PS開機IC等。 ★計算機周邊:顯示器控制、PC-MOUSE、單/雙滾、遙控MOUSE、鍵盤、手寫板等。 ★智能卡類:IC卡煤氣表、電能表、水表、IC讀寫器、IC卡門禁系統等。 ★汽車及防盜類:機車防盜器、********器、汽車天線控制器、里程表、汽車日歷等。 ★醫用保健類:電子針灸器、甩脂機、智能體溫計、LCD顯示血壓計、跑步機、按摩器、按摩墊、按摩椅 等。 ★儀表類:電壓表、瓦斯表、電池電壓檢測器、頻率計、計數器、電度表、水位檢測器等。 ★其它類:充電器、照相機、電子萬年鐘、自動給皂機、路燈控制器、呼叫服務器等
標簽: TSSOP B92 HT9 LCD HT 9B 92 48 合泰 液晶驅動
上傳時間: 2018-12-07
上傳用戶:shubashushi66
function [R,k,b] = msc(A) % 多元散射校正 % 輸入待處理矩陣,通過多元散射校正,求得校正后的矩陣 %% 獲得矩陣行列數 [m,n] = size(A); %% 求平均光譜 M = mean(A,2); %% 利用最小二乘法求每一列的斜率k和截距b for i = 1:n a = polyfit(M,A(:,i),1); if i == 1 k = a(1); b = a(2); else k = [k,a(1)]; b = [b,a(2)]; end end %% 求得結果 for i = 1:n Ai = (A(:,i)-b(i))/k(i); if i == 1 R = Ai; else R = [R,Ai]; end end
上傳時間: 2020-03-12
上傳用戶:15275387185