这是一本国外经典的数值分析书籍。建议大家看看,很好懂,参考价值很高,里面有代码,直接应用就可以。
上传时间: 2017-07-10
上传用户:lx9076
【问题描述】 在一个N*N的点阵中,如N=4,你现在站在(1,1),出口在(4,4)。你可以通过上、下、左、右四种移动方法,在迷宫内行走,但是同一个位置不可以访问两次,亦不可以越界。表格最上面的一行加黑数字A[1..4]分别表示迷宫第I列中需要访问并仅可以访问的格子数。右边一行加下划线数字B[1..4]则表示迷宫第I行需要访问并仅可以访问的格子数。如图中带括号红色数字就是一条符合条件的路线。 给定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 【输入格式】 第一行是数m (n < 6 )。第二行有n个数,表示a[1]..a[n]。第三行有n个数,表示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("请输入矩阵的行数 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
锂离子电池是1990年后逐渐发展起来的新一代电池,锂电池较传统的镍镉、镍氢等电池在很多方面具有优势,例如工作电压高、质量轻、能量密度大、体积小、自放电率小、无记忆效应、循环寿命长等特点,因此,锂电池作为主要能源在笔记本、手机等便携式电子设备上的应用已非常普及。如今,新面市的磷酸铁锂电池拥有非常好的市场前景,因其具有优良的电池性能。但是,如何准确检测电池的剩余电量一直是一个值得研究的问题,因其只能间接测量,不易保证准确性。锂电池的应用发展已越来越迅速,怎样精确估计电池电量也变得越来越重要。 目前,测量结果不准确、不全面是一部分锂电池电量检测系统存在的主要问题,因其忽略了能够影响电池性能的重要因素,即温度参数,另外还有电池自身的老化(SOH)及内阻变化等。而随着电池使用次数的增加,电池不断老化,电池容量就会逐渐减小,若缺少了电池额定容量满循环校准这一步骤,将会加大电量的测量误差,这一误差还会随电池使用频率累积增大。 本文主要以MSP430单片机微控制器为核心,针对便携式的小功率产品,设计一个锂电池电量检测系统,并对锂电池组的充、放电过程进行保护。锂电池组的电流、电压、温度参数将被系统控制器及时采集,为电池组剩余电量的检测和电池组充放电保护提供理论依据。 本文首先详细介绍了锂电池的特性和优点,分析了其充放电特性。其次,在电池开路和负载的情况下,提出了多种估算方法并结合温度校正来估算锂电池的剩余容量,并将影响电池电量检测的各种因素也考虑了进去,以实现锂电池电量的准确估计。再次,设计了系统的硬件电路,设计了软件程序。最后,对设计结果进行了有效性验证。
上传时间: 2022-06-09
上传用户:wangshoupeng199
《单片机外围器件实用手册》丛书编辑出版的目的是力图将目前常用的一些单片机外围器件进行归纳、整理,使读者有个概貌地了解,对常用外围器件的选用提供参考,在具体电路设计时提供帮助。由于单片机外围集成电路日新月异的发展,很多器件难以统一归类,而且由于器件更新速度板快,不少常用器件会逐渐成为淘汰产品。因此,本手册丛书不能、也不应成为单片机应用系统设计器件参考的唯一工具,读者还须注意新器件的发展,各大半导体厂商的新器件动态及相应的数据手册、光盘资料及网上信息发布等。本丛书共有五个分册,即存储器分册、数据传输接口器件分册、电源器件分册、输入通道器件分册以及输出通道器件分册。每个分册的编者除通晓单片机技术外,都是相应领域的专家、学者,他们在本学科的理论基础和实践知识保证了手册丛书有较高的质量。手册丛书编辑出版的复杂性,使北航出版社的同仁们付出了艰辛的劳动,在此都一并感谢。最终希望本丛书能对读者有较好的收益。
上传时间: 2022-07-06
上传用户:aben
VIP专区-嵌入式/单片机编程源码精选合集系列(52)资源包含以下内容:1. C8051F020的SED1335驱动程序.2. AD7714 AD转换keil C51 源代码.3. C8051F020 SMB 总线驱动源代码.4. 温度传感器18B20的keil C51驱动程序.5. C8051F020读写24C256的keil c51程序.6. 51+sl811读写U盘的源程序+原理图.7. 基于CPLD的二进制码转换为二十进制(BCD)码的电路[1].8. 从大量的wince源代码中剥离出的fat文件系统源代码。移植性非常高。 微软的代码.9. 凌阳MINI OS 实例.10. threadx操作系统源代码之.11. threadx操作系统源代码之.12. threadx操作系统源代码之.13. threadx操作系统源代码之.14. 免费的tcp ip 协议的pcb sch.15. windows mobile pocket pc移动开发源代码书籍.16. 附件程序是我用DSP2812开发的无刷直流电机控制程序.17. 步进电机控制系统.18. 多数位分频器.............................................可直接编译.19. 自己写的c语言版的软件实现cpu的pipeline功能的程序。对于学习体系结构的同仁有好处。.20. 一个多级菜单的例子.21. vhdl语言.22. 倒车雷达源代码.23. 一个很有用的USB开发的简单例子.24. 常用的窜口调试器.25. 用MAX6959实现的键盘以及数码显示原代码.26. 基于ARM的生物识别系统.27. 51的IO口模拟UARTRS232 波特率9600 Fosc:22.1184MHz 已在keilc51调试通过.28. 数控恒流源电路原理图 是03年全国大学生电子大塞提.29. 图书馆管理系统..大家多点给我鼓励给我支持哦...我会多点上载代码到这里的..30. 掏美元培训得来的某外国公司推广keil ARM 和LPC2100的源码。.31. BT878 图象显示 VxWorks 驱动程序.32. 我自己用的MSP430的JTAG。包括原理图和PCB版图!AD6软件打开。.33. 书名“全能混合电路仿真 OrCAD PSpice A-D V9”.34. S3530a和C8051f020的通信测试程序!.35. 本文介绍了在基于ARM7的嵌入式系统上开发 USB接口的详细内容。.36. ucos移植到m64.37. AVRcamVIEW/jre/bin/java -jar /opt/AVRcamVIEW/lib/AVRcamVIEW.jar.38. 最新ZigBee1.1协议规范.比ZigBee0.8有所改进..39. 关于zigbee的一篇论文,国外的,写的相当不错,推荐同行的.40. PID是比例、积分、微分三个词语的英文缩写.
上传时间: 2013-05-29
上传用户:eeworm
B+树算法,没有密码,供学习使用.质量高
上传时间: 2014-09-10
上传用户:远远ssad
便携式B型超声诊断仪具有无创伤、简便易行、相对价廉等优势,在临床中越来越得到广泛的应用。它将超声波技术、微电子技术、计算机技术、机械设计与制造及生物医学工程等技术融合在一起。开展该课题的研究对提高临床诊断能力和促进我国医疗事业的发展具有重要的意义。 便携式B型超声诊断仪由人机交互系统、探头、成像系统、显示系统构成。其基本工作过程是:首先人机交互系统接收到用户通过键盘或鼠标发出的命令,然后成像系统根据命令控制探头发射超声波,并对回波信号处理、合成图像,最后通过显示系统完成图像的显示。 成像系统作为便携式B型超声诊断仪的核心对图像质量有决定性影响,但以前研制的便携式B型超声诊断仪的成像系统在三个方面存在不足:第一、采用的是单片机控制步进电机,控制精度不高,导致成像系统采样不精确;第二、采用的数字扫描变换算法太粗糙,影响超声图像的分辨率;第三、它的CPU多采用的是51系列单片机,测量速度太慢,同时也不便于系统升级和扩展。 针对以上不足,提出了基于FPGA的B型超声成像系统解决方案,采用Altera公司的EP2C5Q208C8芯片实现了步进电机步距角的细分,使电机旋转更匀速,提高了采样精度;提出并采用DSTI-ULA算法(Uniform Ladder Algorithm based on Double Sample and Trilinear Interotation)在FPGA内实现数字扫描变换,提高了图像分辨率;人机交互系统采用S3C2410-AL作为CPU,改善了测量速度和系统的扩展性。 通过对系统硬件电路的设计、制作,软件的编写、调试,结果表明,本文所设计的便携式B型超声成像系统图像分辨率高、测量速度快、体积小、操作方便。本文所设计的便携式B型超声诊断仪可在野外作业和抢险(诸如地震、抗洪)中发挥作用,同时也可在乡村诊所中完成对相关疾病的诊断工作。
上传时间: 2013-05-18
上传用户:helmos
超声理论与技术的快速发展,使超声设备不断更新,超声检查已成为预测和评价疾病及其治疗结果不可缺少的重要方法。超声诊断技术不仅具有安全、方便、无损、廉价等优点,其优越性还在于它选用诊断参数的多样性及其在工程上实现的灵活性。 全数字B超诊断仪基于嵌入式ARM9+FPGA硬件平台、LINUX嵌入式操作系统,是一种新型的、操作方便的、技术含量高的机型。它具有现有黑白B超的基本功能,能够对超声回波数据进行灵活的处理,从而使操作更加方便,图象质量进一步提高,并为远程医疗、图像存储、拷贝等打下基础,是一种很有发展前景、未来市场的主打产品。全数字B型超声诊断仪的基本技术特点是用数字硬件电路来实现数据量极其庞大的超声信息的实时处理,它的实现主要倚重于FPGA技术。现在FPGA已经成为多种数字信号处理(DSP)应用的强有力解决方案。硬件和软件设计者可以利用可编程逻辑开发各种DSP应用解决方案。可编程解决方案可以更好地适应快速变化的标准、协议和性能需求。 本论文首先阐述了医疗仪器发展现状和嵌入式计算机体系结构及发展状况,提出了课题研究内容和目标。然后从B超诊断原理及全数字B超诊断仪设计入手深入分析了B型超声诊断仪的系统的硬件体系机构。对系统的总体框架和ARM模块设计做了描述后,接着分析了超声信号进行数字化处理的各个子模块、可编程逻辑器件的结构特点、编程原理、设计流程以及ARM处理模块和FPGA模块的主要通讯接口。接着,本论文介绍了基于ARM9硬件平台的LINUX嵌入式操作系统的移植和设备驱动的开发,详细描述了B型超声诊断仪的软件环境的架构及其设备驱动的详细设计。最后对整个系统的功能和特点进行了总结和展望。
上传时间: 2013-05-28
上传用户:sssnaxie