【問題描述】 在一個N*N的點陣中,如N=4,你現(xiàn)在站在(1,1),出口在(4,4)。你可以通過上、下、左、右四種移動方法,在迷宮內(nèi)行走,但是同一個位置不可以訪問兩次,亦不可以越界。表格最上面的一行加黑數(shù)字A[1..4]分別表示迷宮第I列中需要訪問并僅可以訪問的格子數(shù)。右邊一行加下劃線數(shù)字B[1..4]則表示迷宮第I行需要訪問并僅可以訪問的格子數(shù)。如圖中帶括號紅色數(shù)字就是一條符合條件的路線。 給定N,A[1..N] B[1..N]。輸出一條符合條件的路線,若無解,輸出NO ANSWER。(使用U,D,L,R分別表示上、下、左、右。) 2 2 1 2 (4,4) 1 (2,3) (3,3) (4,3) 3 (1,2) (2,2) 2 (1,1) 1 【輸入格式】 第一行是數(shù)m (n < 6 )。第二行有n個數(shù),表示a[1]..a[n]。第三行有n個數(shù),表示b[1]..b[n]。 【輸出格式】 僅有一行。若有解則輸出一條可行路線,否則輸出“NO ANSWER”。
標簽: 點陣
上傳時間: 2014-06-21
上傳用戶:llandlu
實驗源代碼 //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("請輸入矩陣的行數(shù) i: "); scanf("%d",&k); 四川大學實驗報告 printf("請輸入矩陣的列數(shù) 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<<"正在析構(gòu)中~~~~"<<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
萬用表測量技巧用萬用表檢測彩色電視機開關電源
標簽: 萬用表
上傳時間: 2021-11-27
上傳用戶:
新型智慧驅(qū)動器可簡化開關電源隔離拓樸結(jié)構(gòu)中同步整流器
上傳時間: 2013-06-05
上傳用戶:eeworm
永磁同步發(fā)電機由于一系列高效節(jié)能的優(yōu)點,在工農(nóng)業(yè)生產(chǎn)、航空航天、國防和日常生活中得到廣泛應用,并且受到許多學者的關注,其研究領域主要涉及永磁同步發(fā)電機的設計、精確性能分析、控制等方面。 本課題作為國家自然科學基金項目《無刷無勵磁機諧波勵磁的混合勵磁永磁電機的研究》的課題,主要研究永磁電機的電磁場空載和負載計算,求出永磁電機的電壓波形和電壓調(diào)整率,為分段式轉(zhuǎn)子的混合勵磁永磁電機的研究奠定基礎,主要做了以下工作: 首先介紹了永磁同步發(fā)電機的基本原理,包括永磁同步發(fā)電機的結(jié)構(gòu)形式和永磁同步發(fā)電機的運行性能,采用傳統(tǒng)解析理論給出了電壓調(diào)整率的計算方法及外特性的計算模型;然后用有限元ANSYS對永磁同步發(fā)電機樣機進行實體建模,經(jīng)過定義分配材料、劃分網(wǎng)格、加邊界條件和載荷、求解計算等,得到矢量磁位Az、磁場強度H、磁感應強度B等結(jié)果,直觀地看出電機內(nèi)部的磁場分布情況。 其次根據(jù)電磁場計算結(jié)果,應用齒磁通法對其進行后處理。該方法求解轉(zhuǎn)子在一個齒距內(nèi)不同位置處的磁場,以定子齒的磁通為計算單位,根據(jù)繞組與齒的匝鏈關系,計算出磁鏈隨時間的變化,進而得到永磁同步發(fā)電機空、負載時電壓大小及波形。通過計算結(jié)果寫實驗結(jié)果對比,驗證了齒磁通法的正確性,為計算永磁同步發(fā)電機各種性能特性提供有力工具。 最后,基于齒磁通法對永磁同步發(fā)電機的外特性進行了深入研究,定量分析了結(jié)構(gòu)參數(shù)對外特性的影響規(guī)律,提出了有效降低電壓調(diào)整率的方法的是:增加氣隙長度g的同時,適當增加永磁體的磁化方向的長度hm;此外,要盡量的減少每相串聯(lián)匝數(shù)N和增大導線面積以減小阻抗參數(shù)。通過改變電機的結(jié)構(gòu)參數(shù),對其電磁場進行計算,找到永磁電機電壓調(diào)整率的變化規(guī)律,為加電勵磁的混合勵磁永磁電機做準備,達到穩(wěn)定輸出電壓的目的。
上傳時間: 2013-04-24
上傳用戶:15853744528
本文分析了永磁同步直線電動機的運行機理與運行特性,并通過坐標變換,分別得出了電機在a—b—c,α—β、d—q坐標系下的數(shù)學模型。針對永磁同步直線電機模型的非線性與耦合特性,采用了次級磁場定向的矢量控制,并使id=0,不但解決了上述問題,還實現(xiàn)了最大推力電流比控制。為了獲得平穩(wěn)的推力,采用了SVPWM控制,并對它算法實現(xiàn)進行了研究。 針對速度環(huán)采用傳統(tǒng)PID控制難以滿足高性能矢量控制系統(tǒng),通過對傳統(tǒng)PID控制和模糊控制理論的研究,將兩者相結(jié)合,設計出能夠在線自整定的模糊PID控制器。將該控制器代替?zhèn)鹘y(tǒng)的PID控制器應用于速度環(huán),以提高系統(tǒng)的動靜態(tài)性能。 在以上分析的基礎上,設計了永磁同步直線電機矢量控制系統(tǒng)的軟、硬件。其中電流檢測采用了新穎的電流傳感器芯片IR2175,以解決溫漂問題;速度檢測采用了增量式光柵尺,設計了與DSP的接口電路,通過M/T法實現(xiàn)對電機的測速。最后在Matlab/Simlink下建立了電機及其矢量控制系統(tǒng)的仿真模型,并對分別采用傳統(tǒng)PID速度控制器和模糊PID速度控制器的系統(tǒng)進行仿真,結(jié)果表明采用模糊PID控制具有更好的動態(tài)響應性能,能有效的抑制暫態(tài)和穩(wěn)態(tài)下的推力脈動,對于負載擾動具有較強的魯棒性。
上傳時間: 2013-07-04
上傳用戶:13681659100
在現(xiàn)代交流伺服系統(tǒng)中,矢量控制原理以及空間電壓矢量脈寬調(diào)制(SVPWM)技術使得交流電機能夠獲得和直流電機相媲美的性能。永磁同步電機(PMSM)是一個復雜耦合的非線性系統(tǒng)。本文在Matlab/Simulink環(huán)境下,通過對PMSM本體、d/q坐標系向a/b/c坐標系轉(zhuǎn)換等模塊的建立與組合,構(gòu)建了永磁同步電機控制系統(tǒng)仿真模型。仿真結(jié)果證明了該系統(tǒng)模型的有效性。
標簽: MatlabSimulink PMSM 永磁同步電機
上傳時間: 2013-04-24
上傳用戶:liansi
使用FPGA設計WiMax接收機之OFDM同步硬體電路(內(nèi)附VHDL code)
上傳時間: 2016-01-22
上傳用戶:zhuyibin
A服務器和B服務器同步,還包括添加刪除修改的觸發(fā)器
上傳時間: 2017-09-15
上傳用戶:671145514