matlab 与ccsv5连接总结要点

时间:2019-05-12 04:05:37下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《matlab 与ccsv5连接总结要点》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《matlab 与ccsv5连接总结要点》。

第一篇:matlab 与ccsv5连接总结要点

需要软件:前期是要安装VS2010或者VS2008或者VC6、CCS5.5或者CCS6、Matlab2012以上版本。并配置好Maltab的编译器路径(mex-setup)

前提假设CCS5安装路径如下:

CCS Installation: D:TIccsv5

CCSV5安装路径

Code geeneration Tools: D:TIccsv5toolscompilerc2000,编译器的路径 如果其它路径,则需要在下边的应用中相应的路径中更改路径。

【1】 Matlab VS CCSV5 【1】 在matlab 中键入xmakefilesetup ,并设置如下图

图1 gmake设置

【2】 首先将display operational configuration only的勾选去掉,然后在configuration的下拉中选择ticcs_c2000_ccsv5,如果没有,则点击右上角的New,然后分别在Make Utiliy、Complier、Linker、Archiver、Prebuild、Postbuild、Execute填入一下内容

Make Utiliy:

Make Utility :

D:PROGRA~1MATLABR2013abinwin32gmake(这个路径是Matlab的编译路径)Arguments :-f “[|||MW_XMK_GENERATED_FILE_NAME[R]|||]” [|||MW_XMK_ACTIVE_BUILD_ACTION_REF|||] Complier

Complier:

D:/ti/ccsv5/tools/compiler/c2000_6.2.0/bin/cl2000 Arguments :-I“D:/ti/ccsv5/tools/compiler/c2000_6.2.0/include”-fr“[|||MW_XMK_DERIVED_PATH_REF|||]” Linker

Linker: D:/ti/ccsv5/tools/compiler/c2000_6.2.0/bin/cl2000 Arguments :-o [|||MW_XMK_GENERATED_TARGET_REF|||] Archiver

Archievr: D:/ti/ccsv5/tools/compiler/c2000_6.2.0/bin/ar2000 Arguments:-r [|||MW_XMK_GENERATED_TARGET_REF|||]

Prebuild

:

不填,空着 Postbuild

不填,空着

Execute

执行编译

Execute Tool:

D:ticcsv5ccs_basescriptingbindss.bat Arguments :“D:PROGRA~1MATLABR2013atoolboxidelinkextensionsticcsccsdemosrunProgram.js” “D:tiXDS100v2.ccxml” “[|||MW_XMK_GENERATED_TARGET_REF[E]|||]” 接着点击保存即可。,这时将会在C:Documents and SettingsAdministrator我的文档MATLAB 路径下产生这样一个文件名字

ticcs_c2000_ccsv5_clone.m

此文件的内容如下:(如果不想按上边一步一步配置xmakefiletool,可以将ticcs_c2000_ccsv5_clone.m这个文件拷贝到,(C:Documents and SettingsAdministrator我的文档MATLAB)路径下,然后根据自己一些软件的安装位置,修改其中的路径,下面我用绿色标出有可能需要更改的地方。

% NOTE: DO NOT REMOVE THIS LINE XMAKEFILE_TOOL_CHAIN_CONFIGURATION function toolChainConfiguration = ticcs_c2000_ccsv5_clone()%TICCS_C2000_CCSV5_CLONE Defines a tool chain configuration.%

% Copyright 2015 The MathWorks, Inc.% % General

toolChainConfiguration.Configuration = 'ticcs_c2000_ccsv5_clone';toolChainConfiguration.Version = '2.0';

toolChainConfiguration.Description = 'TI CCS v5 C2000 Tool Chain Configuration';

toolChainConfiguration.Operational = true;

toolChainConfiguration.InstallPath = 'D:ticcsv5';% ccsv5安装路径 toolChainConfiguration.CustomValidator = '';toolChainConfiguration.Decorator = 'linkfoundation.xmakefile.decorator.c2000CCEv5Decorator';% Make

toolChainConfiguration.MakePath = 'D:PROGRA~1MATLABR2013abinwin32gmake';%matlab 的gmake安装路径 toolChainConfiguration.MakeFlags = '-f “[|||MW_XMK_GENERATED_FILE_NAME[R]|||]” [|||MW_XMK_ACTIVE_BUILD_ACTION_REF|||]';toolChainConfiguration.MakeInclude = '';% Compiler

toolChainConfiguration.CompilerPath = 'D:/ti/ccsv5/tools/compiler/c2000_6.2.0/bin/cl2000';ccsv5编译器安装路径

toolChainConfiguration.CompilerFlags = '-I“D:/ti/ccsv5/tools/compiler/c2000_6.2.0/include”-fr“[|||MW_XMK_DERIVED_PATH_REF|||]”';

toolChainConfiguration.SourceExtensions = '.c,.asm,.abs,.sa';toolChainConfiguration.HeaderExtensions = '.h';toolChainConfiguration.ObjectExtension = '.obj';% Linker toolChainConfiguration.LinkerPath = 'D:/ti/ccsv5/tools/compiler/c2000_6.2.0/bin/cl2000';toolChainConfiguration.LinkerFlags = '-o [|||MW_XMK_GENERATED_TARGET_REF|||]';

toolChainConfiguration.LibraryExtensions = '.lib,.cmd';toolChainConfiguration.TargetExtension = '.out';toolChainConfiguration.TargetNamePrefix = '';toolChainConfiguration.TargetNamePostfix = '';% Archiver

toolChainConfiguration.ArchiverPath = 'D:/ti/ccsv5/tools/compiler/c2000_6.2.0/bin/ar2000';toolChainConfiguration.ArchiverFlags = '-r [|||MW_XMK_GENERATED_TARGET_REF|||]';

toolChainConfiguration.ArchiveExtension = '.lib';toolChainConfiguration.ArchiveNamePrefix = '';toolChainConfiguration.ArchiveNamePostfix= '';% Pre-build

toolChainConfiguration.PrebuildEnable = false;toolChainConfiguration.PrebuildToolPath = '';toolChainConfiguration.PrebuildFlags = '';% Post-build

toolChainConfiguration.PostbuildEnable = false;toolChainConfiguration.PostbuildToolPath = '';toolChainConfiguration.PostbuildFlags = '';% Execute

toolChainConfiguration.ExecuteDefault = false;toolChainConfiguration.ExecuteToolPath = 'D:ticcsv5ccs_basescriptingbindss.bat';toolChainConfiguration.ExecuteFlags = '“D:PROGRA~1MATLABR2013atoolboxidelinkextensionsticcsccsdemosrunProgram.js” “D:tiXDS100v2.ccxml” “[|||MW_XMK_GENERATED_TARGET_REF[E]|||]”';%matlab,XDS100V2等文件的放置路径。

% Directories

toolChainConfiguration.DerivedPath = '';toolChainConfiguration.OutputPath = '';% Custom

toolChainConfiguration.Custom1 = '';toolChainConfiguration.Custom2 = '';toolChainConfiguration.Custom3 = '';toolChainConfiguration.Custom4 = '';toolChainConfiguration.Custom5 = '';end

【3】 然后打开模型,并进行设置,如果是2013A已经去掉 target preferences模块,在configuration中的 code generation 中选择idelink_ert_tlc,这时下边会出现code

图2 TLC文件选择

Target,点击它,在target hardware resources中“IDE/Tool Chain”,选择“Texas Instruments Code Composer Studio v5(makefile generation only)”.注意:首先备份配置,因为这会覆盖已有的配置。然后设置board为C2000,processor为 F28335

图3 configuration parameters/Code generation设置

【4】 检查是否配置成功,在workspace键入checkEnvSetup('ccsv5','F28335 eZdsp', 'setup'),这时如果没有配置成功,系统会自动弹出如下图对话框,提示选择安装路径等,此过程和xmakefilesetup的设置相似,只不过此处是设置系统环境变量,这样才能让软件通过系统变量找到相关软件的路径,如果配置成功显示如下图,checkEnvSetup('ccsv5','f28335', 'check),检查配置

checkEnvSetup('ccsv5','f28335', 'setup'),设置环境变量

图4 环境变量检查以及设置

checkEnvSetup('ccsv5','F28335 eZdsp', 'setup')

1.Checking CCSv5(Code Composer Studio)version

Required version: 5.0 or later

Required for

: Code Generation

Your Version

: 5.5.0

### Setting environment variable “TI_DIR” to “D:ticcsv5”

2.Checking CGT(Texas Instruments C2000 Code Generation Tools)version

Required version: 5.2.1 to 6.0.2

Required for

: Code generation

Your Version

: 6.2.0

### Setting environment variable “C2000_CGT_INSTALLDIR” to “D:ticcsv5toolscompilerc2000_6.2.0”

The version found for “CGT” differs from the one used for our software validation.Use it at your own risk.3.Checking DSP/BIOS(Real Time Operating System)version

Required version: 5.33.05 to 5.41.11.38

Required for

: Code generation

Your Version

: 5.42.01.09

### Setting environment variable “CCSV5_DSPBIOS_INSTALLDIR” to “D:tibios_5_42_01_09”

The version found for “DSP/BIOS” differs from the one used for our software validation.Use it at your own risk.4.Checking XDC Tools(eXpress DSP Components)version

Required version: 3.16.02.32 or later

Required for

: Code generation

Your Version

: 3.24.05.48

5.Checking Flash Tools(TMS320C28335 Flash APIs)version

Required version: 2.10

Required for

: Flash Programming

Your Version

: 2.10

### Setting environment variable “FLASH_28335_API_INSTALLDIR” to “D:titidcsc28Flash28_APIFlash28335_API_V210” 【5】 此时在键入或者键入ccsboardinfo,进行配置查看

过程调试总结:

(1)此配置确实比较麻烦,不同的版本情况不一样,2010a更复杂一些,不过用ccs3.3没有问题。一定要设置好ticcs_c2000_ccsv5_clone文件的路径否则不能打开(而且一定要放在gmakefile指定的User template路径下面,当然可以更改这个路径,只要放在与路径相符的下面即可)。

(2)Matlab2013A已经包含有xmakefile文件。D:Program FilesMATLABR2013atoolboxidelinkextensionsticcsregistryxmakefilecfgc2000_cce_v5.m,但是这里需要根据自己软件安装位置进行配置,可以通过修改cceV5.m文件修改,也可以通过xmakefilesetup工具修改,建议使用后者。

(3)问题3:按照网上方法配置后,可以编译out文件,但是无法实现自动下载,原因有可能是路径问题,比如“D:PROGRA~1MATLABR2013atoolboxidelinkextensionsticcsccsdemosrunProgram.js” “D:tiXDS100v2.ccxml” “[|||MW_XMK_GENERATED_TARGET_REF[E]|||]”,这里本来是指定运行程序和调用仿真器配置文件下载的,对于D:Program FilesMATLABR2013a,由于路径存在空格,此处是无法识别,需要改成简写格式D:PROGRA~1,或者重新装matlab这个不现实,对于仿真器配置文件ccxml比较小,可以将其放在其它无空格的路径下,然后将xmakefile 工具execute 的arguments路径进行修改。对于有空格的路径可以改写为前(6个字母)+(~1)

图4 编译成功,但是无法自动下载。

图5 自动连接下载的路径配置,arguments的路径要求无空格。

到此实现了将matlab程序自动编译并下载到处理器中,无需打开CCS。

Hello,I have successfully import the files(.c and.h generated by simulink/ccs4/5)into a project(build a new project by yourself),at the same time ,we need copy some other.c and.h files that in the matlab toolbox, Last the new project generated.out file ,and can download to the DSP.This is some pictures during building the project:

In the document folder(generated by simulink and CCS),exist some.c.h and.asm, just like the picture of the third answer.需要新建一个CCS工程,将点c和点asm放入SRC中,将.h放入INCLUDE,同时,需要将必要的matlab中的c和h文件放入src和include文件中,In the document folder(generated by simulink and CCS),exist some.c.h and.asm, just like the picture of the third answer.U need build a new ccs project , then take the.c.asm into the SRC, take the.h into the INCLUDE, at the same time ,U need take the necessary.c and.h that exist in the matlab files just like the piceure of the 4th and 5th answer into the SRC and INCLUDE.the SRC and INCLUDE are built by yourself in the CCS project,then what U need do is just detection of error when compile the project。懂了么?

【2】 Matlab与CCSV5的交互命令

clc

清屏

clear('all')或者 clear all clear('mypjt')ccsboardinfo [boardNum,procNum]=boardprocsel mypjt=ticcs 或者

mypjt=ticcs('boardnum',1,'procnum',0)表示选择的软件仿真,如果把1改成0则是硬件仿真,从下图中可以看出

projfile=fullfile(matlabroot,'myprojects','Lab0301-LED','LED.pjt');projpath=fileparts(projfile);open(mypjt,projfile)visible(mypjt,1)

或者mypjt.visible(1)build(mypjt,'all')cd(mypjt,projpath)cd(mypjt, 'Debug')load(mypjt,'LED.out')run(mypjt,'run')运行ccsIDE中的程序

halt(mypjt)

停止运行ccsIDE中的程序 cd(mypjt,projpath)

返回到工程文件 close(mypjt,'LED.pjt')

关闭工程文件

insert(mypjt,'LED.c',20,'break')

在工程文件第20行插入断点

mypjt.new('mypjt','project')

新建一个名字为mypjt的ccs工程文件

TI ControlSuite

【3】 DSP驱动集成

有些时候,评估板的驱动,并不能满足自己开发的板子,这时需要使用legacy code tool或者custom code来集成自己开发的驱动。D:matlabR2009btoolboxtargetextensionsprocessortic6000blkslctspecsc6455dsk_dip_led_LCT.m

【4】 DSP PIL Matlab Matlab 2013或者2014可以在线获取target support package

第二篇:matlab与sql总结

总结

一个星期前老师给了一个任务,要求用GUI做成一个simulink仿真界面,通过matlab与SQL的连接,然后把仿真结果存到sql里建的数据库里。从一开始什么都不懂,到现在可以用GUI做一个简单的界面,以及matlab与sql的连接,这一个星期感慨颇多,尤其是查阅相关资料的痛苦,及找到可以借鉴资料的喜悦,到最后逐渐有了一个清晰的思想。过程如下:

一首先了解GUI 1.1 GUI简介[1,2]

图形用户界面(graphical user interface,GUI)是由窗口、光标、按键、菜单、文字说明等对象(Ob-ject)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等假如科技工作者仅仅执行数据分析、解方程等工作,一般不会考虑GUI的制作。但是如果想向客户提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面是最好的选择之一。开发实际的应用程序时应该尽量保持程序的界面友好,因为程序界面是应用程序和用户进行交互的环境。在当前情况下,使用图形用户界面是最常用的方法。提供图形用户界面可使用户更方便地使用应用程序,不需要了解应用程序怎样执行各种命令,只需要了解图形界面组件的使用方法;同时,不需要了解各种命令是如何执行的,只要通过用户界面进行交互操作就可以正确执行程序。

在Matlab7.0中,图形用户界面是一种包含多种图形对象的界面,典型的图形界面包括图形显示区域、功能按钮空间以及用户自定义的功能菜单等。为了让界面实现各种功能,需要对各个图形对象进行布局和时间编程。这样,当用户激活对应的GUI对象时,就能执行相应的时间行为。最后,必须保存和发布自己创建的GUI,使得用户可以应用GUI对象。在Matlab中,所有对象都可以使用M文件进行编写。GUI也是一种Matlab对象,因此,可以使用M文件来创建GUI。使用M文件创建GUI的方法也是最基础的,使用其他方法创建GUI图形界面时,实现图形控件的各种功能时,也需要编写相应的程序代码。

除了使用M文件来创建GUI对象之外,Matlab还为用户开发图形界面提供了一个方便高效的集成开发环境:Matlab图形用户界面开发环境(matlab graphical user interface development envi-ronment)简称GUIDE,其主要是一个界面设计工具集。Matlab7.0将所有GUI所支持的用户控件都集成起来,同时提供界面外观、属性和行为响应方法的设置方法。除了可以使用GUIDE创建GUI之外,还可以将设计好的GUI界面保存为一个FIG资源文件,自动生成对应的M文件。该M文件包含了GUI初始化代码和组建界面布局的控制代码。使用GUIDE创建GUI对象执行效率高,可以交互式地进行组件布局,还能生成保存和发布GUI的对应文件。

FIG文件:该文件包含GUI图形窗口及其子对象的完全描述,包含所有相关对象的属性信息,可以调用hgsave命令或者使用M文件编辑器的File>Save命令生成该文件。FIG文件是一个二进制文件,包含系列化的图形窗口对象。所有对象的属性都是用户创建图形窗口时保存的属性。该文件最主要的功能是对象句柄的保存。

M文件:该文件包含GUI设计、控制函数及控件的回调函数,主要用来控制GUI展开时的各种特征。该文件基本上可以分为GUI初始化和回调函数2个部分,控件的回调函数根据用户与GUI的具体交互行为分别调用。应用程序M文件使用open-fig命令来显示GUI对象,但是该文件不包含用户界面设计的代码,对应代码由FIG文件保存。1.2 设计GUI步骤

简单说来,一个好的界面应遵循以下3个原则:简单性(Simplicity)、一致性(Consistency)及习常性(Familiarity)。界面制作包括界面设计和程序实现。具体制作步骤如下[3,4]: 1)分析界面所要求实现的主要功能,明确设计任务;2)在稿纸上绘出界面草图,并站在使用者的角度来审查草图;3)按构思的草图,上机制作(静态)界面,并对其进行检查;4)编写界面动态功能的程序,对功能进行逐项检查。

以上过程只是一般原则,在设计中,步骤之间也可能要交叉执行或复合执行;设计和实现过程往往不是一步到位的,可能需要反复修改,才能获得满意的界面。建议先进行界面布局编码,后进行动态交互功能的编码。

二数据库与matlab的连接

2.1 ODBC简介[5]

ODBC(开放式数据库的连接)是一种应用程序的接口(API)。这种接口提供了独立于任何的数据库管理系统编写应用程序的能力。ODBC通过ODBC驱动程序提供了对不同的数据库供应商的一组应用程序接口来给特殊的数据库管理系统(DBMS)。用户的应用程序使用这组API来调度ODBC驱动程序,然后驱动程序通过SQL语句同DBMS发生联系。DBC提供了数据库管理系统的标准接口,从而使应用人员在编程时不必关心底层的DBMS,大大提高了工作效率。2.2 32位matlab与32 位sql位数据库之间的连接 2.2.1数据库的建立

在SQL Server2008中建立数据库test,在其中建立表stock。2.2.2 SQL数据源的配置

建立ODBC数据源:控制面板->管理工具->ODBC数据源->用户DNS。点击“添加”,数据源名称可任意命名。服务器选择自己指定的。2.2.3.MATLAB连接数据库M文件的编写 1 连接数据库 代码如下

>> conn=database('test','sa','123')%test是刚刚建立的数据库名称 %sa是数据库登陆名%‘123’是数据库登陆密码 2 检验数据库连接状态

>> Ping(conn);%用于查看现在数据库连接状态 3 数据写入

>>expdata=[2001 7 12 000001 0.123432];>>fastinsert(conn,{'year','month','day','id','stock_return'},expdata);备注:

(1)Conn一个变量,是用于保存数据库连接字符窜的,conn=database('test','sa','123');只要数据库已经连接上,后面就可以直接引用。

(2)'year','month','day','id','stock_return'是数据库表格中的字段名(3)expdata=[2001 7 12 000001 0.123432]是我们要写入数据库的信息,分别对应于数据表中的各个字段。这里我们写入数据库的是number型的,因此矩阵式数字型。即:expdata=[2001 7 12 000001 0.123432]。(4)写入数据前提是已经成功连接数据库。4 数据的查询 代码:

>>curs=(conn,'select * from test.dbo.stock')%建立数据库的连接 >>curs=exec(conn,'select * from test.dbo.stock where id=1')%从test数据库,stock表格里面选择 股票代码为1的股票的所有信息 >>curs=fetch(curs)%取回数据库游标里面的数据; >>curs.data%读取游标里面的数据 5 显示查询后的信息: >>curs.data 6关闭链接对象和游标——close 当不再使用数据库的链接对象时要及时关闭,这样才能及时的释放出内存,而且每次链接后所需要的内存量是非常大的,要是不及时关闭的话对后续计算的影响将非常非常的大。close(curs)close(conna)

2.3 64位matlab与64位sql数据库之间的连接(以下为网络整理未证实)

64位Matlab无法通过ODBC接口访问SQL Server,我们可以跳出ODBC,而直接使用JDBC来访问数据库

第一步,从Microsoft.COM 下载Microsoft SQL Server JDBC Driver 3.0,下载地址可以将上述关键字扔进Google中搜索就得到了。解压缩可以得到很多文件,我们需要的是其中的sqljdbc4.jar和sqljdbc.jar这两个文件。其中后者是前者的子集,只要不出问题,直接使用前者就可以了。

第二步,在Matlab中加入jar。具体做法是找到“classpath.txt”文件,例如我的这个文件位置是 “D:Matlab2010Btoolboxlocalclasspath.txt”,在文件的最后加入sqljdbc4.jar的完整路径,例如我的是:“D:/sqljdbc30/enu/sqljdbc4.jar”,注意斜杠怎么写。

第三步,启动Matlab,启动过程中如果没有出错,那么这个JDBC Connector就可以用了。

上面三步就把JDBC Connector建好了。接下来我们就开始连接数据库。第一步,建立一个到数据库的连接。假设SQL Server地址是 192.30.1.117,端口是 1433,数据库名称是RTQ,用户名user,密码 pwd,那么用下面的语句建立一个到该数据库的连接。

conn=database('RTQ','user','pwd','com.microsoft.sqlserver.jdbc.SQLServerDriver',...'jdbc:sqlserver://192.30.1.117:1433;databaseName=RTQ');

参考文献

[1]MATLAB Application Program Interface Guide[C],TheMathworks Inc,1999 [2]王跃强、王纪龙、王云才,VB程序中实现调用MATLAB的方法[J],计算机应用,2001,vol.21,No.2 [3]刘炳文编著,精通Visual Basic 6.0中文版[M]北京:电子工业出版社,1999.7 [4]刘卫国,科学计算与MATLAB语言[M],中国铁道出版社,2000.4 [5]侯春生,陈汝义,袁爱进,乔 毅,唐明新.MATLAB/VB/SQL Server编程实现数据管理[J].微型电脑应用,Vol.18,No.7,2002

第三篇:matlab总结

班级: 学号: 姓名:

Matlab学习综述

MATLAB是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和强大的数据可视化功能集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充。

MATLAB产品由若干个模块组成,不同的模块完成不同的功能,其中主要的核心模块有MATLAB、MATLAB Toolboxex、MATLAB Compiler Simulink、Simulink Blocksets、Real-time Workshop(RTW)Stateflow。这些产品大体上可以分为以MATLAB为基础的产品和以Simulink为基础的产品两大分支。其中,MATLAB是MATLAB产品家族的基础,任何其他MATLAB产品产品都以这个模块为基础。MATLAB的桌面应用程序开发工具是以MATLAB Compiler为核心的一组编译工具。Simulink是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模,分析和仿真,它的建模范围广泛,可以针对任何能够用数字来描述的系统进行建模。

一种完整的计算机应用语言应该提供对数据的描述和对数据的操作。在M语言中,最常用的数据类型表现手段和形式就是变量和常量,由于MATLAB软件自身的特点,它是一种以数值计算为基础的软件,因此M语言的基本处理单位是数值矩阵或者数值向量,在M语言中统一将矩阵或者向量称之为数组,因此掌握一些基本的矩阵、向量和数组操作的基本知识就成为了掌握MATLAB软件的基础。变量和常量是编程语言中类型的表现手段和形式,掌握变量和常量的概念也是掌握M语言编程的基础。所谓变量,就是指在程序运行中需要改变数值的量,每一个变量都具有一个名字,变量将在内存中占据一定的空间,以在程序运行的过程中保存其数值,对变量的命名有相应的要求:变量必须以字母开头,后面可以是字母、数字或者下划线之间的组合。所谓常量就是在程序运行的过程中不需要改变数值的量。

MATLAB专门以矩阵作为基本的运算单位,首先要掌握向量、矩阵、索引和多维数组的概念,以及在MATLAB环境下创建向量、矩阵和多维数组的方法,以及操作矩阵和多维数值的函数的使用方法。

目前的MATLAB版本中不仅有多达十几种的基本数据类型。在不同的专业工具箱中还有特殊的数据类型,并且MATLAB还支持面向对象的编程技术,支持用户自定义的数据类型。获取MATLAB的数据类型可以在MATLAB命令行窗体中键入help datatypes。MATLAB的数据类型包括基本的数值类型,逻辑类型数据、元胞数值、结构和字符串等,需要指出一点,MATLAB的基本数据是双精度数据类型和字符类型。MATLAB提供了完整的编写应用程序的功能,这种能力被称为M语言的高级语言来实现。这种语言是一种解释性语言,利用该语言编写的代码仅能被MATLAB接受,被MATLAB解释执行。其实,一个M语言文件就是由若干MATLAB的命令组合在一起构成的,和C语言类似。M语言文件都是标准的纯文本格式的文件,其文件的扩展名为.m。MATLAB的函数主要有两类,一类被称为内建函数,这类函数是由MATLAB的内核提供的,能够完成基本的运算,例如三角函数、矩阵运算函数等。另外一类函数就是利用高级语言开发的函数文件,这里的函数文件包括用C/FORTRAN语言开发的MEX函数文件,也包括了M函数文件。

M语言文件可以分为两类,其中一类是脚本文件,另一类是函数文件,脚本文件是最简单的一种M语言文件。所谓脚本文件就是由一系列的M语言文件指令和命令组成的纯文本格式的M文件,执行脚本文件时,文件中的指令或者命令按照出现在脚本文件中的顺序依次执行。脚本文件没有输入参数,也没有输出参数,脚本文件处理的数据或者变量必须在MATLAB的公共工作空间中,脚本文件主要是由注视行和代码行组成。

函数文件是M文件最重要的组成部分,M语言函数文件能够接受用户的输入参数,并进行计算,然后将计算结果作为函数的返回值返回给调用者,M函数文件和脚本文件不同,函数文件不仅有自己特殊的文件格式,而且不同的函数还分别具有自己的工作空间,函数文件的输/输出参数不同,这些输入/输出参数在定义的时候不需要指出变量的类型,因为MATLAB默认这些参数都使用双精度类型,这样可以简化程序的编写。M语言的函数文件不仅可以有一个输入参数和一个返回值,还可以为M语言函数文件定义多个输入参数和多个输出参数,同一个M函数文件中可以包含多个函数。如果在同一个M函数文件中包含了多个函数,那么将出现在文件中的第一个M函数称为主函数,其余的函数称为子函数。

经过这么一段时间的学习,对MATLAB有了初步的认识。但是关于它还有很多知识我们所不知道,还有待进一步的学习。以上内容是我对这学期所学课程的总结,可能有些地方总结的不够到位,因为有些地方学习的不够深入,所以,以后要更加努力,在MATLAB的学习上多花一些时间,为以后的学习和工作打下基础。

第四篇:MATLAB总结

目录

一、Matlab相关说明.....................................................................2

二、Matlab操作注意事项..............................................................2

三、Matlab常用代码(图像处理相关)......................................5

四、Matlab常用快捷键.................................................................7

五、Matlab学习心得.....................................................................8

一、Matlab相关说明

Matlab是“Matrix Laboratory”的缩写,意为“矩阵实验室”。MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

我所使用的Matlab版本是2012a,下文所涉及到图片、专业术语等都是以此版本为基础。

二、Matlab操作注意事项

1.打开并运行一个现存的m文件且这个m文件运行时需用到同一级文件夹中的其他文件,会出现如下提示框:

选择变更文件夹,将当前文件夹变更为这个m文件所在的文件夹。

2.不小心点错或关闭了各种小窗口,将Matlab恢复成默认布局

点击桌面—桌面布局—默认

3.查看某个函数的用法

在命令窗口输入该变量的名称,回车即可。

4.查找某个函数的用法

在命令窗口输入help+函数的名称,回车后会自动显示该函数的相关信息。

5.运行文件后报错 如下图所示,命令窗口中报错的第一段是错误的原因,后面几段会显示发生错误的文件夹以及在该文件夹中的位置。

点击文件的名称,会跳转出一个提示框,上面显示了该文件的具体实现功能,如下图所示。点击文件名后面的行标号,可以直接跳转到发生错误的那一行。

6.如何编辑界面?

修改如图所示的fig文件

1.新建一个GUI文件

2.选择打开现存的GUI文件,点击Open,就可以对当前界面进行编辑了。

7.如何将MAtlab中默认的current folder修改为自己想要的路径,每次启动后都默认是自己 设定的这个路径?

>>右键matlab 快捷方式,属性-快捷方式-起始位置 填入你自己的工作目录。8.把图复制到WORD文件的方法:电机EDIT—>Copy Figure—>Ctrl+V 9.输入时,标点必须是英文状态下的

10.大多数情况下,matlab对空格不予处理

11.小括号代表运算级别,中括号用于生成矩阵,大括号用于构成单元数组

12.分号;的作用:不显示运算结果,但对图形窗口不起作用。分号也用于区分行,13.逗号,的作用:函数参数分隔符,也用于区分行,显示运算结果,当然不加标点也显示运算结果

14.冒号:多用于数组

15.续行号...不能放在等号后面使用,不能放在变量名中间使用,起作用时默认显蓝色 16.双引号'string'是字符串的标识符 17.感叹号!用于调用操作系统运算

18.百分号%是注释号,百分号后面直到行末的语句matlab跳过执行.另外还有一个块注释,即对多行一次注释,会使用到,格式为(注意%{ 和%}都要单独成行)%{ %} 19.矩阵中用圆括号表示下标,单元数组用大括号表示下标

20.对变量名的基本要求:区分大小写,不超过63个字符,以字母开头,只能是字母,数字和下划线

三、Matlab常用代码(图像处理相关)

1.创建一个文件夹 mkdir('D:myData');2.将图片保存到指定的文件夹

image_source=strcat('result',num2str(loop),'.jpg');imwrite(F.cdata,image_source);3.将电影转成图片序列

fnum=size(mov,2);%读取电影的祯数 for i=1:fnum strtemp=strcat('C:UsersAdministratorDesktopparticalfiltermyself粒子滤波',int2str(i),'.jpg');%将每祯转成jpg的图片 imwrite(mov(i).cdata,strtemp,'jpg');end

4、模拟噪声生成函数和预定义滤波器

① imnoise:用于对图像生成模拟噪声,如:

i=imread('104_8.tif');j=imnoise(i,'gaussian',0,0.02);%模拟高斯噪声 ② fspecial:用于产生预定义滤波器,如: h=fspecial('sobel');%sobel水平边缘增强滤波器 h=fspecial('gaussian');%高斯低通滤波器 h=fspecial('laplacian');%拉普拉斯滤波器

h=fspecial('log');%高斯拉普拉斯(LoG)滤波器 h=fspecial('average');%均值滤波器

5、图像文件I/O函数命令

imfinfo 返回图形图像文件信息

语法:info=imfinfo(filename,fmt)info=imfinfo(filename)imread 从图像文件中读取(载入)图像

语法:A=imread(filename,fmt)[X,map]=imread(filename,fmt)[...]=imread(filename)[...]=imread(URL,...)[...]=imread(...,idx)(CUR,ICO,and TIFF only)[...]=imread(...,'frames',idx)(GIF only)[...]=imread(...,ref)(HDF only)[...]=imread(...,'BackgroundColor',BG)(PNG only)[A,map,alpha] =imread(...)(ICO,CUR,PNG only)imwrite 把图像写入(保存)图像文件中

语法:imwrite(A,filename,fmt)imwrite(X,map,filename,fmt)imwrite(...,filename)imwite(...,Param1,Val1,Param2,Val2...)imcrop 剪切图像

语法:I2=imcrop(I)X2=imcrop(X,map)RGB2=imcrop(RGB)I2=imcrop(I,rect)X2=imcrop(RGB,rect)[...]=imcrop(x,y,...)[A,rect]=imcrop(...)[x,y,A,rect]=imcrop(...)

6.impixel 确定像素颜色值

语法:P=impixel(I)P=impixel(X,map)P=impixel(RGB)P=impixel(I,c,r)P=impixel(X,map,c,r)P=impixel(RGB,c,r)[c,r,P]=impixel(...)P=impixel(x,y,I,xi,yi)P=impixel(x,y,RGB,xi,yi)P=impixel(x,y,X,map,xi,yi)[xi,yi,P]=impixel(x,y,...)

7.二进制图像操作函数

applylut 在二进制图像中利用lookup表进行行边沿操作 语法:A=applylut(BW,LUT)bwarea 计算二进制图像对象的面积 语法:total=bwarea(BW)bweuler 计算二进制图像的欧拉数 语法:eul=bweuler(BW)

8.颜色空间转换函数

hsv2rgb 转换HSV值为RGB颜色空间:M=hsv2rgb(H)ntsc2rgb 转换NTSC值为RGB颜色空间:rgbmap=ntsc2rgb(yiqmap)RGB=ntsc2rgb(YIQ)rgb2hsv 转换RGB值为HSV颜色空间:cmap=rgb2hsv(M)rgb2ntsc 转换RGB值为NTSC颜色空间:yiqmap=rgb2ntsc(rgbmap)YIQ=rgb2ntsc(RGB)rgb2ycbcr 转换RGB值为YCbCr颜色空间:ycbcrmap=rgb2ycbcr(rgbmap)YCBCR=rgb2ycbcr(RGB)ycbcr2rgb 转化YCbCr值为RGB颜色空间:rgbmap=ycbcr2rgb(ycbcrmap)RGB=ycbcr2rgb(YCBCR)

9.类型转换函数

im2bw 转换图像为二进制图像

语法:BW=im2bw(I,level)BW=im2bw(X,map,level)BW=im2bw(RGB,level)im2double 转换图像矩阵为双精度型

语法:I2=im2double(I1)RGB2=im2double(RGB1)I=im2double(BW)X2=im2double(X1,'indexed')double 转换数据为双精度型 语法:double(X)unit8、unit16转换数据为8位、16位无符号整型: i=unit8(x)i=unit16(x)im2unit8 转换图像阵列为8位无符号整型

语法:I2=im2unit8(I1)RGB2=im2unit8(RGB1)I=im2unit8(BW)X2=im2unit8(X1,'indexed')im2unit16 转换图像阵列为16位无符号整型

语法:I2=im2unit16(I1)RGB2=im2unit16(RGB1)I=im2unit16(BW)X2=im2unit16(X1,'indexed')

四、Matlab常用快捷键

1.在命令窗口(Command Window)中:

1)【上、下键】――切换到之前、之后的命令,可以重复按多次来达到你想要的命令

2)clc――清除命令窗口显示的语句,此命令并不清空当前工作区的变量,仅仅是把屏幕上显示出来的语句清除掉

3)clear――这个才是清空当前工作区的变量命令,常用语句clear all来完成 4)【Tab】键――在command窗口,输入一个命令的前几个字符,然后按tab键,会弹出前面含这几个字符的所有命令,找到你要的命令,回车,就可以自动完成。目前讨论结果是:matlab6.5版本中,如果候选命令超过100个,则不显示。而在matlab7以后版本中,则没有这个限制,均可正常提示 5)【Ctrl+C】(或【Ctrl+Break】)――在matlab程序运行过程中,可能由于程序编写的失误,导致程序不停的运行,在命令窗口输入“Ctrl+C”可以将运行的程序停下来,而不需要将整个Matlab程序关掉。不过进行此操作的前提是能够激活切换到命令窗口才行。6)edit+函数名 查看或编辑源文件 7)who 显示当前变量名列表 8)whos 显示变量详细列表

9)which+函数名 证实该函数是否在当前路径 10)what 列出当前路径的所有matlab文件 11)load 加载外部文件 12)save 保存文件到外部 13)20.matlab的帮助函数: 14)help 15)help+函数名或help+函数类名 精确查询 16)helpwin 打开帮助窗口 17)helpwin+函数名 精确查询 18)helpdesk 打开帮助窗口 19)doc 打开帮助窗口

20)doc+函数名 打开帮助窗口,精确查询

21)lookfor+关键字 这个是matlab中的谷歌,模糊查询

2.在编辑器(Editor)中: 1)【Tab】(或【Ctrl+]】)――增加缩进(对多行有效)2)3)4)5)6)【Ctrl+[】--减少缩进(对多行有效)

【Ctrl+I】--自动缩进(即自动排版,对多行有效)【Ctrl+R】――注释(对多行有效)【Ctrl+T】――去掉注释(对多行有效)

【Ctrl+B】――括号配对检查(对版本6.5有效,但版本7.0无效,不知道是取消了还是换了另外的快捷键,请大牛们指点,其他版本没有测试过)7)【F12】――设置或取消断点 8)【F5】――运行程序

五、Matlab学习心得

接触Matlab一个多月,从刚开始连最基本的操作都不会,到现在能够熟练地运用Matlab解决问题。虽然现在学到的也只是皮毛而已,离精通还相差甚远,但至少为以后研究生期间的学习打下了良好的基础。下面我就简单的谈一下这一个月来的学习感想。

首先,想要学好Matlab必须有一定数学基础。Matlab软件是与高等数学,计算机科学相结合的软件。所以,当你学习Matlab时,你也得会一定的数学。你要尽量多的熟悉matlab自带的函数,及其作用,因为matlab的自带函数特别多,基本上能够满足一般的数据和矩阵的计算,所以基本上不用你自己编函数。这一点对你的程序非常有帮助,可以使你的程序简单,运行效率高,可以节省很多时间。

其次,要注重基础知识于实际操作结合。你把基本的知识看过之后,就需要找一个实际的程序来动手编一下,不要等所有的知识都学好之后再去编程,你要在编程的过程中学习,程序需要什么知识再去补充。在遇到问题时,不要光看别人如果解决,也不要光想怎么解决,自己坐下来,动手自己解决一下,那你就会把不是你的知识变成自己的知识。

最后,也是最重要的一点就是坚持。MATLAB涉及的领域太多,每个领域里面都缺乏足够的专家分布在你周围。那么我们很难有机会接触到真正的高手,对我们的技术细节一一指点。在遇到实际问题时,就只能靠自己去摸索。常常是再坚持一两个小时,就能够解决你的问题。最大的成就感,就在付出了极大的心血和耐心,才取得一个艰难的小胜利。

第五篇:MATLAB总结与上机指南

化工计算中常用的MATLAB命令总结

化学工程中的计算问题一般比较复杂, 其操作的数据对象通常是数组, 具体计算涉及到插值、求积分、参数拟合、解常微分和偏微分微分方程、解线性和非线性方程等。MATLAB是新一代的科学计算语言, 在解决上述问题上, 相对于FORTRAN、C 和BASIC等传统的计算语言具有明显的优越性。本文针对应用MATLAB 解决化工中的典型问题进行计算常用方法和命令做以小结。1.最小二乘法拟合 1.1 最小二乘拟合直线

函数

lsline 格式

lsline

%最小二乘拟合直线

h = lsline

%h为直线的句柄 1.2约束线性最小二乘

有约束线性最小二乘的标准形式为

minx1Cxd222

sub.to

Axb

Aeqxbeq

lbxub

其中:C、A、Aeq为矩阵;d、b、beq、lb、ub、x是向量。在MATLAB5.x中,约束线性最小二乘用函数conls求解。

函数

lsqlin

格式

x = lsqlin(C,d,A,b)

%求在约束条件Axb下,方程Cx = d的最小二

乘解x。

x = lsqlin(C,d,A,b,Aeq,beq)

%Aeq、beq满足等式约束Aeqxbeq,若没有不等式约束,则设A=[ ],b=[ ]。

x = lsqlin(C,d,A,b,Aeq,beq,lb,ub)

%lb、ub满足lbxub,若没有等

式约束,则Aeq=[ ],beq=[ ]。

x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0)

% x0为初始解向量,若x没有界,则lb=[ ],ub=[ ]。

x = lsqlin(C,d,A,b,Aeq,beq,lb,ub,x0,options)

% options为指定优化参数 [x,resnorm] = lsqlin(…)

% resnorm=norm(C*x-d)^2,即2-范数。[x,resnorm,residual] = lsqlin(…)

%residual=C*x-d,即残差。

[x,resnorm,residual,exitflag] = lsqlin(…)

%exitflag为终止迭代的条件 [x,resnorm,residual,exitflag,output] = lsqlin(…)

% output表示输出优化

信息

[x,resnorm,residual,exitflag,output,lambda] = lsqlin(…)

% lambda为解x的Lagrange乘子

1.3 非线性最小二乘

非线性最小二乘(非线性数据拟合)的标准形式为

minxf(x)f1(x)2f2(x)2fm(x)2L

其中:L为常数

在MATLAB5.x中,用函数leastsq解决这类问题,在6.0版中使用函数lsqnonlin。

f1(x)f2(x) 设F(x)fm(x)则目标函数可表达为minx12F(x)221fi(x)2 2i其中:x为向量,F(x)为函数向量。函数

lsqnonlin 格式

x = lsqnonlin(fun,x0)

%x0为初始解向量;fun为fi(x),i=1,2,…,m,fun返回向量值F,而不是平方和值,平方和隐含在算法中,fun的定义与前面相同。

lbxubx = lsqnonlin(fun,x0,lb,ub)

%lb、ub定义x的下界和上界:。

x = lsqnonlin(fun,x0,lb,ub,options)

%options为指定优化参数,若x没有界,则lb=[ ],ub=[ ]。

[x,resnorm] = lsqnonlin(…)% resnorm=sum(fun(x).^2),即解x处函数值。[x,resnorm,residual] = lsqnonlin(…)

% residual=fun(x),即解x处fun的值。[x,resnorm,residual,exitflag] = lsqnonlin(…)

%exitflag为终止迭代条件。[x,resnorm,residual,exitflag,output] = lsqnonlin(…)%output输出优化信息。[x,resnorm,residual,exitflag,output,lambda] = lsqnonlin(…)

%lambda为

Lagrage乘子。

[x,resnorm,residual,exitflag,output,lambda,jacobian] =lsqnonlin(…)

%fun

在解x处的Jacobian矩阵。

多项式 2.1 多项式求值

函数名称:polyval 调用格式:y=polyval(p,x),[y,delta]=polyval(p,x,S)返回多项式p在x点处的取值。X可以是向量也可以是矩阵。[y,delta] = polyval(p,x,S)同时还生成误差估计。2.2 多项式求根

函数名称:roots 调用格式:r=roots(c)

返回一个元素为多项式c的根的列向量。行向量中包含按降幂排列的多项式的系数,如果c中包含n+1个元素,则多项式的表达式为:c1sn+…+cns+cn+1。3 插值 3.1 一维插值

函数名称:interp1 调用格式:yi=interp1(x,Y,xi), yi=interp1(x,Y,xi,method)MATLAB中有两类一维数据插值方法:多项式插值法和基于FFT的插值法。函数interp1采用多项式插值法,它用多项式拟合所给出的数据,然后在插值点上根据多项式算出相应的值。调用格式中,xi为需要插值的位置所组成的向量,yi 为根据插值算法求得的值所组成的向量。x,Y为已知的数据点向量。参数method用于确定具体的插值方法,包括:

‘linear’表示采用线性插值方法;‘cubic’表示采用三次插值的方法; ‘nearest’表示采用最近点插值法;‘spline’表示用三次样条插值方法。3.2 二维插值

函数名称:interp2 调用格式

ZI = interp2(X,Y,Z,XI,YI)

返回矩阵ZI,其元素包含对应于参量XI与YI(可以是向量、或同型矩阵)的元素,即Zi(i,j)←[Xi(i,j),yi(i,j)]。

ZI = interp2(Z,XI,YI)

缺省地,X=1:n、Y=1:m,其中[m,n]=size(Z)。再按 ’nearest’:最临近插值; ’spline’:三次样条插值; ’cubic’:双三次插值。非线性数据(曲线)拟合

非线性曲线拟合是已知输入向量xdata和输出向量ydata,并且知道输入与输出的函数关系为ydata=F(x, xdata),但不知道系数向量x。今进行曲线拟合,求x使得下式成立:

minx1F(x,xdata)ydata2221(F(x,xdatai)ydatai)2 2i在MATLAB5.x中,使用函数curvefit解决这类问题。函数

lsqcurvefit 格式

x = lsqcurvefit(fun,x0,xdata,ydata)x = lsqcurvefit(fun,x0,xdata,ydata,lb,ub)x = lsqcurvefit(fun,x0,xdata,ydata,lb,ub,options)[x,resnorm] = lsqcurvefit(…)[x,resnorm,residual] = lsqcurvefit(…)[x,resnorm,residual,exitflag] = lsqcurvefit(…)[x,resnorm,residual,exitflag,output] = lsqcurvefit(…)[x,resnorm,residual,exitflag,output,lambda] = lsqcurvefit(…)[x,resnorm,residual,exitflag,output,lambda,jacobian] =lsqcurvefit(…)参数说明:

x0为初始解向量;xdata,ydata为满足关系ydata=F(x, xdata)的数据; lb、ub为解向量的下界和上界lbxub,若没有指定界,则lb=[ ],ub=[ ];

options为指定的优化参数;

fun为拟合函数,其定义方式为:x = lsqcurvefit(@myfun,x0,xdata,ydata),其中myfun已定义为

function F = myfun(x,xdata)F = …

% 计算x处拟合函数值fun的用法与前面相同; resnorm=sum((fun(x,xdata)-ydata).^2),即在x处残差的平方和; residual=fun(x,xdata)-ydata,即在x处的残差; exitflag为终止迭代的条件; output为输出的优化信息; lambda为解x处的Lagrange乘子;

jacobian为解x处拟合函数fun的jacobian矩阵。

数值积分

5.1 一元函数的数值积分

函数名称:

quad、quadl、quad8 调用格式 q = quad(fun,a,b)

%近似地从a到b计算函数fun的数值积分,误差为10。给fun输入向量x,应返回向量y,即fun是一单值函数。q = quad(fun,a,b,tol)

%用指定的绝对误差tol代替缺省误差。tol越大,函数计算的次数越少,速度越快,但结果精度变小。

q = quad(fun,a,b,tol,trace,p1,p2,…)

%将可选参数p1,p2,…等传递给函数fun(x,p1,p2,…),再作数值积分。若tol=[]或trace=[],则用缺省值进行计算。

[q,n] = quad(fun,a,b,…)%同时返回函数计算的次数n … = quadl(fun,a,b,…)

%用高精度进行计算,效率可能比quad更好。… = quad8(fun,a,b,…)

%该命令是将废弃的命令,用quadl代替。

5.2 一元函数的数值积分

函数名称:

dblquad 功能

矩形区域上的二重积分的数值计算

调用格式

q = dblquad(fun,xmin,xmax,ymin,ymax)

调用函数quad在区域[xmin,xmax, ymin,ymax]上计算二元函数z=f(x,y)的二重积分。输入向量x,标量y,则f(x,y)必须返回一用于积分的向量。

q = dblquad(fun,xmin,xmax,ymin,ymax,tol)

用指定的精度tol代替缺省精度10-6,再进行计算。

q = dblquad(fun,xmin,xmax,ymin,ymax,tol,method)

用指定的算法method代替缺省算法quad。method的取值有@quadl或用户指定的、与命令quad与quadl有相同调用次序的函数句柄。

q = dblquad(fun,xmin,xmax,ymin,ymax,tol,method,p1,p2,…)

将可选参数p1,p2,..等传递给函数fun(x,y,p1,p2,…)。若tol=[],method=[],则使用缺省精度和算法quad。非线性方程组的解

非线性方程组的标准形式为:F(x)= 0 其中:x为向量,F(x)为函数向量。函数

fsolve 格式

x = fsolve(fun,x0)

用fun定义向量函数,其定义方式为:先定义方程函数function F = myfun(x)。

F =[表达式1;表达式2;…表达式m] 保存为myfun.m,并用下面方式调用:x =

-6fsolve(@myfun,x0),x0为初始估计值。

x = fsolve(fun,x0,options)[x,fval] = fsolve(…)

fval=F(x),即函数值向量 [x,fval,exitflag] = fsolve(…)[x,fval,exitflag,output] = fsolve(…)[x,fval,exitflag,output,jacobian] = fsolve(…)

jacobian为解x处的Jacobian阵。

其余参数与前面参数相似。7 常微分方程数值解

函数名称:ode45、ode23、ode113、ode15s、ode23s、ode23t、ode23tb 功能

常微分方程(ODE)组初值问题的数值解 参数说明:

solver为命令ode45、ode23,ode113,ode15s,ode23s,ode23t,ode23tb之一。

Odefun 为显式常微分方程y’=f(t,y),或为包含一混合矩阵的方程M(t,y)*y’=f(t,y)。命令ode23只能求解常数混合矩阵的问题;命令ode23t与ode15s可以求解奇异矩阵的问题。

Tspan 积分区间(即求解区间)的向量tspan=[t0,tf]。要获得问题在其他指定时间点t0,t1,t2,…上的解,则令tspan=[t0,t1,t2,…,tf](要求是单调的)。

Y0 包含初始条件的向量。

Options 用命令odeset设置的可选积分参数。P1,p2,… 传递给函数odefun的可选参数。调用格式

[T,Y] = solver(odefun,tspan,y0)

在区间tspan=[t0,tf]上,从t0到tf,用初始条件y0求解显式微分方程y’=f(t,y)。对于标量t与列向量y,函数f=odefun(t,y)必须返回一f(t,y)的列向量f。解矩阵Y中的每一行对应于返回的时间列向量T中的一个时间点。要获得问题在其他指定时间点t0,t1,t2,…上的解,则令tspan=[t0,t1,t2,…,tf](要求是单调的)。

[T,Y] = solver(odefun,tspan,y0,options)%用参数options(用命令odeset生成)设置的属性(代替了缺省的积分参数),再进行操作。常用的属性包括相对误差值RelTol(缺省值为1e-3)与绝对误差向量AbsTol(缺省值为每一元素为1e-6)。

[T,Y] =solver(odefun,tspan,y0,options,p1,p2…)

将参数p1,p2,p3,..等传递给函数odefun,再进行计算。若没有参数设置,则令options=[]。

下载matlab 与ccsv5连接总结要点word格式文档
下载matlab 与ccsv5连接总结要点.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    Matlab学习总结

    学Matlab有感 姓名:王鸿栋 学号:20090286 班级: 03310901 我对于计算机编程接触的比较晚,也没有特别大的兴趣。不过对于Matlab这门课我还是很喜欢的。一是这个语言可以变出程序......

    Matlab常用指令总结

    概论 format long显示更多位数 format short显示少位数 format hex将数字显示为十六进制浮点数,(3fb999999999999a,a-f代表十六进制数,前三字符为) double()将数字转化为双精度浮......

    MATLAB知识总结

    1、命令x=0:0.2:2中的赋值格式是matlab常用的变量赋值格式,其中0表示初始值,0.2表示增量,而2表示终止值。若数组x无规律可循,那么x赋值得逐一输入单个元素了,这时要使用赋值格式......

    matlab基础总结

    Matlab程序设计的一般步骤: 1、陈述问题 2、定义输入和输出量 3、定义算法 4、把算法转化为matlab语句 5、检测产生的matlab程序 数组与变量: 1、数组中数据的访问a(行标 列标......

    MATLAB课程总结

    MATLAB课程总结 班级:14级电子信息与科学技术 姓名:孙凯 学号 201442398 在过去的两个月里,我们学习了MATLAB教程这一门课程,对此我有一些自己的思考与感悟。 通过学习,我们了......

    学习matlab总结(定稿)

    绘图函数 bar 竖直条图 barh 水平条图 hist 直方图 histc 直方图计数 hold 保持当前图形 loglog x,y对数坐标图 pie 饼状图 plot 绘二维图 polar 极坐标图 semilogy y轴对数......

    matlab课程总结

    Matlab 课程总结 学习matlab已经有一年多的时间了,matlab跟其他语言不一样(我用的编程语言,除了matlab就应该是c或c++了,VB也接触过),如果你抱着“把其他语言的思想运用在matlab里......

    matlab总结1

    1、matlab中离散的点拟画成连续曲线形式的图形,使用spline(xx,yy)函数 2、如果想在一副图片里画多个图,就不要使用figure,而是在plot后面,hold on 3、在曲线上加上标注,用text(x,y,'s......