#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
参照栈类模板的例子编写一个队列类模板class <T> Queue,私有成员包括:队首指针Front,队尾指针Tail,队列容积max。实现:构造函数Queue,复制构造函数Queue,析构函数~Queue,入队函数In,出队函数Out(每次出队,后面的元素自动前移一位),判队列空函数Empty。并分别用队列类模板定义int和double对象,通过实例调用各个成员函数。
标签: Queue 函数 double class Front Empty 队列 Tail 模板 Out
上传时间: 2020-05-04
上传用户:1qw2e3r4t5y6u7i8
单片机应用的核心技术是什么?是按键,数码管,流水灯,串口。是它们的程序框架。按键和数码管是输入是人机界面,把它们的程序框架研究透了,以后做彩屏或者更花销的显示界面,程序框架也可以通用。流水灯是应用程序是 APP,把它的程序框架研究透了,以后控制飞机大炮的程序框架也是一样。串口是通讯是接口,把它的程序框架研究透了,以后搞 SPI,CAN,USB 等通讯项目时,上层的程序框架也可以通用。
标签: 单片机
上传时间: 2021-10-29
上传用户:bluedrops
华为FPGA设计规范 VERILOG约束 编程规范时序分析等全套资料:FPGA技巧Xilinx.pdfHuaWei Verilog 约束.rarSynplify工具使用指南(华为文档)[1].rar.rarVerilog HDL 华为入门教程.rarVerilog典型电路设计 华为.rar一种将异步时钟域转换成同步时钟域的方法.pdf华为coding style.rar华为FPGA设计流程指南.doc华为FPGA设计规范.rar华为VHDL设计风格和实现.rar华为专利:一种快速无毛刺的时钟倒换方法.rar华为专利:华为小数分频.rar华为以太网时钟同步技术_时钟透传技术白皮书.rar华为硬件工程师手册目前最全版本.rar华为面经.doc华为面经.rar静态时序分析与逻辑...pdf
上传时间: 2021-11-05
上传用户:qdxqdxqdxqdx
JDY-08 蓝牙模块开发技术资料 含原理图 pcb库 透传APP源码 蓝牙模块可以微信透传
上传时间: 2021-12-18
上传用户:
KT6368A芯片是一款支持蓝牙双模的纯数据芯片,蓝牙5.1版本。芯片的亮点在超小尺寸,超级价格。以及简单明了的透传和串口AT控制功能。大大降低了嵌入蓝牙在其它产品的开发难度和成本
上传时间: 2022-02-08
上传用户:
KT6368A芯片是一款支持蓝牙双模的纯数据芯片,蓝牙5.1版本。芯片的亮点在超小尺寸,超级价格。以及简单明了的透传和串口AT控制功能。大大降低了嵌入蓝牙在其它产品的开发难度和成本同时支持SPP和BLE 。但是只能任选其中一个协议使用。备注:这款芯片最大的特点,就是便宜,使用简单,生产简单。无其他,便宜才是王道请注意,一旦蓝牙被连接之后,芯片自动进入透传模式。不再识别AT指令。所以AT指令只能用于,未连接状态下面使用 。
上传时间: 2022-02-08
上传用户:默默
用三点法实现机器人三维位置测量的研究摘 要 :提 出 了一 种 微 小 爬 壁 机 器 人 三 维 位 置 测 量 的新 方 法 。笔 者 通 过 深 入 分 析 研 究各 种 位 置 测 控 方 法 与 系 统 ,提 出采 用单 目视 觉方 法 中的 聚 焦法 ,以 CCD作 为 传 感 器 ,用 三 点 法 实现 对 机 器 人 的 三 维 位 置 测 量 。 验 证性 实验 结果表 明 ,本研 究提 出的测 量原 理和 系统是 正 确 可行 的 。 关键词 :机 器人 ;位置 测量 ;CCD传 感 器 ;单 目视 觉 ;摄 像 机 标 定 中 图分 类 号 :TP242.6 文 献 标 识 码 :B Abstract:A new 3D position measurementmethod Ofa wall—climbing micro robothas been researched.Researc— hing on the various position measuring and controlling method,theauthorhasputforwardanewprojecttomeas— ure the 3D position of the robot,in which the focusing method with singlecamera and CCD sensorhasbeen used to getthe position information.The elementary experiment has verified the principle and the system. Key words:robot;position detection;CCD sensor;single camera vision;camera caiibration 位置测量技 术是智 能机 器人 的关键 技术 ,是各 种 机器人控 制系统 中极 为重 要 的环节 ,也 是 国内外研 究 的热点所 在。 按 照测试 系统 与被 测机 器 人 的关 系 ,可 以将位 置 测量技术 分为接触 式和非接触式 两大类 。接触 式测量 系统 由于在测 量过程 中或多或少地 对机器人施 加 了载 荷 ,因而仅适用于静 态 位置测 量 。而动 态 位 置测量 系 统 主要分 5类 :①激光跟踪 系统 ;@ CCD交 互测量 收 稿 日期 :2001—07—03 基 金项 目:国家 863高科技 研 究 资助 项 目(9804-06);教 育 部 高 等 学校 骨干教 师 资助 计 3t,j项 目 作者 简 介 :张 智海 (1973一 ),男 ,工 学硕 士 ,主 要 研 究 方 向 为 智 能 机 器人 测 控 技 术 。 系统 ;③ 超声波 测量 系统 ;④ PSD(positionsensitivede— vice)位 置 测 量 系统 ;⑤ 带 有 接 近觉 传 感 器 的 测量 系 统 。位置测量 还可 以从另一个分类 角度划分为主动式 测量和被动 式测 量 。主动式测 量主要可 以分为结 构光方法和激光 自动聚焦法两类 。被 动式测量 主要 可 以分为双 目视 觉 、三 目视觉 、单 目视觉 等方法 。 对 比以上各种方法 的 优缺 点 ,针对 笔者 研制 的微 小爬壁机器人 的空 间三 维位 置 测量 的要 求 ,测量 系统 必须满足尺 寸小 、分 辨率 高 、稳定 性 和可 靠性 好 、时 间 响应快等特 点 ,提 出了采用 单 目视觉方法 中的聚焦法 , 选用 CCD作 为传感器 ,用 三点法实现对机器人 的三维 位置测量 ,并用 Matlab和 V
标签: 机器人
上传时间: 2022-02-12
上传用户:
这是一篇哈尔滨工业大学2012年 物理电子学工学博士的毕业论文。相干多普勒激光雷达是测量遥感风场和运动目标速度的有力工具。相干多普勒激光雷达的发射源普遍使用单纵模激光器,而锁模激光所具有的宽频谱、窄脉宽、高峰值功率等特性使其在作为相干激光雷达发射源方面具有潜在的应用价值。本文从理论上和实验上对基于锁模激光的相干多普勒激光雷达进行了研究。 理论上,在单频外差探测原理的基础上,考虑了具有 m+1 个模式、纵模间隔为 ω 的本振光,与发生了 Δω 频移的信号光相干拍频后的理论模型,证明了相位差恒定的锁模激光可以实现相干混频,并可以通过低通滤波或 FFT 频谱分析的方式检测出差频信号。利用这一理论模型进行了数值模拟计算,分析了信号光在不同的频移值时的拍频波形,讨论了实现相干探测本振光与信号光应满足的条件。 基于相干多普勒激光雷达系统对发射光源的要求,进行了锁模激光器的实验研究。通过使用不同的锁模器件得到锁模激光输出,其中主动锁模和调 Q 主动锁模都获得了单脉冲宽度在百皮秒量级、锁模深度 100%、锁模几率 95%以上的稳定的锁模脉冲序列输出。对被动锁模、主动锁模、调 Q 主动锁模的激光输出特性进行了对比研究,主动锁模脉冲序列包络时间较长但峰值功率较低,而调 Q 主动锁模峰值功率高但包络时间较短,不同类型的激光输出为后续的相干测速实验提供了多种选择。 利用声光移频器模拟外差探测中信号光发生的多普勒频移,进行了锁模激光拍频实验研究,并与单纵模激光拍频实验结果进行了比较。使用锁模激光在频移为 30 ~ 80 MHz 的范围内进行了拍频实验研究,拍频波形及信号处理的结果均与理论分析相符, 测量结果的相对误差在 0.5%以下。 分别使用脉宽为 10 ns和 16 ns 的调 Q 单纵模脉冲进行拍频,在信号光频移为 150 MHz 时测量结果的相对误差分别为 3.7%和 1.6%。对比实验结果发现,调 Q 单纵模脉冲由于有限的脉宽限制了拍频后包络的数量,导致误差相对较大,而锁模脉冲序列由于具有较长包络时间,在测量较低频移值时仍具有较高的精度,即测量低速目标时更具有优势。在具有较长包络时间的同时,锁模激光还具有高峰值功率和窄脉宽的特点。使用光纤耦合的方式进行了相干拍频实验,得到了稳定的相干拍频波形,FFT 频谱分析的结果与设定值和理论分析相符。
标签: 激光雷达
上传时间: 2022-02-12
上传用户:
更新记录2020.08.271. 添加例程“45-IO口推挽输出驱动有源蜂鸣器实验程序”;2. 修改例程“43-高级PWM4N驱动蜂鸣器实验程序”名称为“43-高级PWM4N驱动无源蜂鸣器实验程序”;3. 添加例程“46-端口模式设置”;4. 添加例程“47-SPI互为主从-SS设置主从-串口1透传”;5. 添加例程“48-SPI互为主从-主模式忽略SS-串口1透传”。2020.08.201. 例程“31-硬件SPI访问FLASH-PM25LV040-串口1监控”、“32-IO模拟SPI访问FLASH-PM25LV040-串口1监控”兼容华邦W25X40CL型号Flash,并添加W25X40CL规格书。2020.08.181. 添加例程“44-高级PWM输出两路互补SPWM”以及正弦计算表。2020.08.111. 按照8.3版本实验箱图纸修改现有例程;2. 添加例程“43-高级PWM4N驱动蜂鸣器实验程序”。2020.07.301. 在例程01添加注解“当用户使用硬件 USB 对 STC8H8K64U 系列进行 ISP 下载时不能调节内部 IRC 的频率,但用户可用选择内部预置的 16 个频率(分别是 5.5296M、 6M、 11.0592M、 12M、 18.432M、 20M、 22.1184M、 24M、27M、 30M、 33.1776M、 35M、 36.864M、 40M、 44.2368M 和 48M)。下载时用户只能从频率下拉列表中进行选择其中之一,而不能手动输入其他频率。”2. 添加例程“41-软件修改内部RC主频”;3. 添加例程“42-一线制温度传感器 DS18B20 测温”;4. 添加8.2版本实验箱的原理图跟PCB图,现有程序还是基于8.1版本图纸。2020.07.241. 例程“38-2.4寸ILI9325驱动TFT显示屏实验程序-带触摸功能”调整驱动读写代码,使正常显示时的MCU工作主频最高可调至48MHz。2. 修改ADC相关例程关于AD通道参数的注释。3. 修改EEPRO相关例程TPS擦除等待参数与设置主频一致。4. 添加例程“39-通过USB发送命令读取ADC测试程序”以及配套的上位机测试软件;5. 添加例程“40-USB键盘设备通过P0口矩阵按键模拟小键盘功能”以及键盘按键码表。2020.07.091. 添加例程“37-2.4寸ILI9341驱动TFT显示屏实验程序”以及相关工具及规格书;2. 添加例程“38-2.4寸ILI9325驱动TFT显示屏实验程序-带触摸功能”以及相关工具及规格书。2020.06.281. 添加例程“35-板上的32K xdata测试程序”;2. 添加例程“36-LCD128x64显示图形文字-ST7920”以及“ST7920规格书”。2020.06.231. 添加例程“30-红外发射程序(NEC码)-使用PWM4产生38KHz载波”;2. 添加例程“34-IO扫描键红外发射-同时接收数码管显示用户码键值程序”。2020.06.221. 添加例程“31-硬件SPI访问FLASH-PM25LV040-串口1监控”以及“PM25LV040规格书”;2. 添加例程“32-IO模拟SPI访问FLASH-PM25LV040-串口1监控”;3. 添加例程“33-P1.3做ADC-使用内部基准计算外部电压”。2020.06.191. 添加例程“28-I2C主机模式访问PCF8563-RTC时钟程序”以及“PCF8563规格书”;2. 添加例程“29-红外遥控接收程序(NEC码)-数码管显示用户地址和键值”。2020.06.181. 更改文件夹命名,使例程内容更加一目了然;2. 添加例程“04-利用T0,T1做外部计数器”;3. 添加例程“05-利用定时器测量脉冲宽度”;4. 添加例程“13-串口3中断模式与电脑收发测试”;5. 添加例程“14-串口4中断模式与电脑收发测试”;6. 添加例程“20-使用比较器检测低电压时保存数据到EEPROM”;7. 添加例程“25-高级PWM1-PWM2-PWM3-PWM4,驱动P6口呼吸灯实验程序”;8. 添加例程“26-高级PWM5-PWM6-PWM7-PWM8输出测试程序”;9. 修改串口相关例程的主时钟频率为 22.1184MHz,精确计算115200波特率;10.“17-NTC测温度数码管显示”添加“SNDT2012X103F3950FTF R-T对照表”;11.添加“实验箱8问题清单”文件。2020.06.151. 修改所有例程主时钟频率为 24MHz;2. 添加例程“08-双串口中断收发”;3. 添加例程“09-串口1中断收发”;4. 添加例程“10-串口2中断收发”;5. 添加例程“14-通过串口1命令多字节读写EEPROM测试程序”;6. 添加例程“15-内部掉电检测中断保存EEPROM”;7. 添加例程“17-P1.7输出PWM5做DAC_P1.1做ADC读入DAC输出值_串口1设置占空比”;8. 修改例程“比较器”命名为“18-比较器_P3.7做正极输入源”;9. 添加例程“19-比较器_ADC做正极输入源”;10.添加例程“20-I2C从机中断模式与IO口模拟I2C主机进行自发自收”。2020.06.081. 添加例程“16-P1.7输出PWM做DAC_P1.1做ADC读入DAC输出值_串口1设置占空比”;2. 添加例程“比较器”。2020.06.041. 初版发布;2. 发布例程“01-跑马灯”;3. 发布例程“02-Timer0-Timer1-Timer2-Timer3-Timer4测试程序”;4. 发布例程“03-数码管”;5. 发布例程“04-外中断INT0-INT1-INT2-INT3- INT4测试”;6. 发布例程“05-睡眠-外部中断唤醒”;7. 发布例程“06-睡眠-唤醒定时器唤醒”;8. 发布例程“07-看门狗复位测试程序”;9. 发布例程“11-IO行列扫描键盘数码管显示键值和调整时间”;10.发布例程“12-ADC键盘扫描数码管显示键值和调整时间”;11.发布例程“13-NTC测温度数码管显示”;12.发布文件“STC实验箱8-使用说明书.pdf”;13.发布图纸“实验箱8.1_2020-05-11-PCB.pdf”;14.发布图纸“实验箱8.1_2020-05-11-SCH.pdf”。
标签: stc8h
上传时间: 2022-04-18
上传用户: