#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
用于CCS3.3,用于CCS3.3,用于CCS3.3,用于CCS3.3
上传时间: 2019-05-20
上传用户:wqshmzh
1,3.5寸LCD模块原理图 2,3.5寸LCD液晶屏规格和数据手册 3,程序源码 4,学习教程(配套开发板液晶显示和触摸屏实验讲解)
上传时间: 2019-09-24
上传用户:295362701
该文档为浅谈对DSP的认识和应用简介资料,讲解的还不错,感兴趣的可以下载看看…………………………
标签: dsp
上传时间: 2021-10-30
上传用户:
该文档为DSP ADC程序中文的说明资料,讲解的还不错,感兴趣的可以下载看看…………………………
上传时间: 2021-11-06
上传用户:
该文档为DSP程序烧写说明讲解资料,讲解的还不错,感兴趣的可以下载看看…………………………
标签: dsp
上传时间: 2021-11-10
上传用户:
自己做的实验箱项目:基于F28335的闭环逆变、三相逆变SPWM逆变
上传时间: 2022-01-17
上传用户:
CEPARK畅学系列多功能开发学习板/实验箱用户手册 STM32单片机用户手册 北京畅联无限科技有限公司 欢迎使用CEPARK畅学系列多功能开发学习板! 恭喜您成为CEPARK电子园开发学习板的用户! 我们非常高兴您选择了本款产品。我们将为你提供最真诚最优质的服务,让您在以后的日子里尽情发挥你的创意!为了使您的产品功能得到充分发挥,我们建议在连接和操作之前,通读一遍说明书,请务必了解本产品各功能模块、跳线、开关和接口等的功能和设置方法后再使用,这样有便于您掌握系统的连接方法和使用要点,有助于您更好的使用本款开发板! 我们对用户使用手册的编批尤识翔结第单易懂,目的是您可以获取与您购买的开发学习板相关的软件安装、基本操作、软硬件使用方法等知识,但为了提高产品的性能,我们会对产品的硬件和软件做些改动和升级,这样可能会产生软硬件配置和本手册在某些细节上不符,请以最新软件和您购买的开发板实际配置为准。 本手册的更改或升级不另行通知客户!在编写手册时我们难免会有疏漏甚至错误之处,请您多加包涵并热烈欢迎指正,CEPARK电子园将不为本手册可能产生的疏漏和错误负责! 北京畅联无限科技有限公司声明︰ 本指导教程和配套例程仅在开发板学习中参考,不得用于商业用途,如需转载或引用,请保留版权声明和出处。
上传时间: 2022-02-15
上传用户:
刘金琨《滑模变结构控制第3版》pdf+仿真程序,资料齐全
标签: 滑模变结构控制
上传时间: 2022-05-13
上传用户:qdxqdxqdxqdx
1.1 数字信号处理技术概述 1.2 FPGA技术 1.2.1 按颗粒度分类 1.2.2 按技术分类 1.2.3 FPL的基准 1.3 DSP的技术要求 1.4 设计实现 1.4.1 FPGA的结构 1.4.2 Altera EP4CE115F29C7 1.4.3 案例研究:频率合成器 1.4.4 用知识产权内核进行设计 1.5 练习第2章 计算机算法 2.1 计算机算法概述 2.2 数字表示法 2.2.1 定点数 2.2.2 非传统定点数 2.2.3 浮点数 2.3 二进制加法器 2.3.1 流水线加法器 2.3.2 模加法器 2.4 二进制乘法器 2.5 二进制除法器 2.5.1 线性收敛的除法算法 2.5.2 快速除法器的设计 2.5.3 阵列除法器 2.6 定点算法的实现 2.7 浮点算法的实现 2.7.1 定点数到浮点数的格式转换 2.7.2 浮点数到定点数的格式转换 2.7.3 浮点数乘法 2.7.4 浮点数加法 2.7.5 浮点数除法 2.7.6 浮点数倒数 2.7.7 浮点操作集成 2.7.8 浮点数合成结果 2.8 MAC与SOP 2.8.1 分布式算法基础 2.8.2 有符号的DA系统 2.8.3 改进的DA解决方案 2.9 利用CORDIC计算特殊函数 2.10 用MAC调用计算特殊函数 2.10.1 切比雪夫逼近 2.10.2 三角函数的逼近 2.10.3 指数函数和对数函数的逼近 2.10.4 平方根函数的逼近 2.11 快速幅度逼近 练习第3章 FIR数字滤波器 3.1 数字滤波器概述 3.2 FIR理论 3.2.1 具有转置结构的FIR滤波器 3.2.2 FIR滤波器的对称性……第4章 IIR数字滤波器第5章 多级信号处理第6章 傅立叶变换第7章 通信系统第8章 自适应系统第9章 微处理器设计**0章 图像和视频处理
上传时间: 2022-06-11
上传用户: