实验源代码 //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
本文主要论述了一种基于51单片机为核心控制器的数控直流电源的设计原理和实现方法。该电源具有电压可预置、可步进调整、输出的电压信号和电流信号可同时显示功能。文章介绍了系统的总体设计方案,其主要由微控制器模块、稳压控制模块、电压/电流采样模块、显示模块、键盘模块、电源模块五部分构成。该系统原理是以STC89C52单片机为控制单元,以数模转换芯片DAC0832输出参考电压控制电压转换模块LM317输出电压大小,同时输出稳压、恒流采用模数转换芯片ADC0832对采样的电压、电流转换为数字信号,再通过单片机实现闭环控制。文章最后对数控直流电源的主要性能参数进行了测定和总结,并对其发展前景进行了展望。关键词单片机(MCU):数模转换器(DAC);模数转换器(ADC):闭环控制电源技术尤其是数控电源技术是一门实践性很强的工程技术,服务于各行各业。当今电源技术融合了电气、电子、系统集成、控制理论、材料等诸多学科领域。直流稳压电源是电子技术常用的仪器设备之一,广泛的应用于教学、科研等领域,是电子实验员、电子设计人员及电路开发部门进行实验操作和科学研究所不可缺少的电子仪器。在电子电路中,通常都需要电压稳定的直流电源来供电。而整个稳压过程是由电源变压器、整流、滤波、稳压等四部分组成。然而这种传统的直流稳压电源功能简单、不好控制、可靠性低、干扰大、精度低且体积大、复杂度高。普通的直流稳压电源品种有很多,但均存在以下二个问题:输出电压是通过粗调(波段开关)及细调(电位器)来调节。这样,当输出电压需要精确输出,或需要在一个小范围内改变时,困难就较大。另外,随着使用时间的增加,波段开关及电位器难免接触不良,对输出会有影响。稳压方式均是采用串联型稳压电路,对过载进行限流或截流型保护,电路构成复杂,稳压精度也不高。
上传时间: 2022-04-05
上传用户:wangshoupeng199
低压差线性稳压器(Low Dropout Voltage Regulator,LDO)属于线性稳压器的一种,但由于其压差较低,相对于一般线性稳压器而言具有较高的转换效率。但在电路稳定性上有所下降,而且LDO有着较高的输出电阻,使得输出极点的位置会随着负载情况有很大关系。因此需要对LDO进行频率补偿来满足其环路稳定性要求。内容安排上第一节首先简单介绍各种线性稳压源的区别:第二节介绍LDO中的主要参数及设计中需要考虑折中的一些问题;第三节对LDO开环电路的三个模块,运放模块,PMOS模块和反馈模块进行简化的小信号分析,得出其传输函数并判断其零极点:第四节针对前面分析的三个LDO环路模块分别进行补偿考虑,并结合RT9193电路对三种补偿方法进行了仿真验证和解释说明。该电路主要包含基准电路以及相关启动电路,保护电路(OTP,OCP等),误差放大器,调整管(Pass Element)和电阻反馈网络。在电路上,通过连接到误差放大器反相输入端的分压电阻对输出电压进行采样,误差放大器的同相输入端连接到一个基准电压(Bandgap Reference),误差放大器会使得两个输入端电压基本相等,因此,可以通过控制调整管输出足够的负载电流以保证输出电压稳定。电路所采用的调整管不同,其Dropout电压不同。以前大多使用三极管来作为稳压源的调整管,常见的有NPN稳压源,PNP稳压源(LDO),准LDO稳压源,其调整管如图2所示,其Dorpout电压分别是:VoRop=2VBE+ Vsr-NPN稳压源VoRоP =VsurPNP稳压源(LDO)VDRoP=VE + Vsur-准LDO稳压源
上传时间: 2022-06-19
上传用户:
AR0231AT7C00XUEA0-DRBR(RGB滤光)安森美半导体推出采用突破性减少LED闪烁 (LFM)技术的新的230万像素CMOS图像传感器样品AR0231AT,为汽车先进驾驶辅助系统(ADAS)应用确立了一个新基准。新器件能捕获1080p高动态范围(HDR)视频,还具备支持汽车安全完整性等级B(ASIL B)的特性。LFM技术(专利申请中)消除交通信号灯和汽车LED照明的高频LED闪烁,令交通信号阅读算法能于所有光照条件下工作。AR0231AT具有1/2.7英寸(6.82 mm)光学格式和1928(水平) x 1208(垂直)有源像素阵列。它采用最新的3.0微米背照式(BSI)像素及安森美半导体的DR-Pix™技术,提供双转换增益以在所有光照条件下提升性能。它以线性、HDR或LFM模式捕获图像,并提供模式间的帧到帧情境切换。 AR0231AT提供达4重曝光的HDR,以出色的噪声性能捕获超过120dB的动态范围。AR0231AT能同步支持多个摄相机,以易于在汽车应用中实现多个传感器节点,和通过一个简单的双线串行接口实现用户可编程性。它还有多个数据接口,包括MIPI(移动产业处理器接口)、并行和HiSPi(高速串行像素接口)。其它关键特性还包括可选自动化或用户控制的黑电平控制,支持扩频时钟输入和提供多色滤波阵列选择。封装和现状:AR0231AT采用11 mm x 10 mm iBGA-121封装,现提供工程样品。工作温度范围为-40℃至105℃(环境温度),将完全通过AEC-Q100认证。
标签: 图像传感器
上传时间: 2022-06-27
上传用户:XuVshu
分享一份成熟量产的3KW光伏逆变器原理图;整机分成3块PCB板显示板:LCD显示屏、声控电路;主功率板:包括输入EMI、PV_ISO检测、PV电压电流采样、BOOST升压拓扑、H4逆变拓扑、输出EMI、GFCI漏电流检测等等;控制板:各路采样电路、IGBT驱动电路,通信电路等等;附件内容:
上传时间: 2022-07-06
上传用户:wangshoupeng199
基于MSP430单片机TimerB的数字->模拟信号转换的设计.利用MSP430定时器B产生PWM,然后再通过RC滤波,得到直流或交流电压信号.此方法成本低廉,可靠性高,易于使用.
上传时间: 2013-11-26
上传用户:lanjisu111
该程序用事件管理器B的定时器4定时时间来触发A/D采样的启动。采样时采用级联模式,一次做16个转换,转换通道分别是0~15。转换完成后,在A/D中断服务子程序中将转换结果读出。该程序做一次A/D采样。
上传时间: 2017-09-25
上传用户:标点符号
便携式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
TLC5620 DAC转换实验程序 该实验程序使用TLC5620中A、B、C、D四个通道中的前两个通道分别输出周期相等、幅度均为3.3V的三角波和方波,5620的输出经过LM358双运方的反相跟随后增强了带负载能力 并且使得输出的信号电压位于-3.3V~0V之间,起到了模拟反相的作用。在程序中,RNG位的置位使得输出幅度增加一倍。
上传时间: 2017-08-03
上传用户:lindor