#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<<"請(qǐng)輸入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<<"請(qǐng)輸入b:"<<endl; for(int j=0;j<size;j++){ cout<<"第"<<j+1<<"個(gè):"<<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<<"計(jì)算U得:"<<endl; U.Disp(); cout<<"計(jì)算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; }
標(biāo)簽: 道理特分解法
上傳時(shí)間: 2018-05-20
上傳用戶:Aa123456789
# include<stdio.h> # include<math.h> # define N 3 main(){ float NF2(float *x,float *y); float A[N][N]={{10,-1,-2},{-1,10,-2},{-1,-1,5}}; float b[N]={7.2,8.3,4.2},sum=0; float x[N]= {0,0,0},y[N]={0},x0[N]={}; int i,j,n=0; for(i=0;i<N;i++) { x[i]=x0[i]; } for(n=0;;n++){ //計(jì)算下一個(gè)值 for(i=0;i<N;i++){ sum=0; for(j=0;j<N;j++){ if(j!=i){ sum=sum+A[i][j]*x[j]; } } y[i]=(1/A[i][i])*(b[i]-sum); //sum=0; } //判斷誤差大小 if(NF2(x,y)>0.01){ for(i=0;i<N;i++){ x[i]=y[i]; } } else break; } printf("經(jīng)過(guò)%d次雅可比迭代解出方程組的解:\n",n+1); for(i=0;i<N;i++){ printf("%f ",y[i]); } } //求兩個(gè)向量差的二范數(shù)函數(shù) float NF2(float *x,float *y){ int i; float z,sum1=0; for(i=0;i<N;i++){ sum1=sum1+pow(y[i]-x[i],2); } z=sqrt(sum1); return z; }
上傳時(shí)間: 2019-10-13
上傳用戶:大萌萌撒
function [R,k,b] = msc(A) % 多元散射校正 % 輸入待處理矩陣,通過(guò)多元散射校正,求得校正后的矩陣 %% 獲得矩陣行列數(shù) [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 %% 求得結(jié)果 for i = 1:n Ai = (A(:,i)-b(i))/k(i); if i == 1 R = Ai; else R = [R,Ai]; end end
上傳時(shí)間: 2020-03-12
上傳用戶:15275387185
P P I I CK I I T T3 3 使用 說(shuō)明--- - 連機(jī) 、 脫 機(jī)操作試用 MPLAB IDE 軟件一 、 P P I I C CK K I I T3 接 口說(shuō) 明, , 硬 件 二 、 P P I I C CK K I I T3 連 接 電腦 MPL L AB I I DE 聯(lián)機(jī)三 、 聯(lián)機(jī)四 、聯(lián)機(jī)讀芯片程序五 、 脫機(jī) 燒寫 調(diào)試
標(biāo)簽: kit3 聯(lián)機(jī) 脫機(jī)
上傳時(shí)間: 2022-03-24
上傳用戶:
這本書適合對(duì)8051稍有基礎(chǔ)的讀者閱讀。書中主要以“旗威科技”生產(chǎn)的FLAG51單片機(jī)控制板為描述主體,再配合其他的電路組合成一個(gè)典型的數(shù)字控制系統(tǒng)。本書共分為四大部分,分別探討到8051單片機(jī)的諸多經(jīng)典范例。第一部分談到8051的基本應(yīng)用范例與數(shù)字儀器的使用,以及軟硬件的排錯(cuò)技巧,這些都是8051進(jìn)階者所需具備的專業(yè)知識(shí)。當(dāng)我們要把8051單片機(jī)改成8052時(shí),你知道其中的差異嗎?這些不同點(diǎn)都在本書的第6章上提到。8051·的時(shí)序(Timing)研究則是硬件工程師另一項(xiàng)考驗(yàn),相同的線路經(jīng)過(guò)兩個(gè)硬件工程師的處理與安排后,可能會(huì)有完全不同的結(jié)果,其中的差異可能就是對(duì)時(shí)序的了解程度了,第7章里我們分別用示波器與邏輯分析儀說(shuō)明8051的重要時(shí)序,這可能是除了Intel原廠的資料外,對(duì)時(shí)序探討最透徹的中文文章了。第二部分提到一個(gè)以8051單片機(jī)為基礎(chǔ)的控制板FLAG51是如何被開發(fā)出來(lái)的,從構(gòu)想到整合是一連串設(shè)計(jì)的組合。接下來(lái)我們以FLAG51控制板為主體,陸續(xù)開發(fā)了I/O監(jiān)視板、七段顯示板、數(shù)字隔離輸入板與RELAY輸出板等等,這些控制板的設(shè)計(jì)與開發(fā)的歷程都一并記錄在書中。第三部分為溫濕度制作的專題報(bào)告,我們利用AT89C2051去制作溫度計(jì)與濕度計(jì),這方面的測(cè)量雖是屬感測(cè)器的范疇,但是控制與顯示的主體卻是8051的匯編語(yǔ)言程序,我們認(rèn)為所有8051的進(jìn)階者都要經(jīng)過(guò)類似的考驗(yàn),方能堂堂正正進(jìn)入單片機(jī)的設(shè)計(jì)主流群體當(dāng)中。第四部分為8051串行通信RS485的徹底研究。許多儀器或設(shè)備都有RS485通信接口,只通過(guò)兩條對(duì)絞線就可以控制多達(dá)32臺(tái)設(shè)備。本書的這部分即做這方面技術(shù)與程序上的探討,懂得這方面的知識(shí)后,你絕對(duì)會(huì)對(duì)8051另眼相看的。更多相關(guān)內(nèi)容已全部上傳:8051單片機(jī)徹底研究-基礎(chǔ)篇:http://dl.21ic.com/download/8051-330965.html 8051單片機(jī)徹底研究-經(jīng)驗(yàn)篇:http://dl.21ic.com/download/8051-330966.html 8051單片機(jī)徹底研究-入門篇:http://dl.21ic.com/download/8051-330967.html 8051單片機(jī)徹底研究-實(shí)習(xí)篇:http://dl.21ic.com/download/8051-330969.html 8051單片機(jī)C語(yǔ)言軟件設(shè)計(jì)的藝術(shù):http://dl.21ic.com/download/8051-330970.html
上傳時(shí)間: 2022-06-25
上傳用戶:
VIP專區(qū)-嵌入式/單片機(jī)編程源碼精選合集系列(5)資源包含以下內(nèi)容:1. 嵌入式數(shù)據(jù)庫(kù)系統(tǒng).2. 一個(gè)演示實(shí)時(shí)多任務(wù)系統(tǒng)運(yùn)行的仿真程序源碼.3. 偉福仿真器軟件使用.4. 一個(gè)完美的門禁考勤系統(tǒng)數(shù)據(jù)存儲(chǔ)方案.5. 華邦CPU編程器仿真器設(shè)計(jì).6. 給大家發(fā)一個(gè)44b0x開發(fā)板的源代碼.7. 一個(gè)s3c44b0上的啟動(dòng)兼測(cè)試程序.8. s3c44b0的一個(gè)bios源程序.9. DVB I2C讀寫驅(qū)動(dòng)程序.10. 一種QPSK調(diào)制解調(diào)算法的誤碼率仿真.11. 嵌入式可編程器件CPLD的典型實(shí)例 壓縮包.12. 外部中斷INT0模擬1200bps串口通訊。一次MCU可以可以接收并通過(guò)MCU向下位機(jī)發(fā)送30個(gè)字節(jié)。.13. 老外個(gè)人做的MP3/優(yōu)盤。使用ATMEL MEGA系列的MCU.14. 關(guān)于PS/2和USB鍵盤、鼠標(biāo)的各種掃描碼的資料。.15. TMS320F240 DSK板原理圖.16. 本文從理論上推導(dǎo)出CRC 算法實(shí)現(xiàn)原理.17. 一個(gè)TCPIP應(yīng)用于MSP430的源程序.18. 8位LED顯示芯片7219的C原程序.19. 嵌人式系統(tǒng)編程學(xué)習(xí).20. sonix 常用mcu的硬件資料.21. D1302充電程序.22. 對(duì)24C02的讀、寫.23. 嵌入式瀏覽器Dillo源碼.24. 手寫識(shí)別Chinput源碼.25. 嵌入式設(shè)計(jì)應(yīng)用范例系列一。.26. 基于PPC的BootLoader.27. 數(shù)模轉(zhuǎn)換程序.28. 串行打印機(jī)程序!.29. 下載用上位機(jī)程序.30. LCD點(diǎn)陣12864 C語(yǔ)言.31. 用c寫的液晶驅(qū)動(dòng).32. EMBEDDED SOFTWARE DEVELOPMENT WITH ECOS.33. Nucleus PLUS源碼分析.34. 44bx中文手冊(cè).35. bsp基本概念.36. FAT32文件系統(tǒng)詳細(xì)介紹.37. Flash文件系統(tǒng)實(shí)現(xiàn)論文.38. i.MX開發(fā)板原理圖.39. Linux MTD源代碼分析.40. ULIP及vxsim網(wǎng)絡(luò)仿真的實(shí)現(xiàn).
上傳時(shí)間: 2013-07-19
上傳用戶:eeworm
利用此源碼可以使用ALTERA DE2開發(fā)板將鍵盤變成一部電子琴
上傳時(shí)間: 2016-03-23
上傳用戶:cc1015285075
ALTERA DE2開發(fā)板一個(gè)網(wǎng)路晶片DM9000A的應(yīng)用範(fàn)例 並將一個(gè)網(wǎng)頁(yè)嵌入到DE2開發(fā)板中
標(biāo)簽: DE2 ALTERA 9000A 9000
上傳時(shí)間: 2014-12-01
上傳用戶:zhliu007
主要是用於arm s3c4510的開發(fā)板,我寫了一個(gè)7段顯示器與relocation記憶體搬移的程式希望大家喜歡
上傳時(shí)間: 2015-09-08
上傳用戶:R50974
三星2410,廣州友善之臂開發(fā)板附帶的linux下的硬盤IDE驅(qū)動(dòng).
上傳時(shí)間: 2014-11-22
上傳用戶:jennyzai
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1