驱动算法 电子科技大学
- 格式:pdf
- 大小:235.37 KB
- 文档页数:4
电子科技大学网络教育课程教材总表注:打★课程为新增课件教材或新课程教材,艺术设计类教材无课件,表中教材仅作参考,表中未列艺术类课附件:全国高校网络教育公共基础课统一考试用书 出版社联系信息科学出版社:《高等数学(2007年修订版)》,ISBN:978-7-03-018883-0每册定价25.00元邮局汇款:地 址:北京东黄城根北街16号, 邮政编码:100717收款人:科学出版社销售中心银行汇款:开户行:中信银行北京中粮广场支行, 户 名:科学出版社有限责任公司, 账 号:7112610182600024615联 系 人:赵丛玉 电 话:010-********,传 真:010-********E-mail:zhouwenyu@中国财政经济出版社:《大学英语(2007年修订版)》,ISBN:978-7-5005-9859-6每册订价 36.00元邮局汇款:地 址:北京海淀阜成路甲28号新知大厦616邮政编码:100036 收款人:中国财政经济出版社教育分社银行汇款:开户行:中国银行北京航天桥支行, 户 名:中国财政经济出版社 账 号:815810653608091001联 系 人:王华莹 电 话:88190616/88190654, 传 真:88190655E-mail:wanghy@北京师范大学出版社:《大学语文(2007年修订版)》,ISBN:978-7-303-08536-1每册定价33.00元邮局汇款:地 址:北京新街口外大街19号, 邮政编码:100875收款人:北京师范大学出版社银行汇款:开户行:工商银行北京新街市支行 户 名:北京师范大学出版社账 号:0200002909004600967联 系 人:李迎娜 倪花,电 话:58802132/58804214,传 真:58800013E-mail地址:nihua02@清华大学出版社《计算机应用基础(2007年修订版)》,ISBN:978-7-302-15116-6每册定价38.00元邮局汇款:地 址:北京海淀双清路学研大厦A座517室邮政编码:100084 收款人:清华大学出版社发行部直销组银行汇款:开户行:北京银行清华园支行 户 名:清华大学出版社账 号:6001201053788-45联 系 人:刘秀文,电 话:62780549,62770175-3524,传 真:62780549E-mail:liuxw@统考用书征订单请登陆“资源中心”——教学管理中心资源下载—— “网络教育教育部统考用书术类课程教材由各学习中心辅导教师指定教材。
计算机学科本科生计算思维能力培养模式的探索与实践摘要:计算思维反映了计算机学科的本质特征和核心方法。
结合国家、社会对计算机科学技术学科的当前需求和发展趋势,针对电子科技大学计算机学科本科生的培养目标,按照计算思维能力的本质特征,提出并实施“设计、抽象、实现” 三位一体的计算思维能力培养模式,搭建了设计类课程融合的体系,为学生培养提供强有力的保障,也希望为工科高校计算机学科本科生培养提供有益的借鉴。
关键词:计算思维;课程体系;培养模式;设计;抽象;实现;问题求解方法一、背景计算机科学与技术学科已成为重要的基础学科。
计算机科学与技术水平,是衡量国家科技水平和综合国力的一个重要标志。
北京工业大学蒋宗礼教授确定了计算机科学与技术学科的培养目标,建立了相应的课程体系[1],并将计算机科学与技术学科的专业能力具体分为:计算思维能力,算法设计与分析能力,程序设计与实现能力,计算机系统的认知、分析、设计和运用能力[2]。
美国卡内基·梅隆大学周以真教授(Jeannette M. Wing)认为:计算思维是运用计算机科学的基础概念去求解问题、设计系统以及人类行为理解等涵盖计算机科学之广度的一系列思维活动;计算思维的本质是抽象和自动化[3]。
计算机学科研究涉及面广,共同特征是基于特定计算环境的问题求解。
计算机学科(基础)理论研究实际上是基于抽象级环境的问题求解;程序设计是基于语言级的问题求解活动,系统软件设计与应用软件设计则是系统级的问题求解[4]。
计算思维的本质特征是基于不同层次计算模型(环境)和约束的问题求解(不同层次计算环境的问题求解行为,反映了计算机学科的三种不同形态:科学、技术与工程。
计算思维反映了计算机学科本质的特征和核心的方法[2,4]。
清华大学等九校学术联盟主要从掌握抽象级的问题求解方法角度培养计算思维能力[4],同济大学等的九校卓越联盟主要从掌握语言级的问题求解技术培养计算思维能力[4-6]。
西安电子科技大学出版社《计算方法》任传祥等编著第九章计算方法上机参考答案实验一,算法一#include <stdio.h>#include <math.h>double I0=log(6)/log(5),I1;int n=1;main (){while(1){I1=1.0/(n)-I0*5.0;printf("%d %lf\n", n,I1);if(n>=20)break;elseI0=I1;n++;}}实验一,算法二#include <stdio.h>#include <math.h>double I0=(1/105.0+1/126.0)/2,I1;int n=20;main (){printf("%d %lf\n", n,I0);while(1){I1=1.0/(5.0*n)-I0/5.0;printf("%d %lf\n", n-1,I1);if(n<2)break;elseI0=I1;n--;}}实验二,二分法#include <stdio.h>#include <math.h>#define esp 1e-3double f(double x);main (){double a=1,b=2,x;while(fabs(b-a)>esp){x=(a+b)/2;printf("x=%lf\n",x);if(f(x)==0)break;elseif(f(x)*f(a)<0)b=x;elsea=x;}}double f(double x){return pow(x,3)-x-1;}实验二,牛顿迭代法#include<stdio.h>#include<math.h>double f(double x);double f1(double x);#define esp 1e-3void main(){double x0 = 1.5, x1;x1 = x0 - f(x0) / f1(x0);printf("x=%lf\n", x1);x0 = x1;x1 = x0 - f(x0) / f1(x0);printf("x=%lf\n", x1);while (fabs(x1 - x0)>esp){x0 = x1;x1 = x0 - f(x0) / f1(x0);printf("x=%lf\n", x1);} }double f(double x){return pow(x, 3) - x - 1;} double f1(double x){return 3 * x*x - 1;}弦割法#include<stdio.h>#include<math.h>double f(double x);#define esp 1e-3void main(){double x0 = 1.5, x1=2.0,x2;do{ x2=x1 - (x1-x0)*f(x1) /(f(x1)-f(x0));x0=x1;x1=x2;printf("x=%lf\n", x1);}while (fabs(x1 - x0)>esp);{printf("x=%lf\n", x1);}}double f(double x){return pow(x, 3) - x - 1;}实验3#include <stdio.h>/*列主元高斯消去法*/#include <math.h>float x[3],temp,max;float A[3][4]={10,-2,-1,3,-2,10,-1,15,-1,-2,5,10},c[3][4]={10,-2,-1,3,-2,10,-1,15,-1,-2,5,10}; int n=3,i,k,j,m;void main(){for(i=0;i<n;i++){max=A[i][i];k=i;for(j=j+1;j<n;j++){{max=fabs(A[j][i]);k=j;}}if(k!=i){for(j=i+1;j<=n;j++){temp=A[i][j];A[i][j]=A[k][j];A[k][j]=temp;}}for(j=i+1;j<n;j++)for(m=i+1;m<=n;m++){c[j][m]=c[j][m]+(-c[j][i]/c[i][i])*c[i][m];}}for(i=n-1;i>=0;i--){temp=0.0;for(j=n-1;j>=i+1;j--)temp=temp+c[i][j]*x[j];x[i]=(c[i][n]-temp)/c[i][i];}printf("x[1]=%f\nx[2]=%f\nx[3]=%f\n",x[0],x[1],x[2]);实验四,拉格朗日插值#include<stdio.h>int n=5,i,j;double l,L=0,X=0.5;main(){double x[5]={0.4,0.55,0.65,0.8,0.9};doubley[5]={0.41075,0.57815,0.69675,0.88811,1.02652}; for(i=0;i<n;i++){l=y[i];for(j=0;j<n;j++){if(j!=i)l=l*(X-x[j])/(x[i]-x[j]); } L=L+l;}printf("%lf\n",L);return 0;} X=0.5 X=0.7 X=0.85牛顿插值法#include<stdio.h>#include<math.h>main(){double x[5]={0.4,0.55,0.65,0.8,0.9};doubley[5]={0.41075,0.57815,0.69675,0.88811,1.02652};int n=5,i,j;double z;printf("input z\n");scanf("%lf",&z);double a[5][5];for(i=0;i<5;i++)a[i][0]=y[i];for(i=1;i<5;i++)for(j=i;j<5;j++)a[j][i]=(a[j][i-1]-a[j-1][i-1])/(x[j]-x[j-i]);double N=a[0][0],temp=1.0;for(i=1;i<n;i++){temp=temp*(z-x[i-1]);N=N+a[i][i]*temp;}printf("N=%lf\n",N);return 0;}实验五曲线拟合#include <stdio.h>#include <math.h>float x[5]={1,2,3,4,5};float y[5]={7,11,17,27,40};float A[2][3],c[2][3];float z[2],temp,max;int i,j,k,m;int n=2;void main(){for(i=0;i<5;i++){c[0][0]=A[0][0]+=1;c[0][1]=A[0][1]+=x[i];c[0][2]=A[0][2]+=y[i];c[1][0]=A[1][0]+=x[i];c[1][1]=A[1][1]+=x[i]*x[i];c[1][2]=A[1][2]+=x[i]*y[i];}/* for(i=0;i<2;i++){printf(" %lf %lf %lf\n",A[i][0],A[i][1],A[i ][2]);}*/for(i=0;i<n;i++){max=A[i][i];k=i;for(j=j+1;j<n;j++){if(fabs(A[j][i])>max){max=fabs(A[j][i]);k=j;}} if(k!=i){for(j=i+1;j<=n;j++){temp=A[i][j];A[i][j]=A[k][j];A[k][j]=temp;}}for(j=i+1;j<n;j++)for(m=i+1;m<=n;m++){c[j][m]=c[j][m]+(-c[j][i]/c[i][i])*c[i][m];}}for(i=n-1;i>=0;i--){temp=0.0;for(j=n-1;j>=i+1;j--)temp=temp+c[i][j]*z[j];z[i]=(c[i][n]-temp)/c[i][i];}printf("a=%f\nxb=%f\n",z[0],z[1]); }实验六数值积分/*梯形*/#include<stdio.h>#include<math.h> double f(double x); main(){double x[10],y[10];double h,b=1,a=0,I;int n,i;printf("n\n");scanf("%d",&n);h=(b-a)/n;for(i=0;i<=n;i++){x[i]=a+(i*h);y[i]=f(x[i]);}I=f(a)+f(b);for(i=1;i<=n-1;i++){I=I+2*y[i];}I=(h/2)*I;printf("%lf",I);}double f(double x){double f;f=1.0/(1.0+(x*x));return(f);}/*辛普森*/#include<stdio.h>#include<math.h>double f(double x);main(){double x[30],y[30];double h,b=1,a=0,I;int n,i;printf("n\n");scanf("%d",&n);//点乘2扩展h=(b-a)/n;x[10]=1;y[10]=f(x[10]);for(i=0;i<n;i++){x[2*i]=a+(i*h);y[2*i]=f(x[2*i]);x[2*i+1]=a+(i+(1.0/2.0))*h;y[(2*i)+1]=f(x[(2*i)+1]);}I=f(a)+f(b);for(i=0;i<n;i++){I=I+4*y[(2*i)+1];}for(i=1;i<n;i++){I=I+2*y[2*i];}I=(h/6)*I;printf("%lf\n",I);}double f(double x){double f;f=1.0/(1.0+(x*x));return(f);}/*梯形*//*辛普森*/。
基于LQR的四轴飞行器控制算法设计罗配明(广东工业大学 自动化学院,广东 广州 510000)[摘 要]为有效解决四轴飞行器的稳定性控制响应慢、精度不高的问题,提出一种基于LQR的反馈控制算法;重点描述了四轴飞行器的控制模型、LQR的算法设计原理及稳定性判据、LQR在四轴飞行器控制中的设计步骤,并通过Matlab仿真验证了算法的可行性。
[关键词]LQR算法;四轴飞行器模型;Matlab仿真[DOI]10 13939/j cnki zgsc 2017 09 069 LQR(LinearQuadraticRegulator)即线性二次型调节器,是现代控制理论中较为经典的控制算法,其设计的目标是寻找状态反馈控制器K使得二次型目标函数J取得最小值。
[1~2]四轴飞行器又称四旋翼飞行器,是一个能够在6个活动自由度自由运行,但是控制自由度却只有4个的系统,因此也被称为欠驱动系统。
研究四轴飞行器的控制算法,就是针对四轴欠驱动的本质,设计控制算法,使得飞行器能够很好地响应控制指令,并保持性能稳定。
[3]基于以上原因,论文基于LQR算法设计了四轴飞行器的控制回路,通过Matlab仿真验证算法的可行性。
1 四轴飞行器模型四轴飞行器由十字交叉排列的4个电机提供升力,分别为F1、F2、F3和F4,通过控制四个升力的大小并进行配合控制,可分别实现四轴飞行器的上升、下降、前进、后退、左移和右移。
其力学模型如图1所示。
其中,y1正向表示飞行器前进方向,φ为机体俯仰角,θ为滚动角,Ψ为横摆角,p,q,r分别为φ,θ,Ψ的角速度。
飞行器机体坐标系为(x1,y1,z1),地面坐标系为(x2,y2,z2)。
[4]图1 四轴飞行器力学模型根据图1可得,由机体坐标系到地面坐标系的变换公式为Rx=1000cosφ-sinφ0sinφcos[]φRy=cosθ0sinθ010-sinθ0cos[]θRz=cosψ-sinψ0sinψcosψ000[]1组合变换为R=RxRyRz=cosψcosθabsinψcosθcd-sinθsinθcosφcosθcos[]φ式中:a=cosφsinθsin -cos sinφb=cosφsinθcos +sinφsin c=sinφsinθsin +cosφcos d=sinφsinθcos -sin cosφ四轴飞行器通常使用电机作为驱动力,结合驱动力矩的方程,使用雅克比行列式表示四轴飞行器的状态方程为A=0000000000000000001000000cosφ-sinφ0000sinφcosφ000参考张忠民[2]提出的模型,令状态矩阵A为A=00000000000000000010000000995-0 099800000 09980 995000B=056 0560-56 05656 0560-56 0560-28 02828 028-28 02828 028000000000000由于系统输入输出之间不存在直接联系,D=0,输入矩阵C可设为罗配明:基于LQR的四轴飞行器控制算法设计产业经济. All Rights Reserved.C=1000000100000010000001000000100000012 LQR算法设计LQR算法的核心就是设计状态反馈系数K,假设四轴飞行器控制系统能用状态向量的形式表示成:x=Ax+Buy=Cx+Du=pqr θφ其中x(t)∈Rn,u(t)∈Rm,初始条件为x(0),且系统所有的状态变量都是可以测量到的。
考虑奇点扰动问题的时间序列预测方法闫理跃; 王厚军; 刘震【期刊名称】《《电子科技大学学报》》【年(卷),期】2019(048)006【总页数】8页(P850-857)【关键词】隐马尔科夫模型; 粒子群优化; 奇点扰动; 样条函数; 时间序列预测【作者】闫理跃; 王厚军; 刘震【作者单位】电子科技大学自动化工程学院成都 611731【正文语种】中文【中图分类】TH164基于数据驱动的预测方法已经在各行各业得到普遍应用,虽然它们可以很好地利用时间序列上的历史变化趋势[1-6],但是却很容易忽略突发、意外情况的发生所带来的极端影响。
而且,在故障诊断和预测领域,简单的数据驱动预测方法通常只能参考历史故障数据,无法加入机器当前的可靠性状态。
所以,为了整合历史数据和当前状态,提高预测的精度,本文提出了一种新的综合预测数学模型。
以往很多学者都贡献了非常优秀的数据驱动的方法[7-9],如基于模糊神经系统的算法模型、基于隐马尔科夫模型(HMM)的预测器和贝叶斯网络等,这些基于历史退化趋势的预测方法,都在一定程度上取得了非常好的预测效果,因此也备受关注和赞誉。
但是这些方法的缺点也很明显,首先它们都应用于有规律的性能退化数据上,如退化趋势是平稳随机过程等。
在实际的工程应用中,退化过程经常伴随着奇异点扰动,如一些间歇性的故障,或者人工操作导致数据中出现奇点信号,这些奇点扰动的情况会大大降低传统数据驱动预测方法的精确性,有的甚至会引起严重的预测偏差。
这些情况会对产品的维护保证决策产生重大的负面影响,是目前可靠性预测领域中的一个棘手问题,亟需解决。
在之前的研究中[10-12],学者曾经使用小波算法检测奇点信号,并且利用小波分析的特点,对这些奇点数据进行去噪处理。
根据数学定义,奇点信号可以用利普希茨指数来度量[13]。
利普希茨指数可以描述一个信号的局部规律或平滑度,数学意义上,信号的奇点是信号的导数不连续或者信号本身存在的间断点。
计算机算法与程序设计(python)_电子科技大学中国大学mooc课后章节答案期末考试题库2023年1.关于堆的说法错误的是参考答案:堆按照从上到下,从左到右顺序得到的序列一定有序。
2.已知二叉搜索树如下图所示,请指出搜索[25,89]结点的搜索路径(依次搜索过的结点)【图片】参考答案:35,24,36,71,60,42,88,81,953.已知有n个数据进行排序,下面能实现排序的是参考答案:data=[34,5,-6,12,87,29]data.sort()4.下面哪个是错误的用python实现存储n个人的姓名?参考答案:names4=[]for i in range(n): names4[i]=input('输入{}个人的姓名:'.format(i+1))5.如果有n个整数数据,要找出其中的值最大的数据,下面哪种方法不一定能找到最大值?参考答案:用maxV,依次和数组的n个数据比较,如果当前数据比maxV还要大,则更新maxV为这个更大的数据,则n个数据比较结束,maxV里面就存储的最大数。
6.学生信息存储在列表当中,下面哪个代码能实现寻找成绩为x的学生姓名的功能?参考答案:stus={"zhangsan":86,"lisi":72,"wangwu":91,"taoyan":62}x=int(input('in put score:'))try: y=list(stus.values()).index(x)exceptValueError: print(x,'is not in list')else: print(list(stus.keys())[y])7.新生到从未到过的大学学校报到,学校的每一栋楼都有所在学院名称的标记。
请问如果不借助外力,如何找到所在的学院大楼?参考答案:这是一个穷举搜索问题,搜索空间是该大学,搜索目标是学院大楼,搜索算法就是把大学里面的每一栋楼检查一下名字,看是否是目标,如果是就找到了,如果不是就继续查找下一栋大楼。
2022年杭州电子科技大学计算机科学与技术专业《操作系统》科目期末试卷B(有答案)一、选择题1、下列算法中,用于磁盘调度的是(),A.时间片轮转法B.LRU算法C.最短寻道时间优先算法D.高优先级算法2、在文件系统中,若文件的物理结构采用连续结构,则文件控制块FCB中有关文件的物理位置的信息包括(),I.首块地址 II.文件长度 III.索引表地址A.只有IIIB. I和IIC. II和IIID. I和III3、下列进程调度算法中,综合考虑进程等待时间和执行时间的是()A.时间片轮转调度算法B.短进程优先调度算法C.先来先服务调度算法D.高响应比优先调度算法4、下列调度算法中,不可能导致饥饿现象的是()。
A.时间片轮转B.静态优先数调度C.非抢占式短作业优先D.抢占式短作业优先5、若系统中有5台绘图仪,有多个进程需要使用两台,规定每个进程一次仪允许申请一台,则最多允许()个进程参与竞争,而不会发生死锁。
A.5B.2C.3D.46、下面关于虚拟存储器的论述中,正确的是()。
A.在段页式系统中以段为单位管理用户的逻辑地址空间,以页为单位管理内存的物理地址空间,有了虚拟存储器才允许用户使用比内存更大的地址空间B.为了提高请求分页系统中内存的利用率,允许用户使用不同大小的页面C.为了能让更多的作业同时运行,通常只装入10%~30%的作业即启动运行D.最佳置换算法是实现虚拟存储器的常用算法7、在分页虚拟存储管理中,“二次机会”调度策略和“时钟”调度策略在决定淘汰哪一页时,都用到了()。
A.虚实地址变换机构B.快表C.引用位D.修改位8、假设4个作业到达系统的时刻和运行时间见表。
系统在t=2时开始作业调度。
若分别采用先来先服务和短作业优先调度算法,则选中的作业分别是()。
A.J2、J3B.J1、J4C.J2、J4D.J1、J39、某时刻进程的资源使用情况见表。
此时的安全序列是()A.P1、P2、P3、P4B. P1、P3、P2、P4C. P1、P4、P3、P2D.不存在10、系统管理设备是通过一些数据结构来进行的,下前的()不属于设备管理数据结构。