#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
创新实践大报告题目 设计要求: 1、用UML向对象工具分析设计系统 2、程序设计中要应用面向接口编程的思想编程 3、程序设计采用visual studio 的窗体编程实现
上传时间: 2018-05-28
上传用户:hugerlove
百度地图API是一套由JavaScript语言编写的应用程序接口,它能够帮您在 网站中构建功能丰富、交互性强的地图应用程序。本手册介绍该API的基本使 用类和方法,使得地图在WEB页中得以应用。
上传时间: 2020-04-04
上传用户:yuqy
1.STM32 电机控制SDK 概述STM32 电机控制SDK 包含以下项目:• STM32 电机控制固件• STM32 电机控制WB• STM32 电机控制分析仪• 现有文档• STM32 电机控制固件的参考文档此软件包作为将上述所有项目安装在用户计算机中的可执行软件提供。STM32 电机控制 SDK 取决于STM32Cube 和STM32CubeMx。因此,必须在SDK 之前安装STM32CubeMx 版本4.24.0 或更高版本。有关STM32CubeMx 的更多信息,2.电机控制固件PMSM FOC 软件库提供了用于驱动永磁同步电机(PMSM)的高性能、完善的磁场定向控制(FOC)策略实现。借助这种方法可实现电磁转矩( Te )调节,并在一定程度上,通过控制两个电流 iqs 和 ids 来实现弱磁控制功能,这两个电流值由定子的电流经数学变换得来。这种控制方式使PMSM 类似于直流电机控制那样简单,即两个控制电流量分别相当于直流电机的电枢电流和励磁电流。因此,可以这样说,FOC 包含与转子磁通同相位和正交相位的定子电流控制与定向。这也就意味着,要有一种有效的测量定子电流和转子位置的方法。FOC 算法的结构如图 5. 基本FOC 算法结构,转矩控制中所示。3.应用编程接口4电机控制项目的剖析
上传时间: 2021-12-28
上传用户:jason_vip1
本指南介绍如何安装、配置和使用用于嵌入式应用程序的 emWin 图形用户界面。还介绍了软件的内部结构和 emWin 提供的且用于直接使用的所有函数(API,应用编程接口)。在实际使用 emWin 之前,应阅读或至少浏览一遍本手册以便对软件有所了解。然后建议按以下步骤进行操作:• 将 emWin 文件复制到计算机中。• 通读“入门指南”(第 43 页)。• 使用模拟器以便更熟悉软件的功能(请参阅“模拟”(第 53 页))。• 参考手册的其它内容,对程序进行扩展。emWin 设计用于提供高效且独立于处理器和显示控制器的图形用户界面,用于任何使用图形显示进行操作的应用。它与单任务和多任务环境、专用操作系统或具有任何商业 RTOS 兼容,emWin 的发货形式为 C 语言源代码。它可适用于任何尺寸的、具有任何显示控制器和 CPU 的物理和虚拟显示器。为了让您更好地了解emWin 的功能,我们准备了各种不同演示,其形式为“即时可用”的模拟可执行程序,www.segger.com/emwin-samples.html.示例程序的源代码位于 Sample 文件夹中。文件夹 Sample\GUIDemo 包含一个显示 emWin 许多特性的应用程序。所有示例也可从 www.segger.com 获得。本文档的示例代码以代码段提供,这可能需要进一步的修改。
标签: emwin
上传时间: 2022-05-23
上传用户:
特权同学 xilinx fpga伴你玩转usb3.0与lvd丛书电子版PDF 本书主要使用Xilinx公司的Artix7 FPGA器件(引出自带的LVDS接口)和Cypress公司的USB 3.0控制器芯片FX3,以及一些常见的DDR3存储器、UART电路、扩展接口等,由浅入深地引领读者从板级设计、软件工具、相关驱动安装到基础的FPGA实例,从基于FPGA的UART、DDR3、USB 3.0、LVDS传输实例入手,掌握FPGA各种片内资源的应用以及接口时序的设计。本书基于特定的FPGA开发平台,既有足够的理论知识深度进行支撑,也有丰富的例程进行实践讲解,并且穿插着笔者多年FPGA学习和开发过程中的各种经验和技巧。对于希望基于FPGA实现USB 3.0和LVD S开发的工程师,本书提供的很多实例都是很好的参考原型,可以帮助其实现快速系统原型的开发。
上传时间: 2022-06-11
上传用户:wangshoupeng199
以作者亲自在PC上开发嵌入式操作系统“Hello China”的全过程为主线,详细地叙述自己动手写嵌入式操作系统所需的各方面知识,如加载和初始化、Shell、线程的实现、内存管理机制、互斥和同步机制及中断和定时机制的实现,以及设备驱动程序管理框架,应用编程接口等。
上传时间: 2022-06-17
上传用户:
CCS是TI公司针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面,提供有环境配置、源文件编辑、程序调试、跟踪和分析等工具。CCS有两种工作模式,即软件仿真器模式:可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,主要用于前期算法实现和调试。硬件在线编程模式:可以实时运行在DSP芯片上,与硬件开发板相结合在线编程和调试应用程序。CCS的开发系统主要由以下组件构成:①TMS320C54x集成代码产生工具;②CCS集成开发环境;③DSP/BIOS实时内核插件及其应用程序接口API;④主机和DSP之间的实时数据交换(RTDX)插件以及相应的程序接口API;⑤由TI公司以外的第三方提供的各种应用模块插件。
上传时间: 2022-07-27
上传用户:
介绍一个基于U S B 2 . 0 接口和D S P 的高速数据采集处理系统的工作原理设计及实现该高速数据 采集处理系统采用TI 公司的TMS320C6000 数字信号处理器和Cypress 公司的USB2.0 接口芯片可 以实现高速采集和实时处理有着广泛的应用前景
上传时间: 2013-11-27
上传用户:koulian
本书提供用J B u i l d e r开发数据库应用程序、创建分布式应用程序以及编写J a v a B e a n 组件的高级资料。它包括下列几个部分: • 第一部分是“开发数据库应用程序”,它提供关于使用J b u i l d e r的D a t a E x p r e s s数据 库体系结构的信息,并解释原始数据组件和类之间的相互关系,以及怎样使用它 们来创建你的数据库应用程序。它还解释怎样使用Data Modeler(数据模型器)和 Application Generator(应用程序生成器)创建数据驱动的客户机/服务器应用程 序。 • 第二部分是“开发分布式应用程序”,它提供关于使用ORB Explorer、用J B u i l d e r 创建多级的分布应用程序、调试分布式应用程序、用J a v a定义C O R B A接口以及 使用s e r v l e t等的信息。 • 第三部分是“创建J a v a B e a n”,它解释怎样开发新的J a v a B e a n组件,描述在组件 开发中涉及的任务, 怎样使用B e a n s E x p r e s s创建新的J a v a B e a n,以及关于属性、 事件、B e a nIn f o类和其他方面的详细情况。
上传时间: 2014-01-03
上传用户:wpt