虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

协调<b>控制</b>

  • 道理特分解法

    #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

  • 基于EtherCAT与CANopen技术

    随着工业自动化水平的不断提高,工业控制网络所需负担的工作也日趋繁重,整个网络中传递信息的规模和复杂度也在不断增长,这给控制系统提出了更高的要求。伺服系统作为一种对控制精度、动态响应等性能指标要求很高的控制系统,也必须面对这些问题。本论文研究了将工业以太网技术应用于伺服系统的方法。通过将EtherCAT工业以太网协议与CANopen规范相结合,以TMS320F2812系列DSP为平台,设计并实现了伺服驱动器的工业以太网通信接口,组建了网络化的运动控制系统。通过分析EtherCAT与CANopen相关技术细节,阐述了将CANopen与EtherCAT相结合的关键点,给出了多种运动控制模式的设计方式,分析了软件设计和实现的具体方法和要点。本文按照分层和模块化的方式给出了通信接口的设计过程,按层次分为三个大的模块:EtherCAT通信模块、CoE通信模块与CANopen运动控制模块。对各个模块又根据功能分为多个子模块,其中EtherCAT 通信模块主要包括:EtherCAT状态机服务、邮箱服务和过程数据服务:CoE通信模块包括:服务数据对象(SDO)服务、过程数据对象(PDO)服务、对象字典服务;运动控制模块包括设备状态机服务和多种运动控制模式的实现模块。对每个模块本文都给出了具体的设计与实现过程。本文实现了四种运动控制模式下的实际控制结果,包括周期同步的位置与速度模式以及位置与速度轨迹规划模式。实验结果表明,系统能够满足高速度、高精度、高可靠性和同步协调的控制要求。最后对所做工作进行了总结与展望。

    标签: ethercat canopen

    上传时间: 2022-05-27

    上传用户:

  • 伺服驱动器工业以太网接口设计——基于EtherCAT与CANopen技术

    随着工业自动化水平的不断提高,工业控制网络所需负担的工作也日趋繁重,整个网络中传递信息的规模和复杂度也在不断增长,这给控制系统提出了更高的要求,伺服系统作为一种对控制精度、动态响应等性能指标要求很高的控制系统,也必须面对这些问题。本论文研究了将工业以太网技术应用于伺服系统的方法。通过将EtherCAT工业以太网协议与CANopen规范相结合,以TMS320F2812系列DSP为平台,设计并实现了伺服驱动器的工业以太网通信接口,组建了网络化的运动控制系统。通过分析EtherCAT与CANopen相关技术细节,阐述了将CANopen 与EtherCAT相结合的关键点,给出了多种运动控制模式的设计方式,分析了软件设计和实现的只体方法和要点。本文按照分层和模块化的方式给出了通信接口的设计过程,按层次分为三个大的模块:EtherCAT通信模块、CoE通信模块与CANopen运动控制模块。对各个模块又根据功能分为多个子模块,其中EtherCAT通信模块主要包括:EtherCAT状态机服务、邮箱服务和过程数据服务;CoE通信模块包括:服务数据对象(SDO)服务、过程数据对象(PDO)服务、对象字典服务;运动控制模块包括设备状态机服务和多种运动控制模式的实现模块。对每个模块本文都给出了具体的设计与实现过程。本文实现了四种运动控制模式下的实际控制结果,包括周期同步的位置与速度模式以及位置与速度轨迹规划模式。实验结果表明,系统能够满足高速度、高精度、高可靠性和同步协调的控制要求。最后对所做工作进行了总结与展望。

    标签: 驱动器 工业以太网 接口

    上传时间: 2022-07-05

    上传用户:zhanglei193

  • jk-b交通信号控制机原理图

    jk-b交通信号控制机原理图

    标签: jk-b 交通信号 控制机 原理图

    上传时间: 2013-07-13

    上传用户:eeworm

  • jk-b交通信号控制机原理图-1.3M.zip

    专辑类-实用电子技术专辑-385册-3.609G jk-b交通信号控制机原理图-1.3M.zip

    标签: jk-b 1.3 zip 交通信号

    上传时间: 2013-08-02

    上传用户:zhf1234

  • B/S权限控制的例子

    B/S权限控制的例子

    标签: 权限控制

    上传时间: 2014-01-11

    上传用户:yoleeson

  • 注塑机生产过程的微机控制系统设计本系统设计是通过8255A并行端口A、B传输数据控制12个LED发光二级管的亮灭来模拟控制两台注塑机的生产过程。其中端口A和B分别对应1号和2号注塑机

    注塑机生产过程的微机控制系统设计本系统设计是通过8255A并行端口A、B传输数据控制12个LED发光二级管的亮灭来模拟控制两台注塑机的生产过程。其中端口A和B分别对应1号和2号注塑机,每一个LED代表一个工序。编程语言采用BORLAND C++语言。

    标签: 8255A 注塑机 LED 生产过程

    上传时间: 2013-12-25

    上传用户:叶山豪

  • 计算机控制技术.了解步进电机控制的基本原理; b.掌握控制步进电机转动的编程方法。

    计算机控制技术.了解步进电机控制的基本原理; b.掌握控制步进电机转动的编程方法。

    标签: 计算机 控制技术 控制 步进电机控制

    上传时间: 2014-01-20

    上传用户:咔乐坞

  • 基于事件驱动的串口通讯控件 消息帧数据格式: 1 0 A B X X 其中 10 为消息标识, AB表示文本长度,L=A*100+B XX为配位字符,任意 控制帧数据格式

    基于事件驱动的串口通讯控件 消息帧数据格式: 1 0 A B X X 其中 10 为消息标识, AB表示文本长度,L=A*100+B XX为配位字符,任意 控制帧数据格式 0 1 A B M N 其中 01为控制标识, AB为请求标识 MN为附加标识 11表示请求对方接收文件,M表示描述字串中文件名子串的长度 N表示描述字串中文件大小子串的长度 10通知对方放弃传输 00通知文件传输完毕 01请求对方发送数据, MN为10请求发送下一个 MN为00请求重发 数据帧数据格式 0 0 A B M N 其中 00 为数据标识, AB表示数据长度,L=A*100+B MN为校验,M*100+N=A+B

    标签: 100 数据格式 10

    上传时间: 2015-10-06

    上传用户:拔丝土豆

  • PWM控制电机,用PWM控制电机,熟悉定时器Timer A/B的编程方法。用Timer A作为脉宽调制信号产生的定时器.了一个函数F_Pwm(int a,int b) 用于PWM设置

    PWM控制电机,用PWM控制电机,熟悉定时器Timer A/B的编程方法。用Timer A作为脉宽调制信号产生的定时器.了一个函数F_Pwm(int a,int b) 用于PWM设置,传入两个参数第一个用于频率设置,第二个用于占空比设置。

    标签: PWM Timer int F_Pwm

    上传时间: 2015-10-10

    上传用户:athjac