当前位置:首页 > matlab
  • 基于Matlab的雷达系统仿真设计

    基于Matlab的雷达系统仿真设计

      0 引言   近些年来国际上相继发展了一些雷达仿真系统,而国内相控阵雷达系统和脉冲压缩雷达系统仿真软件的研究已经成为一个热点。对于一个复杂的雷达系统,系统建模与仿真技术是雷达系统设计和研究的一个重要方向和发展趋势。这些仿真软件系统主要是为工程设计人员服务的,具有较高的实用参考价值。基于此,本文参考了上述雷达系统的仿真思想,利用Matlab图形用户界面开发出一套供学生自学、教师教学的雷达系统分析辅助教学软件包。该软件包主要立足于教学自学辅助软件,供学习者高效理解和掌握雷达系统分析的相关知识。   在各种教学实验软件中,往往只限于Matlab的编程实现,而在贴近学习者需求和多媒体学习中尚有不足之处。Matlab具有非常强大的数值计算、数据分析处理等功能,然而Matlab程序是一种解释执行程序,不用编译等预处理,导致程序运行速度较慢。VC具有很高的编码效率,可对操作系统和应用程序以及硬件进行直接操作。因此,该软件包利用Matlab和VC混合编程,提高了代码的运行效率,发挥了两种语言的长处。运行结果表明,该软件包具有良好的人机交互功能、较高的软件运行速率和丰富的多媒体学习方式。   1 利用VC和Matlab混合编程实现MEX文件   在Matlab和VC混合编程中,它们可分为在Matlab中调用VC程序和在VC中调用Matlab两个方面。前者旨在弥补Matlab程序所不能实现的软件功能或者解决Matlab运行速度过慢的缺陷;后者一般是为了在VC环境下调用Matlab程序,充分利用Matlab在矩阵计算、数据分析方面的强大优势。   在Matlab与VC混合编程之前,首先要对Matlab的编译应用程序max和编译器mbuild进行正确的设置。对MEX编译器进行设置并生成配置文件即一个后缀为bat的批处理文件,它是通过在Matlab命令窗口输入命令:mex-setup,然后按照输出信息提示选择编译器和路径实现的。Ma-tlab调用VC的方式主要有两种:利用MEX技术和VC动态链接库。本文通过调用VC动态链接库来编写mexrun文件。实际上,在Matlab环境中就可以方便地编辑MEX文件,但对于大型的MEX程序,可能会比较复杂,容易出错,这时就可以利用Visual C++强大的调试功能。图1给出在VC环境中建立MEX文件的过程。      Matlab提供了对动态链接库DLL文件的接口,且其接口支持VC编写的DLL文件,因此在对m文件进行编译后会产生一个与mexrun.cpp同名的mexrun.dll动态链接库文件。这样在Matlab的m文件中就可以直接回调mexrun()函数。通过VC来编写mexrun文件是因为需要在Matlab中直接运行诸如MP3,MP4,CHM和TXT等格式的文件,而用Matlab本身来实现这一过程的执行效率较低,代码具有重复性,对每种格式还需要区别对待。因而,考虑到VC语言和操作系统及硬件之间的直接联系,通过VC来编写程序并提供给Matlab调用,无疑会提高运行效率。   在mexrun.cpp文件中需要包含如下头文件:      C语言的MEX文件源程序主要由两个部分组成:第一部分是算法程序,用于完成实际工作;另一部分是入口子程序,它是算法程序与Matl-ab的接口。入口子程序实现接口功能是通过在输入指针数组中获得算法程序所需的数据,同时也能把计算结果返回到输出指针数组。在这里mexFuncTIon有着输入/输出与变量转换的作用。参照本文编写的mexrun.cpp文件,需要注意以下几点:   (1)void mexFuncTIon(int nlhs,mxArray*plhs[],int nrhs,const mxArray*prhs[])。函数头中nlhs是Matlab命令行方式下输出参数的个数;*plhs[]是一个mxArray结构体类型指向所有输出参数的指针数组;*prhs[]也是是一个mxArray结构体类型指向所有输入参数的指针数组;nrhs是输入参数的个数。   (2)还需定义以下几个变量:char*input_arg1,*input_arg2;int len1,len2,status1,status2。其中:*input_arg1,*input_arg2是两个字符指针;len1,len2表示分配空间长度;status1,status2是两个数据空间变量。   (3)输入的必须是单行字符串,行矢量,如下:      (4)把输入的字符串拷贝到C字符串里面,如下所示:      按照上述流程设置好编译环境和源程序后就可以编译此工程,编译成功后,在debug文件夹中会生成mexrun.dll链接库文件。实验结果表明,只要把mexrun.dll链接库文件放在Matlab的当前工作区中,就可以在GUI设计中的m文件编写中直接调用。   2 系统模块的设计与实现   雷达系统软件包的总体结构采用分离式的多模块结构,即各功能模块彼此相互独立,分别完成一定的功能。从方便用户的角度出发,设计的雷达系统软件包采用多层次的分级菜单驱动形式,先由主菜单选择进入各功能模块的子菜单,在每一个功能模块的菜单下,可以选择参数设置、程序运行、获取帮助和返回上级菜单等操作。   2.1 系统实现方法   图形用户界面(graphical user interfaces,GUI)是用户与计算机进行信息交流的方式。计算机在屏幕显示图形和文本,用户通过输入设备如键盘、鼠标等与计算机通信。GUI中包含各种控件,通过对控件设置一些事件响应函数,这些函数可以在控件创建或删除等事件发生时执行,从而实现特定事件触发下需要的某些功能。这些事件响应函数即是句柄图形对象的回调函数。   本文使用GUIDE界面来对各种控件进行布局,并利用属性编辑器对每个控件进行设置。软件包的实验界面主要有登陆界面、主界面和各部分子界面。下面以登陆界面为例,说明图形用户界面的设计过程。   2.2 登陆界面设置   图2表示GUIDE界面下对登录界面进行设置,其中包含了按钮、静态文本框、编辑框和坐标轴。在对每种控件的属性编辑器进行编辑时,Matlab对于每个控件都会在其相应的m文件中初始化出一个回调函数。      首先,可以通过调用混合编程实现的mexrun.dll库文件打开help文档、MP3文件和MP4文件。以video按钮为例,打开它的属性编辑器可以看到其对应的Tag属性pushbuttonl,在其回调函数中加入如下代码。video按钮打开后是关于软件包使用说明的一段简单视频。      其次,编写坐标轴控件的属性和构造函数,这里的坐标轴函数是用来显示一张JPEG格式的静态图片。Matlab提供imread()函数和imshow()函数来读取和存放静态图片,函数中的X是一个矩阵。      最后,关于登陆界面的密码设置,需要对()pening Fcn函数进行初始化设置,也即是软件包默认的用户账号和密码。这里需要使用函数set()来设置编辑框中输入的字符串即用户账号和密码,并对该账户和密码进行初始化赋值。      3 仿真结果   雷达系统分析包含各个部分仿真结果分析,这里选择雷达天线中典型的线性天线阵列仿真结果进行分析。仿真界面实例如图3所示,这里选择的实例是线性天线阵列的增益方向图。其中,阵列中的单元数为19,可以看到当单元问距为1.5个波长、扫描角度为-38°、使用Ham-ming窗进行幅度加权、并用23量化电平时,相应地在-38°处有主瓣产生,并且第一副瓣的电平约为-13.4 dB。若在面板中选择不同的设置值,则可以得到在不同的阵列天线(即阵列中的单元数不同或单元间距不同)、不同的扫描角度、不同的加窗函数、不同量化电平时的增益方向图。      通过该系统进行模拟仿真,并将仿真结果进行对比,可以清晰地了解天线在各个转向角处的增益方向是如何随天线阵列的单元间距、扫描角度、加窗函数、量化电平这些参量的变化而变化的,从而形成对线性阵列天线增益方向图的直观感受。   4 结语   雷达系统分析课程理论性强,抽象难懂,如何帮助学习者理解课程中的基本概念、基本分析方法等是该课程教学中所要解决的关键问题。考虑到Matlab的图形用户界面非常形象,本文采用VC和Matlab混合编程充分发扬了两种语言的优势,开发实现了该课程教学实验GUI软件包。实验表明,该雷达系统仿真软件包界面友好,参数设置灵活,并且在仿真的过程中能随时看到雷达信号发射、接收和信号处理等各方面的文字或图形描述。

    时间:2020-09-10 关键词: matlab 雷达系

  • 2DPSK低频感应通信系统MATLAB仿真

      汽车机电一体化—汽车电子化正逐渐成为现代汽车(特别是轿车)的基本特征。发动机电控作为汽车电控中的重要一环,为适应日趋严格的排放、安全法规,已受到国内外汽车厂商的高度重视,并得到了空前发展。   一、概述   现代轿车电控技术的理论基础就是现代控制理论。从早期的经典控制到目前的智能控制,控制理论在汽车电控中得到了广泛的应用。主要有PID控制、最优控制、自适应控制、滑模控制、模糊控制、神经网络控制以及预测控制等。现代控制理论的发展使得电控系统更能适应复杂的多变量系统、时变系统和非线性系统,甚至对于数学模型不甚精确的系统也能实施精确有效的控制。而这正是发动机电控得以实现的前提。就其结构而言,电控系统主要由传感器、电子控制组件(ECU)、执行器 3个部分组成。传感器作为输入部分,用于测量物理信号(温度、压力等),将其转换为电信号;ECU的作用是接收传感器的输入信号,并按设定的程序进行计算处理,输出处理结果;执行器则根据 ECU输出的电信号驱动执行机构,使之按要求变化。   (一)电子控制组件(ECU)   ECU以微机为中心。还包括前置的A/D转换器、数字信号缓冲器以及后置的信号放大器等。微机运算速度快、精度高,能实时控制,并具备多中断响应等功能。目前除了8位、16位微机外,32位特别是64位微机已开始逐步使用。而且,不仅有通用型微机和单片机,专用的汽车微机也已研制出来。正是微机技术突飞猛进的发展促进了汽车电控技术的不断完善。可以说,当前 ECU的发展总趋势是从单系统单机控制向多系统集中控制过渡。不久以后,汽车电控系统将采用计算机网络技术,把发动机电控系统、车身电控系统、底盘电控系统及信息与通信系统等各系统的ECU相联结,形成机内分布式计算机网络,实现汽车电子综合控制。   (二)传感器   汽车传感器的工作条件极为恶劣,因此,传感器能否精确可*地工作至关重要。近年来在该领域中,理论研究及材料应用发展较为迅速,半导体和金属膜技术、陶瓷烧结技术等迅猛发展。毋庸置疑,智能化、集成化和数字化将是传感器的未来发展趋势。   (三)执行器   执行器用来精确无误地执行 ECU发出的命令信号。因此,执行器工作的精确与否将最终影响电控的成败,正因如此,其工作可靠性和精确性一直作为研究重点而倍受关注。目前,汽车电控系统的执行器类型繁多,有电磁阀、电动机、压电元件、点火器、电磁继电器、热电偶等,结构与功能不尽相同。执行器的发展方向是智能化执行器和固态智能动力装置。   二、发动机电控技术及应用   发动机电控技术可分为电控汽油喷射、电子点火、怠速控制、排气再循环控制、增压控制、故障自诊断、故障保险、备用控制以及其它控制技术。   (一)电控汽油喷射(EFI)系统   电控汽油喷射系统(简称电喷系统)是60年代末开始发展起来的,较之早期普遍使用的化油器供油系统,其突出优点在于空燃比的控制更为精确,可实现最佳空燃比;而且电喷技术提高了汽油的雾化、蒸发性能 ,加速性能更好 ,发动机功率和扭矩显著升高。   目前,电喷系统主要采用开环与闭环控制(反馈控制)相结合的方式。对诸如暖机、怠速等需要供给浓混合气的工况采取开环控制,此外则通过排气管中设置的氧传感器,测量实际空燃比来进行反馈控制。由空气流量计或进气歧管绝对压力传感器和转速传感器测量进气空气量,由ECU根据冷却水温、进气温度、氧传感器信号等确定合适的空燃比,计算所需喷油量,进而对执行器(喷油器和电路断开继电器)进行控制。按照喷油器的安装位置的不同,电喷系统可分为3种型式:单点喷射(SPI)、多点喷射(MPI)和缸内直接喷射。单点喷射用 1~2个喷油器安装在进气管节气门处。多点喷射将各个喷油器分别安装在各缸的进气歧管中,使各缸混合气分配较均匀,故而在轿车中应用较广。并且,按照其喷油时序的不同,多点喷射又可细分为同时喷射、分组喷射和顺序喷射 3种,其中顺序喷射使喷油器能按各缸的点火顺序进行喷油,每循环喷一次,该种方式较前两种应用效果更好。缸内直喷特别是四冲程汽油机缸内直喷是当前轿车汽油喷射中的前沿技术,最早由日本三菱公司研制开发,其喷油器安装在气缸盖上,工作时直接将汽油喷入气缸内进行混合燃烧。直喷技术的实现大大降低了汽油机的油耗,动力性能也较多点喷射更为优越;同时,配合其他机构,使得高空燃比稀燃技术得以实现。   (二)电子点火控制系统   早在 2 0世纪初 ,点火系统在汽车发动机上已开始应用,从有触点式、普通无触点式、集成电路式,发展到现今的微机控制电子点火系统。微机控制电子点火系统可控制并维持发动机点火提前角(ESA)在最佳范围以内,使汽油机的点火时刻更接近于理想状态,进一步 挖掘发动机的潜能。   在微机控制点火系统中,目前出现了一种无分电器点火(DLI)系统,它取消了普通微机控制点火系统中的分电器,改由 ECU内部控制各缸配电。这样点火线圈产生的高压电,不需经过分电器分配,直接就送至火花塞发生点火。无分电器点火系统可消除分火头与分电器盖边电极的火花放电现象,减少电磁干扰。无分电器点火系统根据点火顺序的不同,有两缸同时点火和各缸独立点火两种。在两缸同时点火方式中,每两缸一组,合用一个点火线圈,所有缸体分成若干组按组依次进行点火;在各缸独立点火方式中,每缸的火花塞都设有单独的点火线圈(特别是随着超小型塑料包装的点火线圈的出现,使之与火花塞合为一体),这样各缸可依次轮流点火。   在发动机的点火控制中,同样采用了开环和闭环相结合的控制形式。起动阶段的点火时刻由ECU中的专门信号进行开环控制;正常运行期间,则通过增设爆震传感器进行爆震反馈控制,根据爆震传感器的反馈信号调整点火时刻使发动机在临界爆震状态。   

    时间:2020-09-08 关键词: 通信系统 低频 2dpsk matlab

  • 哈工大参加世界最大数学建模竞赛:被禁止使用MatLab

    哈工大参加世界最大数学建模竞赛:被禁止使用MatLab

    今年5月底,美国将33家中国公司和机构列入“实体清单”,禁止他们使用美国公司的产品、技术,而位列其中的哈工大、哈工程两家高校的师生很快发现,购买的Matlab商业数学软件无法再使用。 Matlab所属的MathWorks公司也确认,他们需要遵守美国政府规定,无法再向哈工大、哈工程的师生提供正版软件授权。 如今在参加2020年全国大学生数学建模竞赛时,哈工大的学生们尴尬地发现,他们无法再使用MatLab了,而别的高校参赛队伍都可以正常使用。 其实早在6月17日,也就是美国将哈工大列入“实体清单”几天后,哈工大还发布了参赛通知,其中并未限制使用的软件。 更尴尬的是,MathWorks公司也是这一竞赛的赞助商之一!一方面赞助一方面禁止使用…… 现在,竞赛组委会已经明确通知,哈工大参赛队伍不能使用MatLab。这样去参赛等于别人都是计算机,哈工大的学生只有算盘…… 全国大学生数学建模竞赛创办于1992年,每年一届,目前已成为全国高校规模最大的基础性学科竞赛,也是世界上规模最大的数学建模竞赛,号称“一次参赛,终生受益”。

    时间:2020-09-08 关键词: 建模 竞赛 数学 哈工大 matlab

  • CAN协议的错帧漏检率推导及改进过程简介

    CAN协议的错帧漏检率推导及改进过程简介

      当数据在传送中出错,且错帧被漏检时,就意味着错误的数据被送到应用层,除非应用层有额外的数据识别措施,这个数据就可能引起不可预测的结果。CAN协议声称有很低的错帧漏检率(4.7&TImes;10-11&TImes;出错率),有的宣传材料在一定条件下推出要1000年才有1次漏检,这是不正确的。错帧漏检率是一个十分重要的指标,很多应用就是看到Bosch CAN2.0规范上的说明才选用CAN的。但是对这个指标的来源仅有极少的公开资料,以及很少的讨论,使用户很难对它确认或验证,这给用户带来风险。本文采用了重构出错漏检实例的方法,导出了CAN的漏检错帧概率下限,它比CAN声称的要大几个数量级。在许多应用中,CAN已是可靠性和价格平衡下的不二选择,或者已被长期生产和使用,面对这个新发现的问题,在CAN本身未作改进之前,迫切需要一种“补丁”来加以改善。由于篇幅有限,所以只能摘要介绍错帧漏检率的推导过程,重点在提供解决方案。   1 关于CAN漏检错帧概率文献的讨论   Bosch CAN2.0规范说它的漏检错帧概率小于错帧率(message error rate)&TImes;4.7&TImes;10-11。它的来源见参考文献,其中没有提供产生漏检的分析算法,仅提到用大量仿真得到了公式。要判断一个帧出错后是否会漏检,至少要计算2次CRC,对每一bit仅就汇编语言也需要几条指令,以该文考虑的80~90 bit的帧,CRC覆盖58~66 bit就要循环58~66次,以1989年时常用的PDP11或VAX机,一条机器指令要0.1 μs左右,一帧的判断要0.07 ms,即使不停机做一年,能作2.20×1011帧,考虑58 bit可构成258=2.88×1017种不同的帧,再加有58×57种不同的加入2位bit错的位置组合,所以能作的仿真只是可能情况的微乎其微的一部分(百万分之一)。由于样本太小,归纳的公式也就很难把影响因素考虑完整。   1999年Tran对错帧漏检率也作了研究,鉴于分析困难,他也采用计算机大量仿真的办法,针对11位ID 、8字节数据帧,他用的是600 MB的Alpha服务器。与上述讨论一样,虽然仿真量很大,仍然是可能情况的极小部分。   CAN有关的另一个标准CANopen Draft Standard 304 (2005)给出的错帧漏检率是(7.2×10-9)。同样来自CAN自动化协会的不同数据,使人无可适从。   2 新错帧漏检率的导出   本文的研究方法是构造出漏检的实例,确定该种实例占可能的帧的概率,乘以与该实例相应的出多位错的概率,然后求出所有可能的实例,得到CAN的错帧漏检率。本文对最有可能造成漏检的二位错情况进行分析,然后扩大为有多位错。数据域取8字节,并假定错都发生在数据域内。它并没有将超过CRC校验能力时的分散的多bit错漏检率考虑进去,所以得到的是漏检错帧概率的下界。   2.1 CAN位填充中有错时的位序错开   在有可能产生填充的位流中有bit错时,就有可能造成发送方与接收方只有一方执行填充规则,造成填充位与信息位理解的错乱。图1(a)的第3位传送中出错,结果发送方的填充位1被接收方误读为数据1,整个接收数据比发送数据长了1位。图1(b)的第3位传送中的错使接收方产生了删除填充位的条件,因此它把发送的数据1删去,接收数据流短了1位。      图1 CAN的位填充规则使出错后接收位流变化   从位流变化可以知道,如果发生的2个bit错正好一次是图1(a)的类型,一次是图1(b)的类型,那么发送数据流和接收数据流的长度将仍然相等,如果2个错都发生在数据域,CAN的其他检验是发现不了它们的。   2.2 发生漏检的条件   发送的位流与接收的位流可写为多项式形式Tx(x)和Rx(x),CRC检验就是用CAN的生成多项式G(x)除这2个式子,得到的余数称为CRC值,如果2个余数相同,CRC检验通过。当发生传送错误,Rx (x)= Tx(x)+U(x)×G(x)时,对Tx(x)和Rx(x)求到的余数是相同的,这时就发生了错帧的漏检。因此只要找到U(x),就可以构造出漏检的实例。

    时间:2020-09-06 关键词: 算法 服务器 can总线 matlab

  • 基于Matlab绘制二维和三维图形以及其他图形控制函数的使用方法

    基于Matlab绘制二维和三维图形以及其他图形控制函数的使用方法

    Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。 本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。 一.二维绘图 二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。 一.绘制二维曲线的基本函数 在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。 1. plot函数的基本用法 plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。plot函数的应用格式 plot(x,y)     其中x,y为长度相同的向量,存储x坐标和y坐标。 例51 在[0 , 2pi]区间,绘制曲线 程序如下:在命令窗口中输入以下命令   >> x=0:pi/100:2*pi; >> y=2*exp(-0.5*x).*sin(2*pi*x); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。 例52 绘制曲线 这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线: >> t=-pi:pi/100:pi; >> x=t.*cos(3*t); >> y=t.*sin(t).*sin(t); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。实际应用中还有一些变化。分别说明: ① 2. 含多个输入参数的plot函数 plot函数可以包含若干组向量对,每一组可以绘制出一条曲线。含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn) 如下列命令可以在同一坐标中画出3条曲线。 >> x=linspace(0,2*pi,100); >> plot(x,sin(x),x,2*sin(x),x,3*sin(x)) 当输入参数有矩阵形式时,配对的x,y按对应的列元素为横坐标和纵坐标绘制曲线,曲线条数等于矩阵的列数。 >> x=linspace(0,2*pi,100); >> y1=sin(x); >> y2=2*sin(x); >> y3=3*sin(x); >> x=[x;x;x]'; >> y=[y1;y2;y3]'; >> plot(x,y,x,cos(x)) x,y都是含有三列的矩阵,它们组成输入参数对,绘制三条曲线;x和cos(x)又组成一对,绘制一条余弦曲线。 利用plot函数可以直接将矩阵的数据绘制在图形窗体中,此时plot函数将矩阵的每一列数据作为一条曲线绘制在窗体中。如 >> A=pascal(5) A = 1     1     1     1     1 1     2     3     4     5 1      3     6    10    15 1     4    10    20    35 1     5    15    35    70 >> plot(A) 3. 含选项的plot函数 Matlab提供了一些绘图选项,用于确定所绘曲线的线型、颜色和数据点标记符号。这些选项如表所示:   例 用不同的线型和颜色在同一坐标内绘制曲线 及其包络线。 >> x=(0:pi/100:2*pi)'; >> y1=2*exp(-0.5*x)*[1,-1]; >> y2=2*exp(-0.5*x).*sin(2*pi*x); >> x1=(0:12)/2; >> y3=2*exp(-0.5*x1).*sin(2*pi*x1); >> plot(x,y1,'k:',x,y2,'b--',x1,y3,'rp'); 在该plot函数中包含了3组绘图参数,第一组用黑色虚线画出两条包络线,第二组用蓝色双划线画出曲线y,第三组用红色五角星离散标出数据点。 4. 双纵坐标函数plotyy

    时间:2020-08-04 关键词: 二维图形 三维图形 matlab

  • matlab实现的自适应滤波算法

    matlab实现的自适应滤波算法

      MATLAB语言简介   MATLAB是美国MathWorks公司开发的大型数学计算应用软件系统,它提供了强大的矩阵处理和绘图功能,简单易用,可信度高,灵活性好,因而在世界范围内被科学工作者、工程师以及大学生和研究生广泛使用,目前已经成为国际市场上科学研究和工程应用方面的主导软件。掌握MATLAB并借助它解决理论与应用问题已经成为每一个从事科学研究和工程技术人员应该具备的技能。   MATLAB是Matrix Laboratory(矩阵实验室)的缩写,是当前最流行、功能强大的科技应用软件和编程语言之一。MATLAB语言有以下特点:   1、功能强大:数值计算和符号计算,计算和编程可视化,数字和文字的统一处理,离线和在线计算;   2、界面友好,语言简明:以复数矩阵为计算单元,指令表达与数学表达式相近,是一种演算式语言;   3、开放性强:具有70余个功能强大的工具箱,覆盖面极广,可以完成数字图像处理、系统仿真、系统辨识、模糊控制、神经网络建模、信号处理、鲁棒控制、非线性控制、优化理论、统计分析等。   MATLAB成为应用学科计算机辅助分析、设计、仿真、教学必不可少的基础软件。工具箱函数为各个领域的研究和工程应用提供了有力的手段。   MATLAB系统的基本函数库具有初等函数、初等矩阵和矩阵变换、包括性代数方程组和矩阵特征值问题等数值线性代数、多项式运算和求根、数据析和傅立叶变换以及某些特殊的矩阵函数和数学函数等众多内容。   MATLAB还包括一系列被称作工具箱(TOOLBOX)的专业求解工具。工具箱实际上是MATLAB针对不同学科、不同专业所开发的专用函数库,用来求解各个领域的数值计算问题,包括数据采集工具箱、信号处理工具箱、图像处理工具箱、小波分析工具箱、控制工具箱等。随着MATLAB的不断升级,所含工具箱的功能越来越丰富,规模越来越庞大,因此,应用也越来越广泛,成为各种专业科研人员和工程技术人员的得力工具。   一个图形界面的完成,最终是通过图形界面的各种控件对象的操作来完成,而这些操作必定是通过Matlab 中函数代码的执行来完成的。函数代码的编制可以通过编写回调函数完成,而编写时当所要求执行的指令比较简单时,可以把该控件的代码直接写在“CallBack“属性中;当所要求执行的指令比较长时可以把函数代码放在一个自定义的M 文件中,在“CallBack”中直接将其文件名写上,也可以在主控文件中直接编写,当操作该控件时系统会自动执行“CallBack”中所要求执行的内容。   在本设计中,采用的是在主控文件中直接编写的方法,在GUI 界面单击当前需要编写程序的控件,然后右击将出现一个右键菜单,然后选择Callback 选项,即可直接进入主控M 文件,并且系统会自动生成语句。   目前的MATLAB已经成为国际上最为流行的软件之一,它除了传统的交互式编程之外,还提供了丰富可靠的矩阵运算、图形绘制、数据处理、图形处理,方便的windows编程等便利工具,出现了各种以MATLAB为基础的实用工具箱,广泛地应用于自动控制、图像信号处理、生物医学工程、语言处理、雷达工程、信号分析、振动理论、时序分析于建模、优化设计等领域。   算法实现设计   本课题的主要内容是在MATLAB上实现自适应滤波器的设计。课题的具体内容   为利用GUI界面设计出滤波器的选择界面、参数的输入界面、结果分析图等。其中滤波器的设计将会用两种算法实现既LMS算法和RLS算法,算法实现的基本设计框图如图4所示。   GUI界面的设计   由于本论文要实现两种不同的算法,通过GUI界面设计能给人一个比较好直观的效果。同时两种算法在参数取值方面会有不同之处,因此在软件设计中,我通过文本编辑框控件来接收用户输入的滤波器设计指标值,这让我们能更方便的通过调整不同的参数值观测实验结果,从而来保证滤波器的最佳状态。此外,Matlab 通过创建应用程序M 文件为GUI控制程序提供一个框架。所有代码都包含在应用程序M 文件中,即完成了图形界面的设计后,应用程序设计的主要工作是控件回调函数的设计。自适应滤波算法的主界面如图5。   LMS算法的实现   LMS算法实现流程图如图6。   在图中,w(k)为滤波器滤波系数矢量估值,w(k+1)=w(k)-u,u是一个控制因子,用它来控制收敛速度与稳定性,u太大不稳定,u太小收敛速度很慢。通常0《u《1/max,max是R中的最大的特征值。(k)是误差梯度,直接计算(k)=J(w)/w很复杂,一般直接用误差的平方作为均方误差E|e(k)2估计值(k)。因为E{(k)}=k表明(k)是无偏估计。   直到计算到达到(e)k预期小的值为止,或(w)k达到稳定为止。   根据u的取值不同LMS算法可分为以下三种类型:

    时间:2020-08-04 关键词: 滤波算法 matlab

  • MATLAB中模糊神经网络工具箱的使用

    MATLAB中模糊神经网络工具箱的使用

      前些天把玩了一下MATLAB中神经网络工具箱的使用,忽有“扪参历井仰胁息”之感。别的倒是没什么,只是神经网络的数据组织结构有些“怪异”,要是不小心就会导致工具箱报错。以下便是神经网络工具箱的正确打开姿势,谨供诸君参考:   先贴一个使用批处理命令调用神经网络工具箱的方法:   P = [0.1515 0.1501 0.1509 0.1504 0.1504 0.1500   0.1515 0.1501 0.1509 0.1504 0.1504 0.1500   0.1515 0.1501 0.1500 0.1504 0.1504 0.1500   0.1515 0.1500 0.1509 0.1504 0.1504 0.1500   0.1515 0.1500 0.1509 0.1504 0.1504 0.1500   0.1515 0.1500 0.1509 0.1504 0.1504 0.1500   0.9684 0.2792 0.877 0.7426 0.7228 0.2272   0.9838 0.2941 0.9181 0.7977 0.7702 0.2452   0.9922 0.3101 0.9475 0.8445 0.8227 0.2665   0.9953 0.3058 0.9625 0.8708 0.8637 0.2624   0.9982 0.3242 0.9797 0.9089 0.9001 0.3008   0.9995 0.3469 0.9917 0.9314 0.9282 0.3678   0.9998 0.3565 0.9948 0.9493 0.9525 0.4500];   T= [0.1521   0.6949   0.7064   0.7083   0.7560   0.7807   0.8182   0.8533   0.8677   0.8459   0.8910   0.9269   0.9496];   P=P‘;T=T’;   ff=newff(P,T,13);   ff.trainParam.epochs = 15000;   ff = train(ff,P,T);   Y1 = sim(ff,P);   cf=newcf(P,T,13);   cf.trainParam.epochs = 15000;   cf = train(cf,P,T);   Y2 = sim(cf,P);   plot(P,T,‘o-’);   hold on;   plot(P,Y1,‘^m-’);   plot(P,Y2,‘*-k’);   TItle(‘newff & newcf’)   legend(‘原始数据’,‘newff结果’,‘newcf结果’,0);   上面这个方法要注意P和T应该要先进行转置,即神经网络训练样本是矩阵的每一个列。   首先要做的自然是安装MATLAB,这个步骤我就不过多描述了,请诸君自行参悟。打开后在命令行输入:anfisedit ,然后就会出现如下的界面:      首先点击第一个红框中的“Load Data”按钮来导入数据,可以从文件导入也可以从工作空间导入。这里要说明的是导入数据的格式,它必须满足如下的要求:数据前面部分是系统输入,后面部分是系统输出。假设我们的系统是3输入1输出,那么数据就应该是:[x1,x2,x3,y]。   先导入系统所需的训练数据(第一个红框选的是数据类型为:Training)。导入数据后,工具箱会在相应位置打点,情况如下:      单击“Edit”菜单下的“FIS ProperTIes”选项,出现如下的界面:   

    时间:2020-08-03 关键词: 模糊神经网络 matlab

  • Linux硬核回应美实体清单

    Linux硬核回应美实体清单

    自去年下半年开始中美贸易以来,这两个国家甚至更多国家在生活和旅行,技术交流和技术发展方面遭受了许多不便。特别是与美国对华为的种种压迫有关,中国目前的形势相对困难。特别是在技术领域,美国在技术和半导体领域占据主导地位。美国对中国的压迫仍然在于技术的拦截和控制。合作和进入公司名单的结尾现在是美国将中国除名。可以使。上个月,美国将哈尔滨工程大学和哈尔滨工业大学等大学加入了公司名单,然后禁止以原始形式购买Matlab。据说此举引起了一波恐慌,但这没关系,因为上个月中国的技术从业者讨论了一个问题:开源技术是否由各州控制?联合的?如果代表美国使用开源技术,那么中国的开源技术将与美国完全隔离。 反正事情已经这样发展了,中国技术者难免会做出最坏的打算。开源技术是什么?开源技术就是开放源代码,开源技术是程序猿的好朋友,并且功能强大,安全自由免费,向全世界开放,这些免费向世界开放的源代码影响着热爱技术的人。 近段时间全球最大的开源社区LINUX发布了一篇文章,文章里的核心观点是已经在社区里发布的开源科技和美国没有关系,不会受到美国的管辖和管制,开源技术属于全人类,而不是个人和政府。中国的程序员们可以说是松了一口气。尽管美国想要管制中国的技术发展,但是开源技术本来就是面对全世界的免费技术,就算是美国的开源技术也跟美国没有半点关系。 Linux社区的这篇文章让大家都松了一口气,因为它代表的是开源社区的最高发声者,在2007年成立了基金会后得到了来自世界各地科技公司和开发者的支持。但是我们仍然要有居安思危的意识,仍然不能忘记美国在技术层面上对我国的管控有多严格。 大家都明白的是美国将中国300多家企业、高校都列入了实体清单,这给中国日后的发展带来了很多不利的影响,更不要忘记中兴和华为是美国现在针对的主要目标。那些被列入实体清单的企业和学校又要如何发展。其实这些问题都可以看出美国对中国的担忧越来越大,中国变成越来越棘手的难题,对美国来说,中国变成了最大的威胁,这样想也不是什么坏事。中国正在被迫实现全面自主,科技独立,健全整个行业的发展,这是一件大好事呀。

    时间:2020-08-02 关键词: Linux 开源 matlab

  • Linux开源的东西会受到限制吗?

    Linux开源的东西会受到限制吗?

    随着制裁的增加,不仅增加了华为,而且增加了许多国内高科技公司,例如海康威视,DJI,SenseTime和iFlytek,以控制实体的列表。 一些国立科技大学也受到限制。 例如,前一段时间哈尔滨工业大学被排除在提供MATLAB软件之外。 国内这些年科技进步是有目共睹的,但是基础薄弱也是事实,因为起步较晚,发展滞后,所以很多科技产业仍旧存在很多差距,一方面确实是因为技术达不到,而另一方面则是数不清的专利丛林,我们不得不想办法规避,而且科技产业一直都是国外主导,所以很多标准也是由他们制定。 我们在他们的标准下发展,无论是硬件和软件都已经养成了习惯,很难去改变,而其中最重要的就是生态,有了生态之后,很多问题都会迎刃而解,所以国内也在想办法打造自己的生态,建立自主可控的操作系统,目前国内已经有了很多类似的操作系统,但是都是基于Linux内核开发而来。 除了操作系统,还有诸如数据库,CUBRID、MySQL、SQlite、MongoDB等指令集也是如此,比如龙芯就是用的MIPS,新兴的RISC-V,这些技术都有一个共同特点那就是开源,拥抱开源意味着起点更高,不用去从头开始从零做起,其实本来也没有意义,就像有些人总觉得我们还在用C语言,Java这些编程语言,为什么不开发中文的编程语言呢? 实际只要学过编程的人都不会再问这么傻的问题了,因为底层都是0和1的二进制,这也是外国的,难道我们也要重新去开发新的进制编码?所谓国产化,并不是非要从根到叶全部国产化,而是可以做到自主可控,不受威胁就可以了,所以拥抱这些开源协议确实是一种走捷径的方法,但并没有什么不妥。 那么最关键的问题来了,这些开源软件是否会遭到限制而断供呢?毕竟国内很多项目都是基于开源协议而来的,特别是操作系统,都是基于Linux,其实大可不必担心,目前linux基金会也对此做了回应,只要企业在被制裁之前加入了开源协议的话,那么就会随便使用不用受到制裁影响。 其实这就是开源协议的好处,无论是软件还是硬件,遵循开源协议之后,可以允许商业行为,但是开源的软件或者或者硬件却不属于任何组织和国家,而是属于全人类共享的,可以自由传播,不受约束,当然也可以成为贡献者之一,比如Linux就是典型这类软件。 本身这类软件就是属于全人类,在开源项目的发展之中,就会有全世界的公司或者个人参与进来添砖加瓦,也都是贡献者之一,这就是开源的意义。在未来肯定会有越来越多的开源项目出现,有很多支持者加入进去,全人类共同参与才能让开源的项目更加强大,所以用Linux开发国产操作系统不用担心会被断供和卡脖子。 至于安全问题,一直都有人觉得闭源操作系统肯定比开源安全,因为开源的漏洞容易被攻击者发现,但其实各有各的好处,开源的漏洞容易被攻击者发现自然也容易被维护者发现,Windows是闭源的,但是却是被攻击量最多的操作系统,而且开源就没有办法留后门,而闭源却是一个黑盒子,内部如何构造,使用者根本不知道。 其实目前不光我们国家,世界上其他国家所谓的自研操作系统也都是基于Linux而来,包括军用系统,世界上目前就这三大操作系统内核,UNIX,Windows,Linux,重新去开发一个操作系统内核费时费力而且也没有必要,所以不光软件,下一代指令集也开始拥抱开源了。 ARM虽然目前仍旧如日中天,并且在试图挑战X86,但是比ARM更加先进的指令集RISC-V也已经问世,这款指令集最大特点就是开源,但是却不会像MIPS那样最后造成生态碎片化严重的问题,未来还是非常可期的,目前国内已经有许多公司都成为RISC-V的成员了,此外IBM也将自家的PowerPC开源了!

    时间:2020-07-21 关键词: Linux 开源 matlab

  • ADAS系统的协作式动作管理控制架构理念

    ADAS系统的协作式动作管理控制架构理念

    据外媒报道,英国拉夫堡大学(Loughborough University)与捷豹路虎提出了ADAS系统的协作式动作管理控制架构(coordinated control architecture for moTIon management)理念,旨在提升所有车辆的安全性及舒适性,适用于所有ADAS规格。 如今,在应用的ADAS系统种类繁多,该类系统通常都能为用户提供特色功能,可借助车载系统的新增控制件来实现,例如:制动或转向系统。ADAS系统通常被用作驾驶员的辅助工具,但不得被用于代替驾驶员完成车辆的驾驶操控。 ADAS系统的物理建模与控制架构是利用MATLAB/Simulink来执行的,该类开放性平台可供各方开展进一步的研发工作。有一支团队预计到,在动态模式下,该架构不易受细节变化的影响。 该款协作式动作管理控制架构分为四个层级:最顶端为ADAS级,负责生成作为指令的理想行驶轨迹(ideal trajectory)。第二层级为高级别(任务管理器,task manager)的动作协调器;第三层为低级别的协作式动态控制器;最后一层为底层的车辆动力学模型(vehicle dynamics model)。 研究团队在模拟器上运行各类综合性信息,旨在分析在车辆变道时,各独立系统是如何影响车辆行驶轨迹(vehicle trajectory)的。 他(她)们发现,转向系统将导致模拟车辆脱离目标,而制动系统的制度幅度过大(overshot)。 研究人员将继续致力于拓展系统控制架构体系,从而更好地研发ADAS协作式控制。他们将会检验新系统是如何与当前系统进行干涉,以便全面了解该系统的控制性能及稳定性。 该研究获得了拉夫堡大学模拟创新项目的支持。

    时间:2020-07-20 关键词: adas系统 matlab

  • 如何使用 MATLAB?MathWorks推新产品加强预测性维护算法

    如何使用 MATLAB?MathWorks推新产品加强预测性维护算法

    推出用于设计并测试状态监测和预测性维护算法的新工具箱 MathWorks 今日宣布推出新的 MATLAB 产品 PredicTIve Maintenance Toolbox,帮助工程师设计并测试状态监测和预测性维护算法。PredicTIve Maintenance Toolbox 为算法工程师提供了一系列功能和参考范例,用来组织数据、设计状态指标、监测机器运行状况和预估剩余使用寿命 (RUL),从而避免设备故障。 借助 PredicTIve Maintenance Toolbox,工程师能分析和标注从存储于本地或云端的文件中导入的传感器数据。他们还能标注从 Simulink 模型生成的仿真故障数据以表征设备故障。利用在频谱分析和时序分析等技术所构建的信号处理和动态建模方法,工程师能够预处理数据并提取可用来监测机器状态的特征。使用生存分析、相似性分析和基于趋势的模型来预测 RUL,可帮助工程师预估机器发生故障的时间。该工具箱包括发动机、变速箱、电池和其他机器的参考范例,可以复用以开发自定义的预测性维护和状态监测算法。 现在,工程师开发和验证必要的算法,通过监测传感器数据,以预测设备何时可能发生故障,或检测任何潜在的异常现象。这些算法可以通过访问存储在本地文件系统、云存储系统(如 Amazon S3 和 Windows Azure Blob 存储)或 Hadoop 分布式文件系统上的历史数据,得以开发。另一个数据源是来自包含故障动态的设备物理模型的仿真数据。工程师可以从此数据中提取和选择最合适的特征,然后借助交互式应用程序,用这些特征训练机器学习模型,以预测或检测设备故障。 “预测性维护是工业物联网的一个重要应用。它对于减少不必要的维护成本和消除计划外停机十分关键。那些通常没有机器学习或信号处理背景的工程师会发现,设计预测性维护的算法特别具有挑战性。” MathWorks 公司技术市场经理 Paul Pilotte 说,“现在,通过使用 PredicTIve Maintenance Toolbox 学习如何设计和测试这些算法作为起点,这些团队能够快速上手并提高。” 有关工程师团队如何使用 MATLAB,通过预测故障来减少设备停机时间、自动确定故障的根本原因和避免不必要维护成本的详细信息。

    时间:2020-07-15 关键词: 工业物联网 mathworks 预测性维护 matlab

  • 哈工大 / 哈工程 MATLAB 被禁:我们如何做出能卡别人脖子的软件

    哈工大 / 哈工程 MATLAB 被禁:我们如何做出能卡别人脖子的软件

    今年6月,哈尔滨工业大学、哈尔滨工程大学因被列入美国商务部实体名单,并被禁用数学基础软件Matlab,引发了关于国产软件的大规模讨论。对于大多数理工科学生而言,Matlab并不陌生,Matlab是一款被广泛应用于教学、科研、工业领域的基础软件,而这类EDA(Electronic Design Automation,电子设计自动化)软件,却刚好又是我国的短板。正因如此,不少行业人士感慨,这次我们真的是被卡脖子了。6月19日,中科院计算所研究员、先进计算机系统研究中心主任,中国开放指令生态联盟秘书长包云岗在微博上分享了他在「CCF YOCSEF杭州· Matlab被禁之特别论坛」上关于“Matlab被禁”事件带来的思考与启发的发言。包云岗指出,当我们在思考如何解“Matlab被禁”这个燃眉之急的同时,更需要考虑如何才能在未来做出像Matlab这样的工具,做出能卡别人脖子的技术。至于如何做出像Matlab这样能卡别人脖子的软件,包云岗总结为如下四点:第一,把东西做出来,而不是追求把论文发出来;第二,把东西用起来,而不是做完就扔了;第三,把教学场景用起来,而不是把教学当作负担;第四,把持久战意识树立起来,而不是期望速胜论。以下为包云岗在「CCF YOCSEF杭州· Matlab被禁之特别论坛」发言原文,雷锋网做了不改变原意的编辑整理:很多人都在思考如何解决“Matlab被禁”这个燃眉之急的问题。大家回顾了中国的工业软件发展之痛,批评国内的盗版问题、知识产权保护问题、重硬件轻软件等一系列问题。也提出了很多好的建议,比如给了针对Matlab各种功能的开源软件替代方案。这些都算是“昨天和今天”的事。现在我想和大家一起讨论一下关于“明天”的事。我们每个人可以问自己一个问题:从现在这个时间点开始,给10年时间,甚至20年时间,我们能做出一个卡别人脖子的东西吗?(并不是说真的要去卡别人脖子,而是说要成为别人离不开的东西)如果从这个角度来看这次“Matlab被禁”事件,那么给我们更多的是启发。我们都知道Matlab最初只是新墨西哥大学Clever Moler教授在1970年代用于教学中的一个小工具软件,那它为什么能在几十年后成为卡我们脖子的利器?我们一起来梳理一下Matlab发展过程中折射出来的几个理念:一、把东西做出来,而不是追求把论文发出来。Matlab网站上有一篇Moler教授自己在2018年写的Matlab简史。他在开头就写道,在1971年和1975年他所在团队向NSF申请了两个项目,目标是“探索开发高质量数学软件的方法、成本和资源”。他自己也认为,从某种程度上来看,这两个项目是失败的,因为他们没有发表出一篇论文,他们只是开发出了两个软件:一个是EISPACK,另一个是LINPACK。而且这两个软件也谈不上有多大的学术创新,因为EISPACK就是把1965-1970年发表论文中用Algo60写的算法翻译为Fortran,而LINPACK则是直接用Fortran重写一遍。二、把东西用起来,而不是做完就扔了。虽然EISPACK、LINPACK没有相关论文发表,学术创新也似乎不是很高,但确实是两个很有用的软件。EISPACK的开发团队在1974年写了一本使用手册,我在Google Scholar上查了一下,到现在已经被引用了1800多次,1970-1980年代使用非常广泛。LINPACK更是世界超级计算机排行榜Tops500的基准测试程序,可以说是影响了世界超级计算机的发展。三、把教学场景用起来,而不是把教学当作负担。Matlab是Moler教授想把EISPACK和LINPACK应用于教学过程中的产物。如果Moler教授不是用心去做教学,不是为了能让学生更好地掌握线性代数与数值分析,更容易地使用EISPACK和LINPACK这两个软件,那么他就不会有动机自己动手去写一个Matlab小工具来把这两个软件接口封装起来,从而方便学生使用。今天,由于严苛的科研竞争环境和考核压力,很多人都把教学当作了一种负担,认为会影响科研。但教学其实是试验新技术、新工具最好的应用场景,因为试错成本很低,而且学生的创新性和主动性,还能帮助改进优化技术和工具。Matlab最终走上了商业化道路,就是因为Moler教授在斯坦福大学给学生上课时,有两个学生对Matlab很感兴趣,主动提出用C重写一遍,同时移植到IBM PC上。很多技术最早都是从课堂上发展起来,比如RISC架构是David Patterson教授在伯克利的课程实验。四、把持久战意识树立起来,而不是期望速胜论。坚持围绕一件事做,几十年后的累积效应是惊人了。中国今天被卡脖子的东西,几乎都是别人积累了20年以上的东西。从第一版Matlab算起到现在已经有40年,1980年代初的第一代EDA软件到现在也有快40年,Intel在1970年左右第一代微处理器到现在已经有50年。台积电1987年成立到现在也是积累了30多年。其实在学术界也有很多有影响力的工作也是多年积累的产物,我们可以看一下ACM System Software Award,获奖的软件基本上都是持续积累了几十年,比如LLVM持续优化了17年、Eclipse优化了19年、Wireshark优化了22年、Coq优化了31年,GCC则有33年。再仔细剖析一下Matlab以及MathWorks这家公司,可以说是持久战的典范。MathWorks在1984年成立,只有1名员工。第一笔收入是1985年卖给了MIT10个Matlab版权,收入500美元。MathWorks公司早期很不起眼,有个玩笑称它前7年员工数每一年翻一番——1984年1个员工,1985年2个员工,1986年4个员工,直到7年后的1991年也才只有128个员工。和今天很多初创公司相比,这个成长速度就像是蜗牛了。但是他们力出一孔,围绕着Matlab不断增加功能,使Matlab成为一个行业领先的工具软件。1997年,MathWorks的营业额达到了5000万美元,380名员工。如今2019年MathWorks公司营业额是10亿美元,3000多员工,全球有400多万用户。虽然从营业额看并不大,但其实我们更应该学习这种模式——不断积累。把一项技术做到极致,成为某个细分领域的隐形冠军。最后总结一下,当我们在思考如何解“Matlab被禁”这个燃眉之急的同时,更需要考虑如何才能在未来做出像Matlab那样的工作,做出能卡别人脖子的技术。这需要我们做出改变,观念上的改变,行动上的改变。

    时间:2020-07-14 关键词: 哈工大 哈工程 matlab

  • 哈工大被禁用 Matlab 后:国产可替代软件 Truffer 出现

    哈工大被禁用 Matlab 后:国产可替代软件 Truffer 出现

    近日,美国商务部将哈工大、北航等 33 家机构纳入实体清单,也就是说,凡是在实体清单以内的公司以及机构,如果没有获得美国政府的具体批准,将无法使用含有美国技术的产品。此举曾引发全民热议。哈工大就该问题向 Matlab 的公司 MathWorks 进行沟通,但就该问题,目前的进展是无法解决。许多哈工大的同学表示,研究受到较大的影响,因为需要 Matlab 的地方非常多。那么问题来了,有没有其它可以替代的方式呢?国产软件可替代 Matlab:Truffer转机来了,在最近该问题下,又更新了一个高达 8593 票赞同的答案:有一款国产软件可以替代 Matlab 来进行计算研究?有的,这款软件的名字叫 Truffer。该款软件的开发者表示,美国禁止哈工大使用 Matlab 是给国产软件送机会,Truffer 将在半年内实现 Matlab 科学计算与图形显示的 70% 功能,1 年内 100% 实现,3 年内完全实现 Simulink,100% 自主版权源代码;并且无需 OpenGL 等组件支持的三维、四维图形显示。短期内将在周全性、高性能并行计算、专业的拓展工具箱等方面可能会稍显落后,但该软件可以应付日常 90% 的 Matlab 的科研需求,而且还能根据 Matlab 的现有功能进行优化,最后达成比 Matlab 更好用、更易用。如果有意等待试用,可以给该答案下留言或者给作者私信留下邮箱,将会获得源码以及试用版。评论区已经有小伙伴拿到了源码,目前正在研究。由于听过太多次想法了,作者认为还是放出软件源代码图来证明比较合适。源代码由 C#(树)比如像大家经常使用的矩形域最小二乘曲面拟合计算,Truffer 可以做到:作者也强调了,该运行过程完全具有自主知识产权,没有使用 OpenGL。而这张图看上去平平无奇,实际上是六维曲面,将曲面法线 xyz 作为另外的三维数据,并用不同的颜色显示。肯定有人说,就这?不止喔,看好,该软件还可以使用数据拟合计算出伽马分布的参数,绘制相应的曲线。曲线为试验曲线,并保留了高次多项式的 “Runge”来对照。这就完了吗?并不是,Truffer 还能画一些很有意思的图。比如读取 OBJ 文件,自主三维渲染得到的洛克希德 SR-71 飞机(仿真图片)。纯 C# 自主代码,没有用 openGL 或者 directX再看看 JET ENGINE 飞机发动机模型:Truffer 除了以上和正在紧急开发以外,还保留了一个数学历史科普的资料区,里面包含了大量的数学家的全名以及照片,说不定里面就有你我都不认识的数学家。目前来说,Truffer 可以使用试验数据来绘制曲线和导出公式,还能进行三维有限元计算(比如解稀疏矩阵)。当然这些是属于初级应用,如果还需要个性化或者复杂的就需要和 Matlab 一样进行编写程序来实现。对此软件,网友几乎都是清一色的鼓励并且盼望早日能用上该软件。Matlab 软件这次是正好由国产软件顶上,那下次呢?根据目前的形势是无法判断的,会不会有更多的美国公司的软件受到影响?希望科研无国界那一天能够早日到来。

    时间:2020-07-13 关键词: matlab

  • 知乎热议:替代Matlab的国产软件出现 半年内实现Matlab功能的70%

    知乎热议:替代Matlab的国产软件出现 半年内实现Matlab功能的70%

    亡羊补牢,犹未晚也。 近日,哈工大、哈工程 Matlab 被禁一事引起了各方科研人员的注意。不少专业人士表示 Matlab 被禁是意料之中,但如何找到一款替代品却是一大难题。 也有人提出可以用 Octave 等开源软件替代,但要想实现 Matlab 的复杂生态还需要至少十年的时间。它背后的生态,算法,是集齐大批各个行业的有代码能力和算法能力的博士工作数十年积累而成的。 不过,近日一家国产软件公司却提出—;—;要在半年内实现 Matlab 科学计算和图形显示功能的 70% ,1 年内 100% 全部实现。 消息一出,立刻引起了高度关注。 网友也纷纷表态:期待,支持国产! 替代 Matlab 的软件 Truffer 是啥? 所以,这个宣称替代 Matlab 的软件到底长啥样? 在知乎关于Matlab 被禁的问题里,这家软件公司展示了 Truffer 的实力:Truffer 完全基于C#编写,100% 自主版权源代码,无需 openGL 等组件即可支持三维、四维图形显示。 该款软件的开发者表示: 美国禁止哈工大使用 Matlab 是给国产软件送机会,Truffer 将在半年内实现 Matlab 科学计算与图形显示的 70% 功能,1 年内 100% 实现,3 年内完全实现 Simulink,100% 自主版权源代码;并且无需 OpenGL 等组件支持的三维、四维图形显示。 短期内将在周全性、高性能并行计算、专业的拓展工具箱等方面可能会稍显落后,但该软件可以应付日常 90% 的 Matlab 的科研需求,而且还能根据 Matlab 的现有功能进行优化,最后达成比 Matlab 更好用、更易用。 如果有意等待适用,可以给该答案下留言或者给作者私信留下邮箱,将会获得源码以及试用版。评论区已经有小伙伴拿到了源码,目前正在研究。 有网友已经收到一部分源码,并已经开始研究。 首先,软件源代码图长这样: 雷锋网(公众号:雷锋网)也询问了一位程序员,据他介绍从源代码图来看,这个软件和 Matlab 的部分功能还是很贴近的,但具体功能如何还不得而知。 Truffer 不仅可以做到矩形域最小二乘曲面拟合计算,还可以实现数值拟合的基本功能,即通过获取一些符合伽马分布的数据点,通过拟合曲线算出 α 和 β 数值。 除此之外,Truffer 还能画一些很有意思的图。比如读取 OBJ 文件,自主三维渲染得到的洛克希德 SR-71飞机(仿真图片)。 同时,他们还强调,该运行过程完全具有自主知识产权,没有使用 OpenGL。 总的来说,Truffer 可以使用试验数据来绘制曲线和导出公式,还能进行三维有限元计算(比如解稀疏矩阵)。 不过,该软件公司也表示,由于 Truffer 还未完全成熟,短期内会在周全性、高性能并行计算、专业的扩展工具箱等方面落后于 Matlab ,需要更多第三方的支持,不过 Truffer 足以应付大家 90% 的日常科研需求。 得知背后公司后,网友们却有点悲观 这个软件公布之后,背后的软件公司—;—;联高软件公司也被挖了出来。 天眼查显示,北京联高软件开发有限公司成立于 2002 年,位于北京海淀高科技园区,属于高科技企业、双软企业。 根据其官方显示的信息,联高曾开发过多个文档管理软件、VNUC 数控加工仿真软件,还有一款用于扫描图像增强的免费软件原本。但是官网上却不见 Truffer 的任何信息。 团队方面,核心成员均具备 20 年以上的经验。旗下目前有四款产品,分别是多可文档管理、联高资产管理、数控加工仿真和“原本”小工具。其中多可文档管理的客户包括证监会、神州数码、北京交通大学等机关、高校、企业,甚至还包括了中国科学院微电子研究所。 但是,这个公司目前已有的业务中,跟 Matlab 好像搭不上边。 成立 18 年,从过往合作高校企业来看,这家软件公司的实力还是不错的,只是从其业务线来看,这家公司的主营业务与 Matlab 关联并不是很大,网友们见状,对替代软件 Truffer 也产生了怀疑,大家开始抱着理性的态度重新审视这款软件。 首先,从技术上分析,大部分人认为,这款软件实现的其实都是最基础的功能,要想实现 Matlab 的功能似乎还有点远。知乎网友梨雪梅表示:这是不是同学课设的大作业的源码,毕竟这个代码,确实有点粗陋了。 知乎用户 architec 也表示赞同。 其次,从公司实力上分析,大家对其能否实现半年内实现 Matlab 科学计算和图形显示功能的 70% ,1 年内 100% 全部实现的豪言壮语表示怀疑。 但雷锋网编辑还是想弱弱的说一句,国产软件自主自强之路,是一件道阻且长的事情,一时急不得。 正如此前中科院计算所研究员、先进计算机系统研究中心主任,中国开放指令生态联盟秘书长包云岗在回答如何做出像Matlab这样能卡别人脖子的软件时回答的: 第一,把东西做出来,而不是追求把论文发出来; 第二,把东西用起来,而不是做完就扔了; 第三,把教学场景用起来,而不是把教学当作负担; 第四,把持久战意识树立起来,而不是期望速胜论。 参考来源: 【1】https://www.zhihu.com/question/403055136 【2】http://www.legalsoft.com.cn/ 【3】https://www.leiphone.com/news/202006/Wv3A4qgqPuPVZ7ZA.html 猜你喜欢的商品>> 一次性医用外科口罩50只 39.9元 南极人充电式声波电动牙刷 券后价7.9元 【三只松鼠】 早餐蛋糕面包两箱 券后价 32.9元 超轻透气减震跑步运动鞋 券后价79元 国民高弹缓震 运动休闲鞋 券后价74元 亲肤大豆纤维七孔空调被 券后价 79元 腾讯视频会员年费99元/京东plus联合年卡128元

    时间:2020-07-08 关键词: 软件 知乎 matlab

  • 哈工大、哈工程被禁用 MATLAB 的思考:高校应拥抱开源

    哈工大、哈工程被禁用 MATLAB 的思考:高校应拥抱开源

    哈工大、哈工程等国内高校被禁止使用 MATLAB,这件事在国内社交媒体迅速发酵并登上热搜,引发学术界和技术界的广泛讨论。如今看来,RMS 的担忧绝非危言耸听。我们很多人从学生时代开始,接触的就是 Windows 系统、MATLAB、CAD 等专有软件,对这些国外软件产生了很强的依赖性,尽管这些软件对学生来说或许是免费的。但归根结底,为什么专属软件的开发者会为学校提供非自由软件的免费拷贝?RMS 曾表示,“因为他们企图利用学校来培育对其产品的依赖性,正如烟草公司向学生发放免费香烟一样。一旦学生毕业,他们就不会再得到免费拷贝,他们的雇主也不会。一旦有了依赖性,你就会付钱,而且升级换代也会很贵。”“自由软件允许学生学习软件如何工作。一些有编程天赋的学生,在他们的少年时代,渴求学习一切关于计算机和软件的知识。他们有强烈的好奇心,想要阅读他们所用软件的源代码。专属软件拒绝了他们对知识的渴求:它说,‘这些知识是秘密—学习是禁止的!’专属软件是教育精神的敌人,所以学校不应该容忍专属软件,除非是作为逆向工程的对象。”尽管 RMS 的话中包含了个人对于专有软件厂商的敌意,但当越来越多的专有软件成为政治的枷锁时,国内高校拥抱开源确实是一个更好的选择。写在最后面对美国日渐加深的技术封锁,从开源社区中寻找替代品,或许是国内组织机构在短时间内解决问题的一条捷径。但从长远来看,只有我们拥有了自己的技术,才能完全摆脱别人的限制。当然,这是一条漫长的艰难道路,很难在一朝一夕内实现,但我们却不得不坚持走下去。

    时间:2020-07-01 关键词: matlab

  • 哈工大、哈工程被美国拉黑 Matlab软件宣布禁止师生使用

    哈工大、哈工程被美国拉黑 Matlab软件宣布禁止师生使用

    前不久美国宣布将33家中国公司及机构列入“实体清单”,上了这个名单的人或者公司、机构将禁止使用美国公司的产品、技术。被禁的名单中有哈工大、哈工程两家高校,结果这两天学校的师生发现已经不能使用购买的Matlab软件了。 Matlab软件很多人不了解,但在理工科大学中这是非常重要的软件,这是美国MathWorks公司出品的商业数学软件,不过用途不只限于数学,还可以用于数据分析、建模仿真、数值计算,被称为理工科神器。 据报道,在被美国列入实体清单之后,哈工大的师生们发现他们购买的正版授权Matlab软件开始提示反激活通知,多次之后授权许可已经失效,也不能重置密码。 在咨询过之后,有Matlab公司的员工表示他们已经无法再给哈工大的师生们提供正版软件授权,需要遵守美国政府规定。 没有了Matlab正版授权,目前还可以有其他开源的软件可用,但是Matlab多年来打下了深厚的基础,很多学校、师生都是以Matlab为主,一时间更换其他软件多少都会带来麻烦,影响正常的教学、研究。

    时间:2020-06-29 关键词: 美国 软件 哈工大 哈工程 matlab

  • 哈工大、哈工程被禁用「工科神器」MATLAB

    哈工大、哈工程被禁用「工科神器」MATLAB

    6 月 11 日消息 据机器之心等媒体报道,哈工大、哈工程的老师和学生们最近无法使用 MATLAB 了,确切来说,哈工大等使用的正版 MATLAB 无法被激活,已经激活的正版 MATLAB 跳出反激活的通知,继而显示授权许可无效,网页无法登录哈工大域名的账户。据知乎上哈工大学生 @我不是那个意思 收到的通知,MathWorks 方面回应称,刚接到通知,根据美国政府最新的进出口管制名单,无法再提供服务,后续请关注学校的通知。而哈工大负责技术支持的老师回应表示,自 2020 年 6 月 6 日开始,因哈工大被列入美国商务部实体名单的原因,影响到了学校 MATLAB 的正常使用,目前正在和美国 MathWorks 公司方面进行积极沟通。此前报道,美国商务部 5 月 22 日宣布,将共计 33 家中国公司及机构列入 “实体清单”。被列入清单的中国科技企业包括:阿克苏华孚色纺有限公司(Aksu Huafu Textiles Co.)、云从科技 、烽火科技集团(FiberHome Technologies)及其子公司南京烽火星空通信发展有限公司 (Nanjing FiberHome StarrySky Communication Development Company)、东方网力科技股份有限公司(NetPosa)及其子公司深网视界(SenseNets),云天励飞技术有限公司(Intellifusion)以及上海银晨智能识别科技有限公司(IS’Vision)、北京金诚环宇电子有限公司。

    时间:2020-06-26 关键词: 大学 matlab

  • 哈工大、哈工程被禁用MATLAB,师生们该如何应对?

    哈工大、哈工程被禁用MATLAB,师生们该如何应对?

    据最新报道,哈工大、哈工程的老师和学生们最近无法使用 MATLAB 了!据网友反映,哈工大学生收到了正版软件取消激活的通知,而在与MATLAB开发公司The MathWorks交涉之后,才得知因为美国政府实体名单的原因,相关授权已被中止。正如去年华为被美国列入「实体名单」时一样,5 月 22 日,美国商务部又公布新一轮「实体名单」,包含了13 所中国大学:北京航空航天大学、中国人民大学、国防科技大学、哈尔滨工业大学、哈尔滨工程大学、西北工业大学等高校在列。此次,哈尔滨工业大学、哈尔滨工程大学最先收到了禁用通知,但,为什么是MATLAB?图片来自MathWorks公司官网MATLAB是美国The MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分产品。据报道,目前世界上180多个国家的超过三百万工程师和科学家在使用MATLAB和Simulink。图片来自MathWorks公司官网学理工的都知道Matlab应用之广,对于现在的工科生来说,MATLAB 是必不可少的工具,其必要性可能仅次于 Office 。MATLAB厉害之处在于,它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的图形操作环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。哈工大、哈工程是国内工科实力雄厚的两所学校,涉及航空航天技术、材料、仪器、计算机、工程、人工智能等多个领域,MATLAB在学生和老师中使用率相当高。美国政府的一纸禁令,不仅给中国的高校带来影响,也大大影响了 MATLAB 的开发者——软件公司The Mathworks的业务.事实上,针对此事,The Mathworks的员工也表示无法认同,是被迫执行禁令。在社交网络上,有The Mathworks 员工表示:这次哈工大被禁是因为美国商务部出台的实体名单,The Mathworks 作为有军工应用产品的美国公司只能遵守法规,这并不是 The MathWorks 的主动行为。所谓被禁也只是不能提供技术支持和未来的商务合作,之前卖出去的正版授权应该还是可以用的。事实上,MATLAB本身就起源于高校,正是由于高校老师和学生的使用和提出需求才促进了这款软件的发展,如今这款成功的商业软件竟然被禁止给理工科的师生使用,这让最初开发软件的Cleve Moler 老师情何以堪?2012年MATLAB创始人Cleve Moler 在西电演讲(图片来自西电官网)学生和老师又该如何应对?21IC家注意到,当年, 美国之所以将等离子体刻蚀设备从商业控制清单中移除,原因就是国内的中微半导体量产了性能媲美国厂商的等离子体刻蚀设备,因此,应对禁售禁用的终极办法还是要能自给自足。美国这次之所以率先选择MATLAB禁用,正是看中了我国在这个领域的软件空白,而MATLAB在国内工科高校的使用率又相当高。此次突然禁用MATLAB,势必对国内高校的科研工作带来一定的影响。当下,寻找替代解决方案是当务之急,例如来自法国的Scilab,也可以寻求更加开源的 Python、Julia,Octave、R语言等来代替,长期来看,自给自足才是解决之道。附:MATLAB起源(译自MathWorks官网)上世纪70年代,美国New Mexico大学计算机系教授Cleve Moler在开发EISPACK和LINPACK程序库,他同时在教授数值分析和矩阵理论这门课,他想让学生们在使用EISPACK和LINPACK时免去用Fortran编写接口程序的麻烦,于是他就基于Fortran语言和EISPACK/LINPACK的部分内容编写出了第一个版本的MATLAB。1979年,Cleve Moler去斯坦福访学,并给研究生教授数值分析课程, Cleve Moler让学生们用MATLAB去完成课后作业,他发现其中来自数学/计算机专业的学生对他编写的MATLAB并不感冒,因为Fortran语言在数值分析方面并不主流;可是来自工程专业的学生却很喜欢MATLAB,因为MATLAB的矩阵数据特点对他们很有帮助,但Cleve Moler却对这些学生的研究课题像控制分析和信号处理等不甚了解。后来,Cleve Moler班上的一些学生毕业后继续从事改进MATLAB的工作,让MATLAB在控制分析和信号处理方面变得更强大,同时基于此推出了一些商业产品。Jack Little是第一个基于Fortran MATLAB的商业产品的主要开发者,他和同事Steve Bangert用C语言重新编写了MATLAB,同时增加了M-files、工具箱和更多强大的图形功能。1984年,Cleve Moler、Jack Little和Steve Bangert成立了MathWorks公司,正式把MATLAB推向市场,并继续进行MATLAB的研究和开发。

    时间:2020-06-12 关键词: 哈工大 哈工程 matlab

  • 在MATLAB中如何对噪声信号进行快速傅里叶变换

    Fs = 1000;            % 采样频率 先用上述代码生成一个1Hz,1.5s的采样信号。 然后我们加入一个正常的幅值0.7频率120的正弦波信号 S = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t); 为该信号加入零均值白噪声,方差为4 X = S + 2*randn(size(t)); 画出时域上的噪声信号 plot(1000*t(1:50),X(1:50)) title('Signal Corrupted with Zero-Mean Random Noise') xlabel('t (milliseconds)') ylabel('X(t)') 计算该信号的FFT Y = fft(X); 计算双边谱P2,然后计算单边谱P1和均值信号长度L P2 = abs(Y/L); P1 = P2(1:L/2+1); P1(2:end-1) = 2*P1(2:end-1); 定义时域f,并画出P1 f = Fs*(0:(L/2))/L; plot(f,P1) TItle('Single-Sided Amplitude Spectrum of X(t)') xlabel('f (Hz)') ylabel('|P1(f)|') 对原信号进行傅里叶变换 Y = fft(S); P2 = abs(Y/L); P1 = P2(1:L/2+1); P1(2:end-1) = 2*P1(2:end-1); plot(f,P1) TItle('Single-Sided Amplitude Spectrum of S(t)') xlabel('f (Hz)') ylabel('|P1(f)|')

    时间:2020-06-06 关键词: fft 噪声 matlab

  • MathWorks 发布 MATLAB 和 Simulink R2020a 版本,为工程师和科学家提供更多 AI 功能

    MathWorks 发布 MATLAB 和 Simulink R2020a 版本,为工程师和科学家提供更多 AI 功能

    中国北京,2020 年5月6 日—— MathWorks今天推出了R2020a 版本,扩展了深度学习方面的 AI 功能。工程师们现在可以在更新的 Deep Network Designer 应用程序中训练神经网络,在全新的 Experiment Manager 应用程序中管理多个深度学习试验,从更多网络选项中选择生成深度学习代码的方法。R2020a 不仅为所有 MATLAB 和 Simulink 用户推出了数百个全新和更新的功能,还推出了专门面向汽车和无线电工程师的新功能。如需更多详情,请观看R2020a 视频。 AI 和深度学习 “MathWorks 为构建 AI 驱动的系统提供了一个综合平台。”MATLAB 营销总监 David Rich 说,“我们积累了三十多年的产品、咨询和支持经验并将其应用于 AI 工作流程,使工程师和科学家能够清理数据、构建模型,并在生产环境 IT 或嵌入式系统中部署这些数据和模型。” 新版本引入了增强的 Deep Learning Toolbox,可帮助用户: ·使用全新的 Experiment Manager 应用程序来管理多个深度学习实验、跟踪训练参数,分析并比较结果和代码。 ·使用 Deep Network Designer 应用程序交互式训练网络以进行图像分类、生成用于训练的 MATLAB 代码并访问预训练的模型。 此外,GPU Coder 现在提供了一组更广泛的网络,以便在云和边缘设备上实现 AI 系统,这些网络包括 Darknet-19、Darknet-53、Inception-ResNet-v2、NASNet-Large 和 NASNet-Mobile。 新产品、重要更新和增强的产品功能 R2020a 包括三款新产品: ·Motor Control Blockset 包含针对生成紧凑型代码专门做了优化的电机控制算法库,并且为多个电机控制硬件套件提供现成支持。 ·Simulink Compiler 让工程师们能从 Simulink 模型生成独立应用程序、Web 应用程序和软件组件,无需安装 Simulink 就能运行仿真。 ·MATLAB Web App Server 让用户能够通过浏览器实现对整个组织范围内部署的 MATLAB Web 应用程序的受控访问。 新版本还包括以下重要更新: ·汽车工程师可以更轻松地使用从高清地理地图导入的道路数据创建驾驶场景,并优化换挡规律,以便进行性能、燃油经济性以及排放分析。 ·对于无线电工程师,MATLAB 对 5G 和 WiFi-6 技术的支持已经扩展,增加了对波形生成和蜂窝小区检测的支持。 ·用户可以从 MATLAB 类生成 C++ 类,并且新版本引入了面向服务功能和可重用子系统的基于消息的通信。 R2020a 包含 MATLAB 和 Simulink 产品系列的数百个其他增强功能,其中包括: ·MATLAB 现在改进了对采用默认 UTF-8 编码的非 ASCII 字符集的支持,提供用于可视化数据的新图形定制功能和新图表类型,以及用于交互式重新计时或者同步时间表和堆栈或非堆栈表变量的实时编辑器任务。 ·Simulink 用户现在可以直接将 C 代码编写到他们的模型中以集成外部算法,使用新的 C 函数模块轻松添加预处理或后处理的预配置 C 函数,并且为仿真和代码生成指定不同的代码。 R2020a 现已全球上市。有关 MATLAB 和 Simulink 产品系列的所有新产品、增强功能和 Bug 修复的信息,请访问 R2020a 版本亮点页面。 图示:MathWorks的R2020a帮助工程师交互式地训练一个图像网络

    时间:2020-05-06 关键词: simulink AI matlab

首页  上一页  1 2 3 4 5 6 7 8 9 10 下一页 尾页
发布文章

技术子站

更多

项目外包