#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
脉冲电晕法烟气脱硫脱硝技术是利用电晕放电产生的高能电子与中性分子碰撞,产生自由基和活性粒子,在有氨加入的条件下,将SO2、NOx转化为硫铵和硝铵。根据现有脉冲电晕法电源设备不能大规模工业化实践应用的缺点,设计了一种新型的高频高压交直流叠加的脱硫脱硝电源。 本文重点介绍了交、直流电源的工作原理,对电源中的串联谐振情况进行了具体的分析,交流电源采用串联负载串联谐振的工作方式,直流电源采用并联负载串联谐振的工作方式。通过变压器升压和谐振升压,可使交流电压的上升率大于200V/us,直流电压可达到上万伏。同时计算了电源的主要参数,为实验打下基础。为了进一步提高交流电压的频率,针对感性负载,采用全桥移相软开关控制策略,为开关器件提供零电压关断条件。通过理论分析、仿真及实验对软、硬开关过程及损耗进行比较,证明软开关对提高开关频率的促进作用。 为方便对交、直流电压幅值进行调节,设计了电源控制系统,采用两个数字PID控制器,能同时对二者的幅值进行控制,并以液晶和键盘作为人机交互界面,方便用户的操作。 交直流叠加的电源可以使反应器产生稳定、宽范围、有效的流光。交流电压使放电增强,产生的自由基多,氧化脱除量增加。直流基压驱使正离子和电子离开流光通道,自由基分布更广,与SO2等接触面增加,增强脱硫脱硝效果。 本文也对脱硫脱硝系统的电磁干扰情况进行分析,并采用接地、屏蔽、隔离等方法提高系统的电磁兼容性能。
上传时间: 2013-04-24
上传用户:6546544
提出了一种基于DSP的新型静电除尘(ESP)用高频高压电源设计方案。给出了电源的主电路、控制电路以及各采样电路的设计过程。电源主电路由IGBT(FZ900R12KE4)构成的H桥式电路组成;控制电路采用数字信号处理器DSP(TMS320F2812)为核心;采样电路主要采集三相进线电流、逆变输出电流、变压器油温及IGBT的温度等。实验表明,该静电除尘用高频高压电源运行稳定可靠,能够满足静电除尘的要求。
上传时间: 2013-10-15
上传用户:ginani
基于高频谐振电路研制的高压脉冲电容器充电电源, 采用IGBT 构成电源的软开关电路和闭环变频控制充电电流的方式。对输出端负载大范围变化引起的谐振频率漂移, 采用微调开关时间, 保证了变换器开关零切换, 显著降低了导通、关断时IGBT 的损耗.
上传时间: 2014-12-24
上传用户:aeiouetla
摘要:高频感应加热是工业电加热领域的一种重要方法,产生高频电流所采用的器件或设备可以是变流机组、电子管振荡器和半导体变频器。介绍了采用现代电子电力技术对目前普遍使用的以闸流管高压整流系统作为电子管振荡器直流可调电源的设备进行技术改造的方案。关键词:工业电加热 高频感应加热 技术改造
上传时间: 2013-11-13
上传用户:lht618
简易数字频率计题解.( 1997年 B 题 ) 编写与讲解人:田良(东南大学无线电系,2003年3月12日) 一)任务 设计并制作一台数字显示的简易频率计。 (二)要求 1.基本要求 (1)频率测量 a.测量范围 信号:方波、正弦波 幅度:0.5V~5V[注] 频率:1Hz~1MHz b.测试误差≤0.1% (2)周期测量 a.测量范围 信号:方波、正弦波 幅度:0.5V~5V[注] 频率:1Hz~1MHz b.测试误差≤0.1% 3) 脉冲宽度测量 a.测量范围 信号:脉冲波 幅度:0.5V~5V[注] 脉冲宽度≥100μs b.测试误差≤0.1% (4)显示器 十进制数字显示,显示刷新时间1~10秒 连续可调,对上述三种测量功能分别采用不同颜色的 发光二极管指示。 (5)具有自校功能,时标信号频率为1MHz。 (6)自行设计并制作满足本设计任务要求的稳压电源
上传时间: 2013-12-26
上传用户:xg262122
5V USB扁口接口TP4055锂离子电池充电接口板ALTIUM设计硬件原理图+PCB文件,2层B板手设计,大小为33*18mm,,可以做为你的学习设计参考。TP4055 是一款完整的单节锂离子电池充电器,带电池正负极反接保护,采用恒定 电流/恒定电压线性控制。其 SOT 封装与较少的外部元件数目使得 TP4055 成为便携式应 用的理想选择。TP4055 可以适合 USB 电源和适配器电源工作。 由于采用了内部 PMOSFET 架构,加上防倒充电路,所以不需要外部检测电阻器和 隔离二极管。热反馈可对充电电流进行自动调节,以便在大功率操作或高环境温度条件 下对芯片温度加以限制。充满电压固定于 4.2V,而充电电流可通过一个电阻器进行外部 设置。当电池达到 4.2V 之后,充电电流降至设定值 1/10,TP4055 将自动终止充电。 当输入电压(交流适配器或 USB 电源)被拿掉时,TP4055 自动进入一个低电流状 态,电池漏电流在 2uA 以下。TP4055 的其他特点包括充电电流监控器、欠压闭锁、自 动再充电和一个用于指示充电结束和输入电压接入的状态引脚。
上传时间: 2021-11-22
上传用户:trh505
ASR M08-B设置软件 V3.2 arduino 2560+ASRM08-B测试程序 arduino UNO+ASRM08-B测试程序语音控制台灯电路图及C51源码(不带校验码) 继电器模块设置。 ASR M08-B是一款语音识别模块。首先对模块添加一些关键字,对着该模块说出关键字,串口会返回三位的数,如果是返回特定的三位数字,还会引起ASR M08-B的相关引脚电平的变化。【测试】①打开“ASR M08-B设置软件 V3.2.exe”。②选择“串口号”、“打开串口”、点选“十六进制显示”。③将USB转串口模块连接到语音识别模块上。接线方法如下:语音模块TXD --> USB模块RXD语音模块RXD --> USB模块TXD语音模块GND --> USB模块GND语音模块3V3 --> USB模块3V3(此端为3.3V电源供电端。)④将模块的开关拨到“A”端,最好再按一次上面的大按钮(按一次即可,为了确保模块工作在正确的模式)。⑤对着模块说“开灯”、“关灯”模块会返回“0B”、“0A”,表示正常(注意:0B对应返回值010,0B对应返回值010,返回是16进制显示的嘛,设置的时候是10进制设置的)。
标签: ASR M08-B
上传时间: 2022-07-06
上传用户:aben
21世纪大学新型参考教材系列 集成电路B 荒井
上传时间: 2013-04-15
上传用户:eeworm
家电维修(最基础的教程B)1-20.Torrent
上传时间: 2013-06-10
上传用户:eeworm