文档库 最新最全的文档下载
当前位置:文档库 › Matlab使用技巧

Matlab使用技巧

Matlab使用技巧
Matlab使用技巧

Matlab-scope示波器菜单调用命令set(0,'ShowHiddenHandles','on');

set(gcf,'menubar','figure');

一般的测量检测模块是把示波器输入端连到要测量的参数所在点或者回路。Multimeter则不一样。

楼主有没有注意过有的模块的连接是尖头的,有的是一个圆圈形状的?可以理解为尖头的是弱电或数字信号,可以用示波器直接测。圆头的是强电信号,不能直接用示波器。

对于这样的信号,一般是:有些器件(强电器件)打开后,器件设置单中最后有一栏是“测量量”,选择测量什么信号以后,再用Multimeter“不接触测量”。

比如:一个RLC模块,最后一栏选定“测量所有电流电压”。注意这之前Multimeter打开左栏是空白的,外观是一个“回”里面一个“0”,选定RLC“测量所有电流电压”后打开Multimeter,左栏就有RLC的电流电压什么的了。选定要测的,移到右栏,就可以用示波器测波形了。此后“回”里面就不是“0”了,而是用户选择测量的数据个数了。

matlab 6.5/7.0——simulink模型无法保存及其兼容性问题完整解决方案

2009-06-25 09:45

mdl文件在6.5里面做的,但是到了7.0里面却打不开,下面就是相关信息:

Warning: Unable to load model file 'd:\MATLAB7\work\*.mdl'. Run "bdclose all; set_param(0, 'CharacterEncoding', Enc)" where Enc is one of windows-1252, ISO-8859-1, then load the model. The first character that is not supported in the current character encoding setting

('ibm-1386_P100-2002') occurs on line 1795, byte offset 21. To correctly load models with non-ASCII characters, you must explicitly use the character encoding that was used to save the file. Type "help slCharacterEncoding" for more information on setting character encoding and to learn more about which encodings are commonly found on your platform.

或者是直接保存出现如下信息:

Error while saving model 'untitled'using the character encoding setting 'ibm.....

问题产生原因:模型中含有不能识别的字符,比如中文等等,尤其是matlab对中文的支持不是很好(不知道是不是D版的原因)。解决的办法:

(1)在工作空间中输入下列命令,然后打开

bdclose all;

set_param(0,'CharacterEncoding','windows-1252')

或(2)在工作空间中输入下列命令,然后打开

bdclose all

set_param(0, 'CharacterEncoding', 'ISO-8859-1')

或(3)在工作空间中输入下列命令,然后打开

bdclose all

slCharacterEncoding('iso-8859-1')

然后即可保存*.mdl,然后用写字板或记事本打开模型文件*.mdl,发现内部原来是有汉字不能识别,将其改为英文,存盘退出即可。(大部分原因是因为你的计算机名和用户名是中文导致的(将其改为英文——右击我的电脑——属性对话框的计算机名面板——修改完毕,重启计算机即可))

同样如果要在7.0的模型里用中文注释,然后保存,就需要

set_param('ModelName', 'SavedCharacterEncoding', 'ISO-8859-1')

这里ModelName是你的mdl模型名,而且必须被打开了。

注:可能出现问题的参数是“LastModifiedBy”,这是最后修改模型人的名字;假如你的机子装系统的时候个人名字和单位填的是中文的话就要注意了,你装matlab时默认得也是这个中文名字,如果不改的话就会出现这个问题了。所以大家尽量用英文(包括S-function的注释),以避免不必要的麻烦!

几点建议:

(1)建议大家都统一用matlab7.0版本的,一些7.0.1等等如无必要,就不要装了。顺便说一下,有人说装了matlab7.0以后,系统进程里有一个Matlab Server.exe,占用内存很大,去掉的方法就是在管理工具->服务中将的启动类型由“自动”改为”禁止“就可以了。

(2)尽量避免用中文!

1)装matlab的时候,注意你的用户及单位一定要用英文或数字,不要用中文;2)自己封装的模块名字不要用中文,模型中的注释也要用英文;

Matlab、Simulink出错处理

2008-11-17 21:16

出错信息:

Warning: Unable to load model file

'D:\MATLAB701\work\pid_steering_threshold_braking.mdl'. Run "bdclose all; set_param(0, 'CharacterEncoding', Enc)" where Enc is one of windows-1252, ISO-8859-1, then load the model. The first character that is not supported in the current character encoding setting

('ibm-1386_P100-2002') occurs on line 403, byte offset 23. To correctly load models with non-ASCII characters, you must explicitly use the character encoding that was used to save the file. Type "help slCharacterEncoding" for more information on setting character encoding and to learn more about which encodings are commonly found on your platform.

帮助信息:

help slCharacterEncoding

SLCHARACTERENCODING: Change the MATLAB character encoding setting.

If you have a model containing non-ASCII characters, you need to change the

MATLAB character set encoding to be compatible with these characters before

loading the model. Currently, MATLAB supports: 'US-ASCII',

'Shift_JIS',

'ISO-8859-1', 'IBM-5348_P100-1997', 'cp1252'.

You need to close all open models and libraries before changing the MATLAB character set encoding except when changing from 'US-ASCII' to

another encoding.

Common character encoding settings by platform:

Unix, Linux, Mac : 'US-ASCII', 'Shift_JIS'

Hp-UX : 'ibm-1051_P100-1995'

Windows (USA, Western Europe): 'IBM-5348_P100-1997', 'cp1252' Windows (Japan) : 'Shift_JIS'

Windows (Other) : 'ISO-8859-1'

Any setting can be used on any platform. For maximum portability across

platforms and locales, it is recommended that you set the default

character

encoding to be US-ASCII.

Usage:

slCharacterEncoding() % display the current MATLAB

% character set encoding

enc = slCharacterEncoding() % return the current MATLAB % character set encoding

slCharacterEncoding('Shift_JIS') % change the MATLAB character set

% encoding to Shift_JIS

prev = slCharacterEncoding('US-ASCII') % change the MATLAB character set

% encoding to Shift_JIS, and

% return previous encoding in

% 'prev'

出错诊断:

slCharacterEncoding()

ans =

ibm-1386_P100-2002 %果然提示与系统的设置不一致。

出错处理:

(1)在MATLAB的命令行运行:slCharacterEncoding('ISO-8859-1')

(2)再打开Simulink文件

结果正常,OK。

MATLAB简介

MATLAB简介 MATLAB的名称源自Matrix Laboratory,它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB产品以提高产品自身的竞争能力。 目前MATLAB产品族可以用来进行: ?数值分析 ?数值和符号计算 ?工程与科学绘图 ?控制系统的设计与仿真 ?数字图像处理 ?数字信号处理 ?通讯系统设计与仿真 ?财务与金融工程 MATLAB产品家族的构成见上图,下面对各个组成部分进行介绍: MATLAB是MATLAB产品家族的基础,它提供了基本的数学算法,例如矩阵运算、数值分析算法,MATLAB集成了2D和3D图形功能,以完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言——M语言,利用M语言可以通过编写脚本或者函数文件实现用户自己的算法。

MATLAB Compiler是一种编译工具,它能够将那些利用MATLAB提供的编程语言——M语言编写的函数文件编译生成为函数库、可执行文件、COM 组件等等,这样就可以扩展MATLAB功能,使MATLAB能够同其他高级编程语言例如C/C++语言进行混合应用,取长补短,以提高程序的运行效率,丰富程序开发的手段。 利用M语言还开发了相应的MATLAB专业工具箱函数供用户直接使用。这些工具箱应用的算法是开放的可扩展的,用户不仅可以查看其中的算法,还可以针对一些算法进行修改,甚至允许开发自己的算法扩充工具箱的功能。目前MATLAB产品的工具箱有四十多个,分别涵盖了数据采集、科学计算、控制系统设计与分析、数字信号处理、数字图像处理、金融财务分析以及生物遗传工程等专业领域。 Simulink是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真,它的建模围广泛,可以针对任何能够用数学来描述的系统进行建模,例如航空航天动力学系统、卫星控制制导系统、通讯系统、船舶及汽车动力学系统等等,其中包括连续、离散,条件执行,事件驱动,单速率、多速率和混杂系统等等。Simulink提供了利用鼠标拖放的方法建立系统框图模型的图形界面,而且Simulink还提供了丰富的功能块以及不同的专业模块集合,利用Simulink几乎可以做到不书写一行代码完成整个动态系统的建模工作。 Stateflow是一个交互式的设计工具,它基于有限状态机的理论,可以用来对复杂的事件驱动系统进行建模和仿真。Stateflow与Simulink和MATL AB紧密集成,可以将Stateflow创建的复杂控制逻辑有效地结合到Simulink的模型中。 在MATLAB产品族中,自动化的代码生成工具主要有Real-Time Wor kshop(RTW)和Stateflow Coder,这两种代码生成工具可以直接将Simulink 的模型框图和Stateflow的状态图转换成高效优化的程序代码。利用RTW生成的

MATLAB中FFT的使用方法

MATLAB中FFT的使用方法 一.调用方法 X=FFT(x); X=FFT(x,N); x=IFFT(X); x=IFFT(X,N) 用MATLAB进行谱分析时注意: (1)函数FFT返回值的数据结构具有对称性。 例: N=8; n=0:N-1; xn=[4 3 2 6 7 8 9 0]; Xk=fft(xn) →Xk = 39.0000 -10.7782 + 6.2929i 0 - 5.0000i 4.7782 - 7.7071i 5.0000 4.7782 + 7.7071i 0 + 5.0000i -10.7782 - 6.2929i Xk与xn的维数相同,共有8个元素。Xk的第一个数对应于直流分量,即频率值为0。 (2)做FFT分析时,幅值大小与FFT选择的点数有关,但不影响分析结果。在IFFT时已经做了处理。要得到真实的振幅值的大小,只要将得到的变换后结果乘以2除以N即可。 二.FFT应用举例 例1:x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t)。采样频率fs=100Hz,分别绘制N=128、1024点幅频图。 clf; fs=100;N=128; %采样频率和数据点数

n=0:N-1;t=n/fs; %时间序列 x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号 y=fft(x,N); %对信号进行快速Fourier变换 mag=abs(y); %求得Fourier变换后的振幅 f=n*fs/N; %频率序列 subplot(2,2,1),plot(f,mag); %绘出随频率变化的振幅 xlabel('频率/Hz'); ylabel('振幅');title('N=128');grid on; subplot(2,2,2),plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅xlabel('频率/Hz'); ylabel('振幅');title('N=128');grid on; %对信号采样数据为1024点的处理 fs=100;N=1024;n=0:N-1;t=n/fs; x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号 y=fft(x,N); %对信号进行快速Fourier变换 mag=abs(y); %求取Fourier变换的振幅 f=n*fs/N; subplot(2,2,3),plot(f,mag); %绘出随频率变化的振幅 xlabel('频率/Hz'); ylabel('振幅');title('N=1024');grid on; subplot(2,2,4) plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅 xlabel('频率/Hz'); ylabel('振幅');title('N=1024');grid on; 运行结果:

Matlab简介

MATLAB简介 MATLAB是一个集数值计算、符号分析、图象显示、文字处理于一体的大型集成化软件.它最初由美国的Cleve Moler博士所研制.其目的是为线性代数等课程中的矩阵运算提供一种方便可行的实验手段.经过十几年的市场竞争和发展,MATLAB已发展成为在自动控制、生物医学工程、信号分析处理、语言处理、图像信号处理、雷达工程、统计分析、计算机技术、金融界和数学界等各行各业中都有极其广泛应用的数学软件. 归纳起来,MATLAB具有以下几个特点:易学、适用范围广、功能强、开放性强、网络资源丰富. 由于MATLAB的强大功能,它能使使用者从繁重的计算工作中解脱出来,把精力集中于研究、设计以及基本理论的理解上,所以,MATLAB已成为在校大学生、硕士生、博士生所热衷的基本数学软件.在此,我们把MATLAB作为学习数学的工具介绍给读者,希望能有利于读者今后的学习. 一MATLAB的运行 启动MATLAB点击MATLAB图标,进入到MATLAB命令窗(MATLAB Command Window).在命令窗内,可以输入命令、编程、进行计算. 学会使用help命令在命令窗内输入help命令,再敲回车键.在屏幕上出现了在线帮助总览.(注意:MATLAB命令被输入后,必需敲回车键才能执行.为行文方便,以后不再每次

提醒“敲回车键”.)学会使用help命令,是学习MATLAB的有效方法.例如:要想知道MATLAB中的基本数学函数有哪些,可以在总览的第五行查到:MATLAB中的“基本数学函数”用elfun表示,于是,可进一步键入:“help elfun”,屏幕上将出现“基本数学函数”表.(注意:help elfun之间有空格,以后不再每次提醒.)如果想了解sin函数怎样使用,可进一步键入help sin.在工具栏中点击help按扭,或点击?号按扭,与上面获取帮助信息的方法是等效的. 学会使用demo命令在命令窗内输入demo命令,再敲回车,键屏幕上将出现演示窗口.(MATLAB Demo Window)一共有三个窗口,左边的窗口显示欲演示内容的大标题,选定其中一项,右下方的小窗口显示欲演示的具体内容,选中其中一栏,再点击run按扭,屏幕上将演示选定的演示程序.右上方的窗口显示关于大标题的一些说明.在命令窗内输入type (文件名),将显示演示程序的M文件,仔细研究演示程序的M文件,是学习MATLAB的又一有效方法. 进入演示窗还有另一方法:在工具栏中点击Help栏,下拉式菜单中点击examples and demos项,即可进入演示窗口. 退出在工具栏中点击File按钮,在下拉式菜单中单击Exit MATLAB项即可. 二变量、语句、矩阵与函数 1.变量

(整理)matlab16常用计算方法.

常用计算方法 1.超越方程的求解 一超越方程为 x (2ln x – 3) -100 = 0 求超越方程的解。 [算法]方法一:用迭代算法。将方程改为 01002ln()3 x x =- 其中x 0是一个初始值,由此计算终值x 。取最大误差为e = 10-4,当| x - x 0| > e 时,就用x 的值换成x 0的值,重新进行计算;否则| x - x 0| < e 为止。 [程序]P1_1abs.m 如下。 %超越方程的迭代算法 clear %清除变量 x0=30; %初始值 xx=[]; %空向量 while 1 %无限循环 x=100/(2*log(x0)-3); %迭代运算 xx=[xx,x]; %连接结果 if length(xx)>1000,break ,end %如果项数太多则退出循环(暗示发散) if abs(x0-x)<1e-4,break ,end %当精度足够高时退出循环 x0=x; %替换初值 end %结束循环 figure %创建图形窗口 plot(xx,'.-','LineWidth',2,'MarkerSize',12)%画迭代线'.-'表示每个点用.来表示,再用线连接 grid on %加网格 fs=16; %字体大小 title('超越方程的迭代折线','fontsize',fs)%标题 xlabel('\itn','fontsize',fs) %x 标签 ylabel('\itx','fontsize',fs) %y 标签 text(length(xx),xx(end),num2str(xx(end)),'fontsize',fs)%显示结果 [图示]用下标作为自变量画迭代的折线。如P0_20_1图所示,当最大误差为10-4时,需要迭代19次才能达到精度,超越方程的解为27.539。 [算法]方法二:用求零函数和求解函数。将方程改为函数 100()2ln()3f x x x =-- MATLAB 求零函数为fzero ,fzero 函数的格式之一是 x = fzero(f,x0) 其中,f 表示求解的函数文件,x0是估计值。fzero 函数的格式之二是 x = fzero(f,[x1,x2])

MATLAB模块介绍$

MATLAB 模块介绍 -------- 数学 & 金融 u Curve Fitting Toolbox Curve Fitting Toolbox 扩展MATLAB 环境,集成数据管理,拟合,显示,检验和输入分析过程等功能。所有能通过GUI 使用的功能都可以通过命令行来进行。

u Database Toolbox ——与关系数据库交换数据 Database Toolbox提供了同任何支持ODBC/JDBC标准的数据库进行数据交换的能力。利用在工具箱中集成的Visual Query Builder工具,无需学习任何SQL语句就可以实现在数据库中查寻数据的功能。这样MATLAB就能够对存储在数据库中的数据进行各种各样的复杂分析。在MATLAB环境中,也可以使用SQL命令来进行如下操作: 对数据库数据进行读、写操作;应用简单或复杂的条件查询数据库中的内容。 特点: ?与支持ODBC/JDBC 数据库建立连接,包括Oracle 、Sybase SQL Server ,Sybase SQL Anywhere ,Microsoft SQL Sever ,Microsoft Access ,Informix Ingres 等。?支持SQL 语句,可以在MATLAB 环境下直接执行SQL 查询命令 ?动态数据调入:可以根据需要使用SQL 在MATLAB 中获取数据,本工具箱对某一种类型的数据库进行大量或小量的查询 ?数据类型保持:在MATLAB 中对数据的调入或调出操作都能保持原有的数据类型 ?多个对话能力,采用本工具箱可在MATLAB 中从一个数据库中调入数据,对那些数据进行分析,然后输出到另一个数据库中 ?处理大量数据的能力:采用本工具箱你可以一次或分几次处理大量的数据,这样能让你根据任务高效地进行数据处理 ?连续状态的数据库联接:一旦和某个数据库的联接建立起来后,数据库一直是打开的,除非你在MATLAB 中执行关闭语句。这提高了数据库的读取速度,减少了不必要的命令来调入、输出数据。 ?无需了解SQL 也能够对数据库数据进行查询。 功能: Database Toolbox 可以与流行的数据库交互数据,其中包括Oracle ,Sybase ,Microsoft SQL Server 及Informix 等。工具箱还允许在单个MATLAB 进程中对多个数据库进行操作,同时支持对大量数据处理。工具箱中包含的Visual Query Builder ,即使不知道SQL ,也能可视化地与数据库打交道。 u Financial Derivatives Toolbox Financial Derivatives Toolbox 用于分析金融衍生工具和投资。 特点 ?提供各种利息率模型 ?提供七种金融工具一系列计算的函数

Matlab使用技巧

Matlab-scope示波器菜单调用命令set(0,'ShowHiddenHandles','on'); set(gcf,'menubar','figure'); 一般的测量检测模块是把示波器输入端连到要测量的参数所在点或者回路。Multimeter则不一样。楼主有没有注意过有的模块的连接是尖头的,有的是一个圆圈形状的?可以理解为尖头的是弱电或数字信号,可以用示波器直接测。圆头的是强电信号,不能直接用示波器。对于这样的信号,一般是:有些器件(强电器件)打开后,器件设置单中最后有一栏是“测量量”,选择测量什么信号以后,再用Multimeter“不接触测量”。比如:一个RLC模块,最后一栏选定“测量所有电流电压”。注意这之前Multimeter打开左栏是空白的,外观是一个“回”里面一个“0”,选定RLC“测量所有电流电压”后打开Multimeter,左栏就有RLC的电流电压什么的了。选定要测的,移到右栏,就可以用示波器测波形了。此后“回”里面就不是“0”了,而是用户选择测量的数据个数了。matlab 6.5/7.0——simulink模型无法保存及其兼容性问题完整解决方案2009-06-25 09:45 mdl文件在6.5里面做的,但是到了7.0里面却打不开,下面就是相关信息:Warning: Unable to load model file 'd:\MATLAB7\work\*.mdl'. Run "bdclose all;

set_param(0, 'CharacterEncoding', Enc)" where Enc is one of windows-1252, ISO-8859-1, then load the model. The first character that is not supported in the current character encoding setting ('ibm-1386_P100-2002') occurs on line 1795, byte offset 21. To correctly load models with non-ASCII characters, you must explicitly use the character encoding that was used to save the file. Type "help slCharacterEncoding" for more information on setting character encoding and to learn more about which encodings are commonly found on your platform. 或 者是直接保存出现如下信息:Error while saving model 'untitled'using the character encoding setting 'ibm..... 问题产生原因:模型中含有不能识别的字符,比如中文等等,尤其是matlab对中文的支持不是很 好(不知道是不是D版的原因)。解决的办法:(1)在工作空间中输入下列命令,然后打开bdclose all; set_param(0,'CharacterEncoding','windows-1252') 或(2)在工作空间中输入下列命令,然后打开bdclose all set_param(0, 'CharacterEncoding', 'ISO-8859-1') 或(3)在工作空间中输入下列命令,然后

matlab编程技巧

1、. Ctrl+C 中断正在执行的操作 如果程序不小心进入死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来中断。MATLAB这时可能正疲于应付,响应会有些滞后。 2. figure命令新建一个绘图窗口 figure 可以打开一个空的绘图窗口,接下的绘图命令可以将图画在它里面,而不会覆盖以前的绘图窗口。当有多个figure窗口时,在命令窗口中执行如Plot等命令将覆盖当前figure窗口中的对象。所谓的当前figure窗口,也就是最后一次查看的窗口(可以用命令gcf得到)。 figure(N),将编号为N的窗口置为当前figure,出现在所有窗口的最前面,如果该窗口不存在,则新建一个编号为N的空白figure。 3. 注释掉一段程序:%{、%}。 经典方法是用 if 0,但缺点是不够直观,注释掉的内容仍然保持代码的颜色。现在可以用 %和{ 的组合。输入%{后,后面的代码都会变绿,在注释结束的地方再加上 %} 。 也可以选中要注释内容,在右键菜单中选择Comment (Uncomment去掉注释标记),或使用快捷键Ctrl+R。 将光标放在需要注释的行中,按Ctrl+R,将该行变为注释。取消注释也是一样的,快捷键为Ctrl+T。 4. doc 命令名,打开命令的帮助文档 与help命令不同,帮助文档MATLAB Help中对命令的描述更详细,往往还有一些例子,更便于理解。 5. clc 清屏 清除命令窗口中的所有输入和输出信息,不影响命令的历史记录。 6. clear 和clear all clear 变量名:可以清除workspace中的无用的变量,尤其是一些特别大的矩阵,不用时及时清理,可以减少内存占用。 clear all 清除所有的变量,使workspace一无所有,当重新开始一次算法验证时,最好执行一次,让workspace中的变量一目了然。 7. close all 如果开了多个绘图窗口,用这个命令将它们一起关掉。 8. 上下光标键↑↓ 在命令窗口中,上下光标键可以将历史记录中的命令复制到输入位置,便于快速重新执行。如果输入命令的前几个字母如 [row, col] =,再使用光标键,则只会选择以这些字母开始的命令。 9. Tab补全 对名称记得不太清楚的命令,可以输入开头的几个字母,然后按Tab键,当只有一个以这些字母开头的命令时,将自动补全命令名,否则显示一个命令名列表,方便从中选择。当然,只在命令窗口中有效。 10. cell模式 在一个长长的脚本m文件中,可能需要对其中的一段反复修改,查看执行效果,这时,cell模式就非常有用了。cell模式相当于将其中的代码拷贝到命令窗口中运行。两个%后接一个空格(%% )开始一个cell。将输入光标放到一个cell中时,背景将变为浅黄色,Ctrl+Enter执行cell中的代码。 执行cell中代码时不需要保存m文件,该m文件可以不在路径列表中。 cell模式中,断点不起作用,当然,调用的子程序中的断点还是正常的。 11. 获取文件列表,批处理

MATLAB使用方法1

A a abs绝对值、模、字符的ASCII码值acos反余弦 acosh反双曲余弦 acot反余切 acoth反双曲余切 acsc反余割 acsch反双曲余割 align启动图形对象几何位置排列工具all所有元素非零为真 angle相角 ans表达式计算结果的缺省变量名any所有元素非全零为真 area面域图 argnames函数M文件宗量名 asec反正割 asech反双曲正割 asin反正弦 asinh反双曲正弦 assignin向变量赋值 atan反正切 atan2四象限反正切 atanh反双曲正切 autumn红黄调秋色图阵 axes创建轴对象的低层指令 axis控制轴刻度和风格的高层指令 B b bar二维直方图 bar3三维直方图 bar3h三维水平直方图 barh二维水平直方图 base2dec X进制转换为十进制 bin2dec二进制转换为十进制blanks创建空格串 bone蓝色调黑白色图阵 box框状坐标轴 break while或for环中断指令brighten亮度控制C c capture(3版以前)捕获当前图形 cart2pol直角坐标变为极或柱坐标 cart2sph直角坐标变为球坐标 cat串接成高维数组 caxis色标尺刻度 cd指定当前目录 cdedit启动用户菜单、控件回调函数设计工具 cdf2rdf复数特征值对角阵转为实数块对角阵 ceil向正无穷取整 cell创建元胞数组 cell2struct元胞数组转换为构架数组celldisp显示元胞数组内容 cellplot元胞数组内部结构图示 char把数值、符号、内联类转换为字符对象 chi2cdf分布累计概率函数 chi2inv分布逆累计概率函数 chi2pdf分布概率密度函数 chi2rnd分布随机数发生器 chol Cholesky分解 clabel等位线标识 cla清除当前轴 class获知对象类别或创建对象 clc清除指令窗 clear清除内存变量和函数 clf清除图对象 clock时钟 colorcube三浓淡多彩交叉色图矩阵colordef设置色彩缺省值 colormap色图 colspace列空间的基 close关闭指定窗口 colperm列排序置换向量 comet彗星状轨迹图 comet3三维彗星轨迹图 compass射线图

matlab技巧

axis([xmin xmax ymin ymax]) 设置当前图形的坐标范围,分别为x轴的最小、最大值,y轴的最小最大值 坐标轴的编辑在figure—edit—axe property中 一、散点图 1.1.命令 plot 功能线性二维图。在线条多于一条时,若用户没有指定使用颜色,则plot循环使用由当前坐标轴颜色顺序属性(current axes ColorOrder property)定义的颜色,以区别不同的线条。在用完上述属性值后,plot又循环使用由坐标轴线型顺序属性(axes LineStyleOrder property)定义的线型,以区别不同的线条。 用法 plot(X,Y) 当X,Y均为实数向量,且为同维向量(可以不是同型向量),X=[x(i)],Y=[y(i)],则plot(X,Y)先描出点(x(i),y(i)),然后用直线依次相连;若X,Y为复数向量,则不考虑虚数部分。若X,Y均为同维同型实数矩阵,X = [X(i)],Y = [Y(i)],其中X(i),Y(i)为列向量,则plot(X,Y)依次画出plot(X(i),Y(i)),矩阵有几列就有几条线;若X,Y中一个为向量,另一个为矩阵,且向量的维数等于矩阵的行数或者列数,则矩阵按向量的方向分解成几个向量,再与向

量配对分别画出,矩阵可分解成几个向量就有几条线;在上述的几种使用形式中,若有复数出现,则复数的虚数部分将不被考虑。 plot(Y) 若Y为实数向量,Y的维数为m,则plot(Y)等价于plot(X,Y),其中x=1:m;若y为实数矩阵,则把y按列的方向分解成几个列向量,而y 的行数为n,则plot(Y)等价于plot(X,Y)其中x=[1;2;…;n];在上述的几种使用形式中,若有复数出现,则复数的虚数部分将不被考虑。 plot(X1,Y1,X2,Y2,…),其中Xi与Yi成对出现,plot(X1,Y1,X2,Y2,…)将分别按顺序取两数据Xi与Yi进行画图。若其中仅仅有Xi或Yi是矩阵,其余的为向量,向量维数与矩阵的维数匹配,则按匹配的方向来分解矩阵,再分别将配对的向量画出。 plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2…) 将按顺序分别画出由三参数定义Xi,Yi,LineSpeci的线条。其中参数LineSpeci指明了线条的类型,标记符号,和画线用的颜色。在plot 命令中我们可以混合使用三参数和二参数的形式: plot(X1,Y1,LineSpec1,X2,Y2,X3,Y3,LineSpec3) plot(…,'PropertyName',PropertyValue,…) 对所有的用plot生成的line图形对象中指定的属性进行恰当的设置。 h = plot(…) 返回line图形对象句柄的一列向量,一线条对应一句柄值。 说明参数LineSpec 功能定义线的属性。Maltab允许用户对线条定义如下的特性: 1.线型 表7-1 2.线条宽度

(完整版)matlab的一些画图技巧

matlab中如何在指定一点画一个填充颜色的小圆 plot(1,1,'r.','markersize',50) 二维作图 绘图命令plot绘制x-y坐标图;loglog命令绘制对数坐标图;semilogx和semilogy命令绘制半对数坐标图;polor命令绘制极坐标图. 基本形式 如果y是一个向量,那么plot(y)绘制一个y中元素的线性图.假设我们希望画出 y=[0., 0.48, 0.84, 1., 0.91, 6.14 ] 则用命令:plot(y) 它相当于命令:plot(x, y),其中x=[1,2,…,n]或x=[1;2;…;n],即向量y的下标编号, n为向量y的长度 Matlab会产生一个图形窗口,显示如下图形,请注意:坐标x和y是由计算机自动绘出的. 图4.1.1.1 plot([0.,0.48,0.84,1.,0.91,6.14])

上面的图形没有加上x轴和y轴的标注,也没有标题.用xlabel,ylabel,title 命令可以加上. 如果x,y是同样长度的向量,plot(x,y)命令可画出相应的x元素与y元素的x-y坐标图.例: x=0:0.05:4*pi; y=sin(x); plot(x,y) grid on, title(' y=sin( x )曲线图' ) xlabel(' x = 0 : 0.05 : 4Pi ') 结果见下图. 图4.1.1.2 y=sin(x)的图形 title图形标题 xlabel x坐标轴标注 ylabel y坐标轴标注 text标注数据点

legend 在右上角加解释 文字 grid给图形加上网格 hold保持图形窗口的图形 表4.1.1.1 Matlab图形命令 多重线 在一个单线图上,绘制多重线有三种办法. 第一种方法是利用plot的多变量方式绘制: plot(x1,y1,x2,y2,...,xn,yn) x1,y1,x2,y2,...,xn,yn是成对的向量,每一对x, y在图上产生如上方式的单线.多变量方式绘图是允许不同长度的向量显示在同一图形上.第二种方法也是利用plot绘制,但加上hold on/off命令的配合:plot(x1,y1) hold on plot(x2,y2) hold off 第三种方法还是利用plot绘制,但代入矩阵:

matlab软件功能简要介绍及版本描述

MATLAB功能简介 MATLAB是“Matrix&Laboratory”两个词的组合,意为“矩阵实验室”。MATLAB 的主要功能有数值分析、数值与符号计算、数字图像和信号处理、工程与科学绘图、控制系统和通讯系统的设计和仿真等。 MATLAB版本描述 MATLAB的版本从1984年发布的MATLAB1.0发展到如今的MATLAB8.5。我们小组所用的版本是MATLAB7.0,故在此主要介绍MATLAB7.0版本。 MATLAB7.0在2004年发布,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。 MATLAB推荐理由 MATLAB和Mathematica、Maple并称为三大数学软件,基于其数值分析、数值与符号计算、数字图像与信号处理等各方面的强大功能,MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。 MATLAB作为强大的数学软件有其独特的优势特点。MATLAB是高级的矩阵语言,MATLAB的语言是基于最流行的C++语言基础上的,而且更加简单,更符合对数学表达式的书写格式,这种语言可移植性好,课拓性极强,也因此,MATLAB 比较适合我们学习、掌握并使用。再者,MATLAB高效的数值计算、符号计算功能,完备的图形处理功能,使我们从繁杂的数学运算中解脱出来,实现计算结果和编程的可视化。 MATLAB的功能强大而丰富,值得每一位同学去学习该软件的应用,并应用于解决实际生活中的问题。然而因为能力有限,故在此我们小组着重向同学们介绍MATLAB在曲线拟合方面的应用。 众所周知,对于我们大学生(特别是理工科的大学生)而言,我们需要在实验室中完成各种不同的实验,得到一组组的、众多的看似关系不明显的实验数据,而同学们对于这些数据的处理往往是最头疼的。那一个个看似无规律的数字的处理实在是让不少同学大伤脑筋,而往往实验最关键的部分就是对实验数据的处理,因此,一旦实验数据处理方法不理想,很有可能,由此得到的实验结论也会有较大的偏差。由此可见,对于实验数据的处理,对于我们大学生来说是一项多么重要的能力。所以,我们小组向各位强烈推荐MATLAB这款软件,MATLAB在曲线拟合方面的强大应用,极大地方便了我们对于实验数据的有效处理,并有助于我们

matlab使用技巧整理

Title中引入变量 (1) MATLAB简单图像读写 (2) 坐标控制 (5) 显示特殊字符 (5) matlab导出数据(fprintf,dlmwrite,xlswrite) (6) MATLAB取整函数的应用 (11) matlab里有关于集合运算的函数: (12) 线型:颜色线型 (13) 用matlab绘制箭头1 (14) 数组逆序 (16) 模运算 (17) 删除数组中一个或多个元素 (18) matlab中fopen函数在指定文件打开的实例如下: (18) matlab图片保存为eps格式后中文显示乱码 (20) Matlab中digits()与vpa() (22) Title中引入变量 问题描述:我现在i=8,希望在title命令中引用i,以便在图形上能显示出i 的值8 方法:title(['figure ',num2str(i)]); 注意:有两点,一是title中引入中括号[];二是用到函数num2str(i) 推广:在title中引入多个变量,如下: title(['频率f=401.5MHz,障碍物在距离发射天线',num2str(zaw_location),'m处,障碍物高度',num2str(R),'m']); 例子: clear clc theta= 0:pi/20:2*pi; p=1000; e1=0; r1=p./(1-e1.*cos(theta)); l1=min(r1); subplot(1,3,1); polar(theta,r1) title(['1.the minnus distance is ',num2str(l1)]) e2=0.25; r2=p./(1-e2.*cos(theta)); l2=min(r2); subplot(1,3,2); polar(theta,r2) title(['2.the minnus distance is ',num2str(l2)]) e3=0.5;

matlab使用技巧

matlab的默认字体总是helvetica,每次担心会产生字体会和IEEE的字体库产生冲突或者reviewer那边的电脑没有办法打开,上网查了一阵,把这个让人烦又简单的东西干掉了,其实就四句话。以前在画每一个子图的时候,设置一下字体就可以了,省得每一次都点属性设置,烦死了。但是一定要在编辑了标题和label之前,否则就得不偿失了,会把已经输入的东西覆盖掉的。以后又可以省掉一点琐事了。 set(gca,'FontSize',10, 'FontName','Arial') xlabel('test','FontSize',10,'FontName','Arial') ylabel('test','FontSize',10,'FontName','Arial') legend('test','FontSize',10,'FontName','Arial') title('test','FontSize',13,'FontName','Times New Roman') %{ {figure_FontSize=12; set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top'); set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle'); set(findobj('FontSize',12),'FontSize',figure_FontSize); %}这4句是将字体大小改为8号字,在小图里很清晰 %set(gcf,'Position',[100 100 260 220]);%这句是设置绘图的大小,不需要到word里再调整大小。我给的参数,图的大小是7cm %set(gca,'Position',[.13 .17 .80 .74]);%这句是设置xy轴在图片中占的比例,可能需要自己微调。 %set(findobj(get(gca,'Children'),'LineWidth',,'LineWidth',2);%这句是 将线宽改为2 set(gca, 'Fontname', 'Times newman', 'Fontsize', 12);%设置图片的字体类型和字号大小的。

MATLAB部分函数使用方法

读取图像:用imread函数读取图像文件,文件格式可以是TIFF、JPEG、GIF、BMP、PNG 等。比如 >> f = imread('chestxray.jpg'); 读进来的图像数据被保存在变量f中。尾部的分号用来抑制输出。如果图片是彩色的,可以用rgb2gray转换成灰度图: >> f = rgb2gray(f); 然后可以用size函数看图像的大小 >> size(f) 如果f是灰度图像,则可以用下面的命令把这个图像的大小赋给变量M和N >> [M, N] = size(f); 用whos命令查看变量的属性 >> whos f 显示图像:用imshow显示图像 imshow(f, G) 其中f是图像矩阵,G是像素的灰度级,G可以省略。比如 >> imshow(f, [100 200]) 图像上所有小于等于100的数值都会显示成黑色,所有大于等于200的数值都会显示成白色。pixval命令可以用来查看图像上光标所指位置的像素值。 pixval 例如 >> f = imread('rose_512.tif'); >> whos f >> imshow(f) 如果要同时显示两幅图像,可以用figure命令,比如 >> figure, imshow(g) 用逗号可以分割一行中的多个命令。imshow的第二个参数用一个空的中括号: >> imshow(h, []) 可以使动态范围比较窄的图像显示更清楚。 写图像。用imwrite写图像 imwrite(f, 'filename') 文件名必须包括指明格式的扩展名。也可以增加第三个参数,显式指明文件的格式。比如

>> imwrite(f, 'patient10_run1.tif', 'tif') 也可以写成 >> imwrite(f, 'patient10_run1.tif') 还可以有其他参数,比如jepg图像还有质量参数: >> imwrite(f, 'filename.jpg', 'quality', q) q是0到100之间的一个整数。对比不同质量的图像效果。用imfinfo命令可以查看一个图像的格式信息,比如 >> imfinfo bubbles25.jpg 可以把图像信息保存到变量中 >> K = imfinfo('bubbles25.jpg'); >> image_bytes = K.Width * K.Height * K.BitDepth / 8; >> compressed_btyes = K.FileSize; >> compression_ratio = image_bytes / compressed_bytes 数据类型。MA TLAB的数据类型包括: double 双精度浮点 uint8 无符号8位整数 uint16 无符号16位整数 uint32 无符号32位整数 int8 有符号8位整数 int16 有符号16位整数 int32 有符号32位整数 single 单精度 char 字符 logical 逻辑型(二值) 数据类型转换 B = data_class_name(A) 比如 >> C = [1.4 1.5] >> D = uint8(C) 图像类型分为: Intensity image 灰度图 Binary image 二值图 Indexed image 索引图 RGB image 彩色图 在灰度图中每个像素可以是整型、浮点型或者逻辑型。图像类型的像素类型可以转换

MATLAB中bode图绘制技巧

Matlab中Bode图的绘制技巧 学术收藏 2010-06-04 21:21:48 阅读54 评论0 字号:大中小订阅 我们经常会遇到使用Matlab画伯德图的情况,可能我们我们都知道bode这个函数是用来画bode图的,这个函数是Matlab内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对于初学者来说,可能用起来就没有那么方便了。 譬如我们要画出下面这个传递函数的伯德图: 1.576e010 s^2 H(s)= ------------------------------------------------------------------------------------------ s^4 + 1.775e005 s^3 + 1.579e010 s^2 + 2.804e012 s + 2.494e014 (这是一个用butter函数产生的2阶的,频率范围为[20 20K]HZ的带通滤波器。) 我们可以用下面的语句: num=[1.576e010 0 0]; den=[1 1.775e005 1.579e010 2.804e012 2.494e014]; H=tf(num,den); bode(H) 这样,我们就可以得到以下的伯德图: 可能我们会对这个图很不满意,第一,它的横坐标是rad/s,而我们一般希望横坐标是HZ;第二,横坐标的范围让我们看起来很不爽;第三,网格没有打开(这点当然我们可以通过在后面加上grid on解决)。

下面,我们来看看如何定制我们自己的伯德图风格: 在命令窗口中输入:bodeoptions 我们可以看到以下内容: ans = Title: [1x1 struct] XLabel: [1x1 struct] YLabel: [1x1 struct] TickLabel: [1x1 struct] Grid: 'off' XLim: {[1 10]} XLimMode: {'auto'} YLim: {[1 10]} YLimMode: {'auto'} IOGrouping: 'none' InputLabels: [1x1 struct] OutputLabels: [1x1 struct] InputVisible: {'on'} OutputVisible: {'on'} FreqUnits: 'rad/sec' FreqScale: 'log' MagUnits: 'dB' MagScale: 'linear' MagVisible: 'on' MagLowerLimMode: 'auto' MagLowerLim: 0 PhaseUnits: 'deg' PhaseVisible: 'on' PhaseWrapping: 'off' PhaseMatching: 'off' PhaseMatchingFreq: 0 PhaseMatchingValue: 0 我们可以通过修改上面的每一项修改伯德图的风格,比如我们使用下面的语句画我们的伯德图: P=bodeoptions; P.Grid='on'; P.XLim={[10 40000]}; P.XLimMode={'manual'}; P.FreqUnits='HZ'; num=[1.576e010 0 0]; den=[1 1.775e005 1.579e010 2.804e012 2.494e014]; H=tf(num,den); bode(H,P) 这时,我们将会看到以下的伯德图:

Matlab常用小命令及技巧总结

目录 1.随机变量生成 (2) 2.多项式运算 (2) 3.输入变量个数 (3) 4.通过mentagna产生数据,使用如下命令画出图像。 (3) 5. 一幅图显示多个图像 (3) 6.inline定义函数 (4) 7.m文件命名不要带() (4) 8. 用法:linspace(x1,x2,N) (4) 9. 句柄@ (4) 10.画三维图 (5) 11.画概率密度函数图 (5) 12.行求和,列求和 (6) 13.eye(5) 和 eye(5,5) 效果一样。 (6) 14.程序段 (6) 15.求Exp的矩阵次幂。 (6) 16.hist划分区间 (7) 17.ctrl+R,批量注释,ctrl+T批量取消注释 (8) 18.zeros(5)生成5行5列的零元素矩阵。 (8) 19.formatSpec = 'The array is %dx%d.'; (8) 20.数据取整,四舍五入 (9) 21.实现饼图每个部分的依次跳跃 (9) 22. try和catch (9) 23.可变个数参数输入 (10) 24.在title中引用变量值,比如 (10) 25.希腊字母与符号 (10) 26.保存图片的命令 (12) 27.matlab程序部分运行 (12) 28.运算变量保存为txt,及读取 (12) 29.画多条曲线图例 (13) 30.图像调整后保存 (14) 31.保存程序运行过程中的图像,数组等信息 (15) 32.关闭所有的图像 (15) 33.matlab中的numel函数 (15) 34.数值计算二重积分 (16) 37. matlab Y轴坐标怎么改变汉字方向 (17) 38.画图坐标轴显示导数的点 (17) 39.设置图像坐标轴刻度 (17) 40.matlab 调整图例颜色 (18) 41. 赋值具有的非单一 rhs 维度多于非单一下标数 (18)

相关文档