matlab_matlab介绍 - CSDN
matlab 订阅
MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。 [1]  MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。 [1]  MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。 展开全文
MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。 [1]  MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。 [1]  MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
信息
开发商
MathWorks.Inc [2]
软件授权
MathWorks.Inc
软件名称
MATLAB
更新时间
2020-06-11
软件版本
R2020a [3]
软件平台
Windows/MacOS/Linux等
软件语言
C
软件大小
216.77M
MATLAB功能特性
·MATLAB®: MATLAB 语言的单元测试框架   ·Trading Toolbox™: 一款用于访问价格并将订单发送到交易系统的新产品  ·Financial Instruments Toolbox™: 赫尔-怀特、线性高斯和 LIBOR 市场模型的校准和 Monte Carlo 仿真  ·Image Processing Toolbox™: 使用有效轮廓进行图像分割、对 10 个函数实现 C 代码生成,对 11 个函数使用 GPU 加速  ·Image Acquisition Toolbox™: 提供了用于采集图像、深度图和框架数据的 Kinect® for Windows®传感器支持  ·Statistics Toolbox™: 用于二进制分类的支持向量机 (SVM)、用于缺失数据的 PCA 算法和 Anderson-Darling 拟合优度检验  ·Data Acquisition Toolbox™: 为 Digilent Analog Discovery Design Kit 提供了支持包  ·Vehicle Network Toolbox™: 为访问 CAN 总线上的 ECU 提供 XCPSimulink 产品系列重要功能  ·Simulink®: Simulation Performance Advisor,链接库模块的封装,以及通过逻辑表达式控制有效变量  ·Simulink: 除 LEGO® MINDSTORMS® NXT、Arduino®、Pandaboard 和 Beagleboard 外,还为 Raspberry Pi™ 和 Gumstix® Overo® 硬件提供了内置支持  ·SimRF™: 针对快速仿真和模型加载时间的电路包络求解器  ·SimMechanics™: 发布了用于从 CAD 和其他系统导入模型的 XML 架构  ·Simulink Design Verifier™: 数组超出边界检查  MATLAB 和 Simulink 的系统工具箱  ·Communications System Toolbo Sphere 解码器和 Constellation 框图系统对象  ·Computer Vision System Toolbox™: 相机标定,立体视觉,Viola-Jones 对象检测培训,FREAK 特征提取和其他新函数  ·DSPSystem Toolbox™: 频谱分析仪和逻辑分析示波器,以及时域示波器的触发·Phased Array System Toolbox™: 极化支持、数组锥化以及针对传感器数组分析、波形分析和雷达方程计算的应用程序代码生成和实现  ·Simulink Coder™: 减少了从 Stateflow® 调用的 Simulink 函数的数据副本  ·Fixed-Point Designer™: 一款结合了 Fixed-Point Toolbox™ 和 Simulink Fixed Point™ 功能的新产品  ·HDL Verifier™: 从 MATLAB 生成 HDL 测试工作台
收起全文
精华内容
参与话题
  • MATLAB基础入门课程

    千人学习 2019-11-21 10:30:22
    MATLAB基础入门课程,系统介绍MATLAB的基础知识。 主要从数组、运算、结构和绘图等几方面进行讲解 简单易懂,轻松入门MATLAB
  • MATLAB零基础入门教程

    万人学习 2019-12-09 16:38:29
    MATLAB零基础入门教程,主要介绍数组和矩阵、数据类型和M文件设计等。很详细地介绍了MATLAB语言的基础知识。 本课程的特点是内容系统全面,条理清晰,并且内容比较新,讲了表、时间表等新的数据类型。
  • matlab经典题目

    2020-07-30 23:33:24
    matlab经典题目,老师上课的时候给的,后续再发具体程序。matlab经典题目,老师上课的时候给的,后续再发具体程序。matlab经典题目,老师上课的时候给的,后续再发具体程序。
  • Matlab小白入门必备教程

    千人学习 2020-07-13 15:13:46
    MATLAB 是一种用于算法开发、数据可视化、数据分析以及数值计算的高级计算语言和交互式环境,本课程将深入浅出讲解 MATLAB 的基本操作、MATLAB 编程和绘图等。          
  • MATLAB(一)——软件及基本操作介绍

    万次阅读 多人点赞 2019-04-23 15:27:57
    一、MATLAB软件介绍 1.matlab的界面 左上角,home标签下,找到layout进行设置/复位,可以设置各板块的显示与隐藏。其中有几个部分,请务必要显示①Current Folder:中文一般翻译成工作路径,一般设置成一个自己...

    一、MATLAB软件介绍

    1.matlab的界面

     左上角,home标签下,找到layout进行设置/复位,可以设置各板块的显示与隐藏。其中有几个部分,请务必要显示
    ①Current Folder:中文一般翻译成工作路径,一般设置成一个自己建立的、有读写权限的文件夹,例如我的文档下建立一个matlab文件夹
    ②Command Window:字面意思是命令窗口,用来运行代码,所有的代码都是在这里输入

    ③Workspace:字面意思是工作空间,其实就是暂存所有运行结果的地方,“暂”的具体含义是:关闭matlab后丢失

    2.软件中的基本概念

    2.1 函数

     

        matlab之所以强大,就是因为提供大量的函数,你也可以建立自定义函数,方法是:Home->New->function。自定义函数一般保存在工作路径下。函数文件的特征是:扩展名m,内容的第一行以function开头,后续内容是“输出变量=函数名(输入变量)”。且函数名和文件名相同。
        每个函数在Command Window中运行,用来完成特定的计算任务,运行方式是输入“输出变量=函数名(输入变量)”,然后按回车。例如有个系统自带的函数是用来求绝对值的,函数名abs,所以在Command Window里输入“a=abs(-1)”,就会显示运算结果为“a=1”。且运算结果会在Workspace里出现一个变量a,双击后可看到a的值是1。

     

    2.2 脚本

        可以理解为特殊的函数,这种函数内容的开头没有function那行,因此没有输入、输出变量,也没有函数名。文件扩展名和函数一样是m,也需要在Command Window里运行。脚本都是用户建立的,方法是:Home->New Script。一般保存在工作路径下。脚本的功能就是完成用户需要的、复杂的计算任务,通常脚本里会调用很多函数。

    2.3 GUI

     

        一般翻译为界面,就是人机交互界面的意思。写脚本处理问题的方法有点麻烦,让人看起来更像是码农,所以现在很多问题可以通过界面点点鼠标解决。这时候就需要打开界面,打开方法是:在APPS标签里可以找到所有已安装的GUI工具,单击即可。注意右边有个小三角可以点开。和函数一样,用户也可以自己建立自定义GUI,这部分较为复杂,对新手而言有点遥远。

     

    2.4 toolbox

     

        一般翻译成工具箱,matlab将功能相近或者应用上自成体系的一组函数和GUI打包成一个toolbox。正版的matlab在购买时,几乎每一个toolbox都是要单独收费的,所以toolbox也可以理解为matlab产品的模块,一个工具箱就是一个产品/商品。

     

    2.5 simulink

     

        一般用matlab解决问题的过程是:用户自定义脚本,在Command Window里运行脚本。而脚本的运行逻辑是顺序执行,和一般的编程一样。simulink则提供另一种思路,图形化编程,有点像labview,这种方法很适合于物理模型的仿真,因此有时用“matlab编程”和“simulink仿真”强调。使用方法是在home标签下点击simulink。

     

    3.获得帮助

     

        常用的获得帮助有四种方法

     

    右上角home标签里,有个Help标志,点开后可以获得各工具箱/产品的完整帮助文档。新版本中默认使用在线,改用本地帮助的办法是在home标签里,Preferences下的matlab/Help里选择installed locally

     

    cn.mathworks.com官网上找到支持,然后可以获得教程。这种方法获得的帮助文档和第一种方法一样。
    在Command Window里输入 doc+函数名 来获得帮助。比如输入"doc fft"可以获得离散傅里叶变换函数fft的帮助和范例。这种方法获得的文档是前两种方法文档中的部分。当然,前提是你要知道函数名,才能找到帮助。这种方法适合于获得系统自带函数的使用说明。
    使用GUI时,通常界面的角落里有Help,点开可以获得帮助。这种方法获得的文档是第一和第二种方法文档中的部分。这种方法适合于获得系统自带GUI的使用说明。
        这几种方法中,最常用的是第三种,只要知道自己需要的函数名,就可以用这种方式获得说明和范例。而实际使用中,一般常用的系统自带函数,也并不是非常多,大概几十个?真正需要牢记使用方法的可能就几个,通常都是知道函数名,要用的时候doc一下。

     

    二、命令窗口的基本配置

    1、format命令

    进行数据类型转换,行间距调节等功能时,用

            format + 关键词 回车

    eg:format long 回车   //将数据变为长整型

            format compat/loose 回车  //调节行间距紧密/松散

    2、clc命令  

        清屏。即清理当前屏幕上的内容,屏幕上没有了,但保留在内存中了

    3、clear命令 

        删除某一变量,或清空工作区

        clear + 变量名 回车

        eg:clear a 回车  //删除工作区中的a变量

                clear或者clear all //清空工作区。建议在刚打开matlab窗口时先清空一下工作区。

    4、whos命令  

        查看某变量详细信息

       4.1  whos 回车  //查看所有变量信息

       4.2 whos + 变量名 回车 // 查看该变量详细信息

        eg:whos a 回车

    5、x/ylable命令  //给xy轴加横纵坐标说明

        eg:xlable (‘x轴’) 回车

    6、disp()  //屏幕输出函数,类似于c语言中的printf()函数

     

        disp函数直接将内容输出在Matlab命令窗口中,关键是看disp函数怎么把字符和数字在一起进行显示。

        disp(X)函数只有一个输入,当你有多个字符串作为输入时就会报错。

    例如:

        disp('Alice is ' , num2str(12) , ' years old!' );

    就会报错--输入参数过多。

        但是将里边的内容用中括号一括就成了一个字符串,

    例如:

        str=['Alice is ' num2str(12) ' years old!'];

        disp(str);

    上边这句话也就等价于:

        disp=(['Alice is ' num2str(12) ' years old!']);

    这就是加中括号的原因,而不是因为num2str(),

        因为disp(num2str(12));也是正确的,因为里边就只有一个字符串。

    7、zeros函数 //创建一个全为零元素的数组

    1、B = zeros(n)  返回一个n x n的零矩阵.如果n不是一个标量,将抛出错误。
    2、B = zeros(m,n) or B = zeros([m n])  返回一个m x n的零矩阵。
    3、B = zeros(d1,d2,d3...) or B = zeros([d1 d2 d3...]) 返回一个d1-by-d2-by-d3-by-... .的零元素数组。
    4、B = zeros(size(A))  返回一个和A一样大小的零数组。
    5、zeros(m, n,...,classname) or zeros([m,n,...]  返回一个类型为classname的m x n x...零数组。classname可以是下面一些值:double', 'single', 'int8', 'uint8', 'int16', 'uint16', 'int32', or 'uint32'
    示例
        x = zeros(2,3,'int8');
    备注
        MATLAB语言 没有一个 维度 声明 ; MATLAB 自动为矩阵分配存储空间。 然而,对于大型矩阵 , MATLAB程序可能会执行得更快 ,如果零函数用于设置一个矩阵,其元素将产生一次 , 或行或列的时间预留存储空间。例如
    
    2、B = zeros(m,n) or B = zeros([m n])  返回一个m x n的零矩阵。
    3、B = zeros(d1,d2,d3...) or B = zeros([d1 d2 d3...]) 返回一个d1-by-d2-by-d3-by-... .的零元素数组。
    4、B = zeros(size(A))  返回一个和A一样大小的零数组。
    5、zeros(m, n,...,classname) or zeros([m,n,...]  返回一个类型为classname的m x n x...零数组。classname可以是下面一些值:double', 'single', 'int8', 'uint8', 'int16', 'uint16', 'int32', or 'uint32'
    示例
        x = zeros(2,3,'int8');
    备注
        MATLAB语言 没有一个 维度 声明 ; MATLAB 自动为矩阵分配存储空间。 然而,对于大型矩阵 , MATLAB程序可能会执行得更快 ,如果零函数用于设置一个矩阵,其元素将产生一次 , 或行或列的时间预留存储空间。例如
    
        x = zeros(1,n); 
        for i = 1:n
        x(i) = i; 
        end

     

     

     

     

     

     

     

    展开全文
  • MATLAB中模拟采样过程,将正弦信号采样量化编码,将编码后的结果以二进制的实行写入txt文件中用于和vivado中的fftIp核联调
  • FPGA的一大应用就是数字信号处理(DSP),尤其是大数据量高速处理的场合,比如雷达,成像,超声等领域。 但是直接用Verilog实现DSP算法,是...另一种就是用MATLAB等工具, 直接生成Verilog代码。 步骤如下: 首先...

     

     

    FPGA的一大应用就是数字信号处理(DSP),尤其是大数据量高速处理的场合,比如雷达,成像,超声等领域。

    但是直接用Verilog实现DSP算法,是一件很费时费力的事情,而且改动也不是很方便。目前有几种折中的办法,

    一是用HLS,大概的思路就是用C/C++先编写算法,然后转译为Verilog语言;另一种就是用MATLAB等工具,

    直接生成Verilog代码。

    步骤如下:

    首先,关联MATLAB和Vivado

    在【开始】菜单,找到配置工具,打开

    选择MATLAB路径

    注意到 R2015a 目录 即可。

    打开MATLAB2015,新建一个simulink模型

     

    可以看到如下一个空白窗体

    打开【simulink Library】

     

    找到Xilinx相关仿真模块

    拖到simulink 模型窗体即可,完毕后联线

    单击【RUN】进行仿真即可

    最后,生成Vivado项目工程,双击【System Generator】

    选择正确的芯片型号和你自己使用的语言,目录选择默认即可。

    单击【Generate】,生成工程。

    完成后,可以在【netlist】文件夹的【ip_catalog】子目录中找到xpr工程文件

    双击可以用Vivado打开,编译综合后即可生成IP核。

    滤波器参数如下

     

    原始信号频谱

    模块仿真输出信号频谱-8it定点,可以看到明显的量化噪声

     

    最后消耗资源如下

     

    详细的FDATool及相关组件的使用方法,请查阅MATLAB help和Xilinx的相关手册。

    参考资料:

    1.Xilinx UG948 《Vivado Design Suite Tutorial,Model-Based DSP Design Using System Generator》

    2.Xilinx UG958 《Vivado Design Suite Reference Guide,Model-Based DSP Design Using System Generator》

    转载于:https://www.cnblogs.com/qiantuo1234/p/6842316.html

    展开全文
  • Vivado重新链接Matlab

    万次阅读 2018-06-20 22:47:52
    安装Vivado时没有选择链接Matlab。 解决版办法: 1、双击打开System Generator 20xx.x 2、如果没有链接Matalb会自动打开如下界面 3、如果你安装了Matlab,会自动检测出Matlab的版本。点击OK就可以。如果安装了...

    问题:

    安装Vivado时没有选择链接Matlab。

    解决版办法:

    1、双击打开System Generator 20xx.x

    2、如果没有链接Matalb会自动打开如下界面

    这里写图片描述

    3、如果你安装了Matlab,会自动检测出Matlab的版本。点击OK就可以。如果安装了Matlab,而没有检测出来,就需要手动添加Matlab。点击Find Matlab,到安装Matlab的目录去添加Matlab即可。然后点击OK

    4、注意:VIvado的版本要与Matlab的版本对应。

    具体版本信息可参看如下网址:https://www.xilinx.com/support/answers/55830.html

    展开全文
  • Matlab&Vivado生成ROM IP核

    千次阅读 2020-08-09 13:10:33
    王志君老师布置的作业卷积的硬件实现和陈云霁老师的softmax函数的加速。在完成卷积时参考了博主鹅要长大 的文章,和王...用matlab将灰度图像生成txt文件 生成coe文件 用vivado创建IP核 Generator例化后会生成一个.mi...

    做一开头,因为要用ROM IP核。

    **主要的步骤:

    1. 用matlab将灰度图像生成txt文件
    2. 生成coe文件
    3. 用vivado创建IP核
    4. Generator例化后会生成一个.mif文件
    5. modulesim的仿真

    **
    1.用matlab将灰度图像生成txt文件

    %%灰度图像生成txt文件
    [file,path]=uigetfile({'*.jpg';'*.bmp';'*.png'},'选择图片');
    I_rgb=imread([path,file]);
    subplot(221),imshow(I_rgb),title('原图')
    
    I_gray=rgb2gray(I_rgb);
    subplot(222),imshow(I_gray),title('灰度图')
    
    fid=fopen('./lena.txt','wt');                          %打开文件lena.txt
    for i=1:size(I_gray,1)                                 %遍历像素
        for j=1:size(I_gray,2)
            fprintf(fid,'%d',I_gray(i,j));
        end
        fprintf(fid,'\n');                                 %每行回车
    end
    fid=fclose(fid);                                       %关闭文件
    I_data=load('./lena.txt')                              %放在当前的目录下
    
    

    结果
    在这里插入图片描述
    2.生成coe文件

    %生成.coe_file
    [m,n]=size(I_gray);
    N=m*n;                                                       %数据长度,即存储器的深度
    word_len=8;                                                  %每个单元的位数
    data=reshape(I_gray',1,N);                                   %变成特定的矩阵,1行n列
    
    fid=fopen('lena.coe','wt');                                  %打开lena.coe文件
    fprintf(fid,'MEMORY_INITIALIZATION_RADIX=16;\n');            %这两行不变,进制数
    fprintf(fid,'MEMORY_INITIALIZATION_VECTOR=\n');              %数据
    
    for i=1:N-1
        fprintf(fid,'%x,\n',data(i));
    end
    fprintf(fid,'%x;\n',data(N));                                 %每个数据回车
    fclose(fid);
    

    结果
    在这里插入图片描述
    3.用vivado创建IP核
    1.选择IP Catalog
    在这里插入图片描述
    2.Memories & Storages Elements->RAMs & RAMs & BRAM->block memory generator 在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    文件添加进去就OK

    reference:
    https://www.cnblogs.com/happyamyhope/

    越是憧憬,越要风雨兼程。

    展开全文
  • 1.首先是vivado的安装,有详细的安装教程。 2.根据vivado安装所产生的system generator工具与matlab关联配置
  • MATLAB安装

    万次阅读 多人点赞 2018-07-27 18:09:11
    Matlab 2016a 安装包及破解教程百度云分享链接: 链接:https://pan.baidu.com/s/1i6BgD8p 密码:17gg   Matlab安装教程: 1、下载文件,得到R2016a_win64.part1.rar、R2016a_win64.part2.rar两部分安装文件和...
  • matlab中@的用法

    万次阅读 多人点赞 2020-09-06 12:17:52
    举例:sin是matlab中的一个函数,但sin只是函数名,还不是函数句柄,不可以用于传参。f = @sin;这行代码定义了一个函数句柄,变量名是f。这样就可以当做参数传递了(这就是上面代码中的意义所在),而且还可以跟sin...
  • MATLAB基础知识

    万次阅读 多人点赞 2019-03-20 17:13:44
    专题一 MATLAB基础知识 目录 1. MATLAB系统环境 2. MATLAB数值数据 3. 变量及其操作 4. MATLAB矩阵的表示 5. 矩阵元素的引用 6. MATLAB基本运算 7. 字符串处理 ------------------------------------------...
  • MATLAB最基础的教程

    万次阅读 多人点赞 2018-06-21 19:37:08
    前言:matlab只是个软件,用来完成机械的计算,而如何安排这些计算,需要用户掌握最基本的数学概念。这篇将介绍工程数学中常用的数学概念,与matlab似乎并不相关,但实则是matlab的基础。1.数值与符号 如果给工程...
  • matlab是一个很强大的计算软件,合理使用会给我们的学习带来极大的方便之处,本人旨在提供一个零基础的matlab学习博文,供大家学习交流。谢谢大家支持。
  • ubuntu16.04安装MATLAB R2017b步骤详解(附完整文件包)

    万次阅读 多人点赞 2020-03-17 19:16:56
    本文给出MATLAB R2017b(Linux系统)的完整安装包百度云盘下载地址,逐步介绍一种简单易行的安装方法,在桌面创建快捷方式,最终完整运行。 1. 前言 最近由于项目原因,需要在ubuntu上安装MATLAB,在网上找了很久...
  • matlab中exp()函数的使用

    万次阅读 2017-10-26 19:29:53
    MATLAB中我们常常需要用到自然数对数底数 e ,需要输入e 的不同次幂,那么我们在MATLAB中具体应如何操作呢?下面通过不同的例子介绍一下。 e 下面我们通过一个例子,介绍如何如何输入自然数,在MATLAB主窗口...
  • matlab求解全局最优(初步介绍

    万次阅读 2017-08-09 22:45:03
    这里可以看到全局优化的一些经典算法举例matlab两个工具箱的比较最左上角是求解器的选项,可以在此选择不同的算法求解,不同的求解器需要输入的参数也各不相同。...下面介绍matlab的各种求解器MultiStart 并行计算
  • matlab中if语句使用方法和应用实例

    万次阅读 2019-01-18 16:18:23
    1、我们首先需要了解if语句是一种选择判断语句,可以和for语句结合使用,也可以单独...2、介绍一下if嵌套语句,这里作出的判断是如果a小于b,b等于a,如果继续b还大于c,b等于c,如下图所示: 3、介绍if语句中的e...
  • 本微信图文详细介绍Matlab中if/elseif/…/else/end多分支条件选择语句。
1 2 3 4 5 ... 20
收藏数 49,176
精华内容 19,670
关键字:

matlab