文档库 最新最全的文档下载
当前位置:文档库 › Matlab文件读取和写函数总结

Matlab文件读取和写函数总结

Matlab文件读取和写函数总结
Matlab文件读取和写函数总结

Matlab读取文件函数总结

1.load读取方式

a.基本说明:

只能读取数值数据,不能读取含文本的数据;日期按数值读取。

b.调用方式:

a=load(filename);

c.有无分隔符限制:

无需输入分隔符,可自动识别空格、逗号、分号、制表符。

d.能否自定义读取范围:

不能。

e.适用文件类型:

txt、csv。

2.importdata读取方式

a.基本说明:

可读取数值数据和含文本的数据,但是要求文本在数据的第一行或第一列。返回值分为数值部分(data)和文本部分(textdata)

b.调用方式:

a=importdata(filename,delm,nheaderlines);

filename:文件名(如果文件在其他路径下,文件名前需加所在路径。)

delm:分隔符

nheaderlines:从第nheaderlines+1行开始读取数值数据。

c.有无分隔符限制:

多列数据时需输入分隔符。若不输入分隔符,整行会被作为字符串放入一列。

d.能否自定义读取范围:

可从某一行开始读取数值数据。若使用importdata按钮,则可自定义读取范围和设置数据类型。

f.适用文件类型

txt、xls、xlsx、csv。

3.textscan读取方式

a.基本说明:

可对列按照自定义格式读取数据,必须输入每列的读取格式,可跳过某个列或几列。

按数值读取时,缺少值以NaN填补;按字符读取时,缺少值以空格填补。返回值按列放入元胞数组。

b.调用方式:

c = textscan(fid,'format',n,'param',value)

fid:文件指针。使用textscan函数时需先使用fopen函数打开数据文件,返回给fid 文件若不再使用,则需用fclose(fid)关闭文件。

‘format’:定义每列的读取格式。例如%s表示按字符串读取、%d表示按整数读取、%D 按日期读取、%*表示跳过该列。level%u8表示将level1读取成1,去掉level。

‘param’,value:这两个参数成对出现。例如’Delimiter’,’s’表示按分隔符为’,’进行读取。

c.有无分隔符限制

可自定义分隔符,不是必须的。

d.能否自定义读取范围:

可跳过某列或某几列数据,但要保证跳过的列是可读的,否则读取也会出错。

e.适用文件类型

txt、csv

4.textread读取方式

a.基本说明:

适用于格式统一的txt文件的一次性大批量读取。textread读取某个文件后,下次再用,textread读取这个文件时,还是会从文件头开始读取。

b.调用方式:

[A,B,C,...] = textread(filename,format)

[A,B,C,...] = textread(filename,format,N,’headerlines’,M)

Filename:文件名;

Format:就是要读取的格式;

A,B,C…:从文件中读取到的数据。中括号里面变量的个数必须和format中定义的个数相同。

N:表示读取的次数,每次读取一行。

Headerlines:表示从第M+1行开始读入。

5.dlmread读取方式

a.基本说明:

只能读取数值数据。如文件中含有文本,需使用range参数跳过。返回值为矩阵。

b.调用方式:

result = dlmread(filename,delimiter,range);

filename:文件名。

delimiter:分隔符。

range:文件读取范围,格式为[R1 C1 R2 C2]。

c.有无分隔符限制:

可自定义分隔符,不是必须的。

d.能否自定义读取范围:

通过设置range,选择读取范围。

e.适用文件类型

txt、csv。

6.xlsread读取方式

a.基本说明:

读取xls文件,可读取含文本的数据,仅能返回数值部分。

b.调用方式:

[num,txt,raw]=xlsread(file,sheet,range);

file:需要读取的文件。

sheet:需要读取的表单。

range:读取范围,格式为’A1:C4’。

num:返回的数值数据。

txt:返回的文本数据。

raw:返回未处理的数据。

c.有无分隔符限制

无需输入分隔符。

d.能否自定义读取范围:

由sheet和range定义读取范围。

e.文件适用范围

xls、xlsx。

7.csvread读取方式

a.基本说明:

只能读取逗号分隔的数值数据。如文件中含有文本,需使用range参数跳过。

b.调用方式: m = csvread('filename',r,c,rng);

filename:文件名字。

r,c:开始读取的位置

rng:读取范围,格式为[R1 C1 R2 C2]

c.有无分隔符限制:

文件必须以逗号分隔。

d.能否自定义读取范围:

可由r,c ,rng定义读取范围。

e.文件适用范围

txt、csv。

8.fread读取方式

该函数读取文件返回的是二进制矩阵。

Matlab写文件函数总结

1.xlswrite读取方式

a.基本说明:

用matlab处理数据之后,需要将其保存到EXCEL内,而这必须用到xlswrite函数。

b.调用方式

A=xlswrite(filename, M); 将矩阵M的数据写入名为filename的Excel文件中。

B=xlswrite(filename, M, sheet);将矩阵M的数据写入文件名为filename中的指定

的sheet中。

C=xlswrite(filename, M, range);将矩阵M中的数据写入文件名为filename的Excel 文件中,且由range制定存储的区域,例如'C1:C2'.

D=xlswrite(filename, M, sheet, range)

status = xlswrite(filename, ...);返回完成状态值。如果写入成功,则status为1;反之

写入失败,则status为0.

2.dlmwrite读取方式

a.基本说明:

将矩阵写入ASCII分隔的文件。dlmwrite函数不接受输CELLM要导出一个单元格数组中只包含数字数据,使用cell2mat矩阵转换为数字的单元格,然后再调用dlmwrite 数组。

b.调用方式

1)dlmwrite(filename, M)

使用默认的分隔符(')将矩阵M写入ASCII格式的文件中。在目标文件filname中,数据是从第一行的第一列开始写的。输入的filename是使用单引号括起来的字符串。

2)dlmwrite(filename, M, 'D')

将矩阵M写入一个ASCII格式的文件中,使用分隔符D来分割矩阵的元素。在目标文件filname中,数据是从第一行的第一列开始写的。逗号'是默认的分隔符,使用\t 来产生制表符分割的文件。

3)dlmwrite(filename, M, 'D', R, C)

将矩阵M写入一个ASCII格式的文件中,使用分隔符D来分割矩阵的元素。在目标文件filname中,数据是从第R行的第C列开始写的,R和C从0开始,因此R=0,C=0指定了文件中的第一个数值,即左上角的位置。

4)dlmwrite(filename, M, '-append') matabc

将矩阵数据追加到文件的末尾。如果你不指定''-append',dlmwrite覆盖文件中的任何现有数据。

5)dlmwrite(filename, M, '-append', attribute-value list)

接受一个属性值对列表。用户可以将'-append'标志放在属性-数值对之间,但不能放在属性和它的值的中间。

(完整版)MATLAB常用函数大全

一、MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开 sign(x):符号函数(Signum function)。 当x<0时,sign(x)=-1; 当x=0时,sign(x)=0; 当x>0时,sign(x)=1。 rem(x,y):求x除以y的馀数 gcd(x,y):整数x和y的最大公因数 lcm(x,y):整数x和y的最小公倍数 exp(x):自然指数 pow2(x):2的指数 log(x):以e为底的对数,即自然对数或 log2(x):以2为底的对数 log10(x):以10为底的对数 二、MATLAB常用的三角函数 sin(x):正弦函数 cos(x):余弦函数

tan(x):正切函数 asin(x):反正弦函数 acos(x):反馀弦函数 atan(x):反正切函数 atan2(x,y):四象限的反正切函数 sinh(x):超越正弦函数 cosh(x):超越馀弦函数 tanh(x):超越正切函数 asinh(x):反超越正弦函数 acosh(x):反超越馀弦函数 atanh(x):反超越正切函数 三、适用於向量的常用函数有: min(x): 向量x的元素的最小值 max(x): 向量x的元素的最大值 mean(x): 向量x的元素的平均值 median(x): 向量x的元素的中位数 std(x): 向量x的元素的标准差 diff(x): 向量x的相邻元素的差 sort(x): 对向量x的元素进行排序(Sorting)length(x): 向量x的元素个数 norm(x): 向量x的欧氏(Euclidean)长度sum(x): 向量x的元素总和 prod(x): 向量x的元素总乘积 cumsum(x): 向量x的累计元素总和cumprod(x): 向量x的累计元素总乘积 dot(x, y): 向量x和y的内积 cross(x, y): 向量x和y的外积 四、MATLAB的永久常数

MATLAB常用函数

MATLAB包括拥有数百个内部函数的主包和三十几种工具包。工具包又可以分为功能性工具包和学科工具包。功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能。学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类。 开放性使MATLAB广受用户欢迎。除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包。 Matlab Main Toolbox——matlab主工具箱 Control System Toolbox——控制系统工具箱 Communication Toolbox——通讯工具箱 Financial Toolbox——财政金融工具箱 System Identification Toolbox——系统辨识工具箱 Fuzzy Logic Toolbox——模糊逻辑工具箱 Higher-Order Spectral Analysis Toolbox——高阶谱分析工具箱 Image Processing Toolbox——图象处理工具箱 LMI Control Toolbox——线性矩阵不等式工具箱 Model predictive Control Toolbox——模型预测控制工具箱 μ-Analysis and Synthesis Toolbox——μ分析工具箱 Neural Network Toolbox——神经网络工具箱 Optimization Toolbox——优化工具箱 Partial Differential Toolbox——偏微分方程工具箱 Robust Control Toolbox——鲁棒控制工具箱 Signal Processing Toolbox——信号处理工具箱 Spline Toolbox——样条工具箱 Statistics Toolbox——统计工具箱 Symbolic Math Toolbox——符号数学工具箱 Simulink Toolbox——动态仿真工具箱 Wavele Toolbox——小波工具箱

(完整版)matlab函数大全(非常实用)

信源函数 randerr 产生比特误差样本 randint 产生均匀分布的随机整数矩阵 randsrc 根据给定的数字表产生随机矩阵 wgn 产生高斯白噪声 信号分析函数 biterr 计算比特误差数和比特误差率 eyediagram 绘制眼图 scatterplot 绘制分布图 symerr 计算符号误差数和符号误差率 信源编码 compand mu律/A律压缩/扩张 dpcmdeco DPCM(差分脉冲编码调制)解码dpcmenco DPCM编码 dpcmopt 优化DPCM参数 lloyds Lloyd法则优化量化器参数 quantiz 给出量化后的级和输出值 误差控制编码 bchpoly 给出二进制BCH码的性能参数和产生多项式convenc 产生卷积码 cyclgen 产生循环码的奇偶校验阵和生成矩阵cyclpoly 产生循环码的生成多项式 decode 分组码解码器 encode 分组码编码器 gen2par 将奇偶校验阵和生成矩阵互相转换gfweight 计算线性分组码的最小距离 hammgen 产生汉明码的奇偶校验阵和生成矩阵rsdecof 对Reed-Solomon编码的ASCII文件解码rsencof 用Reed-Solomon码对ASCII文件编码rspoly 给出Reed-Solomon码的生成多项式syndtable 产生伴随解码表 vitdec 用Viterbi法则解卷积码 (误差控制编码的低级函数) bchdeco BCH解码器 bchenco BCH编码器 rsdeco Reed-Solomon解码器 rsdecode 用指数形式进行Reed-Solomon解码 rsenco Reed-Solomon编码器 rsencode 用指数形式进行Reed-Solomon编码 调制与解调

matlab 常用函数汇总

matlab 常用函数汇总 编程2008-07-10 21:45:20 阅读46 评论0 字号:大中小订阅matlab常用函数 图形注释 Title 图形标题 Xlabel X轴标记 Ylabel Y轴标记 Text 文本注释 Gtext 用鼠标放置文本 Grid 网格线 MATLAB编程语言 Function 增加新的函数 Eval 执行由MA TLAB表达式构成的字串 Feval 执行由字串指定的函数 Global 定义全局变量 程序控制流 If 条件执行语句 Else 与if命令配合使用 Elseif 与if命令配合使用 End For,while和if语句的结束 For 重复执行指定次数(循环) While 重复执行不定次数(循环) Break 终止循环的执行 Return 返回引用的函数 Error 显示信息并终止函数的执行 交互输入 Input 提示用户输入 Keyboard 像底稿文件一样使用键盘输入 Menu 产生由用户输入选择的菜单 Pause 等待用户响应 Uimenu 建立用户界面菜单 Uicontrol 建立用户界面控制 一般字符串函数 Strings MATLAB中有关字符串函数的说明 Abs 变字符串为数值 Setstr 变数值为字符串 Isstr 当变量为字符串时其值为真 Blanks 空串 Deblank 删除尾部的空串 Str2mat 从各个字符串中形成文本矩阵 Eval 执行由MA TLAB表达式组成的串 字符串比较 Strcmp , , , 比较字符串 Findstr 在一字符串中查找另一个子串

Upper 变字符串为大写 Lower 变字符串为小写 Isletter 当变量为字母时,其值为真 Isspace 当变量为空白字符时,其值为真 字符串与数值之间变换 Num2str 变数值为字符串 Int2str 变整数为字符串 Str2num 变字符串为数值 Sprintf 变数值为格式控制下的字符串 Sscanf 变字符串为格式控制下的数值 十进制与十六进制数之间变换 Hex2num 变十六进制为IEEE标准下的浮点数Hex2dec 变十六制数为十进制数 Dec2hex 变十进制数为十六进制数 建模 Append 追加系统动态特性 Augstate 变量状态作为输出 Blkbuild 从方框图中构造状态空间系统Cloop 系统的闭环 Connect 方框图建模 Conv 两个多项式的卷积 Destim 从增益矩阵中形成离散状态估计器Dreg 从增益矩阵中形成离散控制器和估计器Drmodel 产生随机离散模型 Estim 从增益矩阵中形成连续状态估计器Feedback 反馈系统连接 Ord2 产生二阶系统的A、B、C、D Pade 时延的Pade近似 Parallel 并行系统连接 Reg 从增益矩阵中形成连续控制器和估计器Rmodel 产生随机连续模型 Series 串行系统连接 Ssdelete 从模型中删除输入、输出或状态ssselect 从大系统中选择子系统 模型变换 C2d 变连续系统为离散系统 C2dm 利用指定方法变连续为离散系统 C2dt 带一延时变连续为离散系统 D2c 变离散为连续系统 D2cm 利用指定方法变离散为连续系统 Poly 变根值表示为多项式表示 Residue 部分分式展开 Ss2tf 变状态空间表示为传递函数表示 Ss2zp 变状态空间表示为零极点表示

matlab最常用函数

1、 基本形式 >> y=[0 0.58 0.70 0.95 0.83 0.25]; >> plot(y) 生成的图形是以序号为横坐标、数组y的数值为纵坐标画出的折线。 >> x=linspace(0,2*pi,30); % 生成一组线性等距的数值 >> y=sin(x); >> plot(x,y) 生成的图形是上30个点连成的光滑的正弦曲线。 多重线 在同一个画面上可以画许多条曲线,只需多给出几个数组,例如 >> x=0:pi/15:2*pi; >> y1=sin(x); >> y2=cos(x); >> plot(x,y1,x,y2) 则可以画出多重线。另一种画法是利用hold命令。在已经画好的图形上,若设置hold on,MATLA将把新的plot命令产生的图形画在原来的图形上。而命令hold off 将结束这个过程。例如: >> x=linspace(0,2*pi,30); y=sin(x); plot(x,y) >> hold on >> z=cos(x); plot(x,z) >> hold off 线型和颜色 MATLAB对曲线的线型和颜色有许多选择,标注的方法是在每一对数组后加一个字符串参数,说明如下: 线型线方式:- 实线:点线-. 虚点线- - 波折线。 线型点方式: . 圆点+加号* 星号x x形o 小圆

颜色:y黄;r红;g绿;b蓝;w白;k黑;m紫;c青. 以下面的例子说明用法: >> x=0:pi/15:2*pi; >> y1=sin(x); y2=cos(x); >> plot(x,y1,’b:+’,x,y2,’g-.*’) 网格和标记 在一个图形上可以加网格、标题、x轴标记、y轴标记,用下列命令完成这些工作。 >> x=linspace(0,2*pi,30); y=sin(x); z=cos(x); >> plot(x,y,x,z) >> grid >> xlabel(‘Independent Variable X’) >> ylabel(‘Dependent Variables Y and Z’) >> title(‘Sine and Cosine Curves’) 也可以在图形的任何位置加上一个字符串,如用: >> text(2.5,0.7,’sinx’) 表示在坐标x=2.5, y=0.7处加上字符串sinx。更方便的是用鼠标来确定字符串的位置,方法是输入命令: >> gtext(‘sinx’) 在图形窗口十字线的交点是字符串的位置,用鼠标点一下就可以将字符串放在那里。 坐标系的控制 在缺省情况下MATLAB自动选择图形的横、纵坐标的比例,如果你对这个比例不满意,可以用axis命令控制,常用的有: axis([xmin xmax ymin ymax]) [ ]中分别给出x轴和y轴的最大值、最小值 axis equal 或axis(‘equal’) x轴和y轴的单位长度相同 axis square 或axis(‘square’) 图框呈方形

(仅供参考)Matlab编写与调用函数

MATLAB 学习指南 第六章.编写与调用函数 在这一章中,我们讨论如何用多源代码文件来构造一个程序。首先,解释代码文件在MATLAB中如何工作。在编译语言中,例如FORTRAN,C ,或C++,代码被存储在一个或多个源文件中,在进行编译的时候,这些源文件组合在一起 形成了一个单独的可执行文件。作为一种解释型语言,MATLAB以一种更广泛的方式来处理多个源文件。MATLAB代码被放入带有扩展名.m的ASCII文件(或称m-文件)中。MATLAB 6 有一个集成字处理与调试应用程序,尽管会用到其它编辑程序如vi或emacs,集成字处理与调试应用程序仍是编译m-文件的首选程序。 有两种不同的m-文件。一种是脚本文件,它是一种最简单的文件,仅仅将MATLAB中的指令收集在一起。当在交互提示符处输入文件名执行脚本文件时,MATLAB在m-文件内读取并执行指令,就好像指令是我们输入的。而且,似乎我们能够削减m-文件的内容并将削减过的内容传到MATLAB指令窗口中。这种m-文件的用法将在6.1节中给予概述。 在6.2节中要讨论的第二种m-文件包含一个单一函数,此函数名与此m-文件名相同。这种m-文件包含一段独立的代码,这段代码具有一个明确规定的输入/输出界面;那就是说,传给这段代码一列空变量arg1,arg2,…,这段独立代码就能够被调用,然后返回输出值out1,out2,…。一个函数m-文件的第一个非注释行包含函数标头,其形式如下: 此m-文件以返回指令结束,将执行程序返回到函数被调用的位置。或者在交互指令提示符处或者在另一个m-文件内,无论何时用下列指令调用函数代码,函数代码都将被执行。 输入映射到空变量:arg1=var1,arg2=var2,等等。在函数主体内,输出值被分配给了变量out1,out2,等等。当遇到返回值时,当前值out1,out2,…在函数被调用处被映射到变量outvar1,outvar2,…。在用可变长度自变量和输出变量列表编写函数时,MATLAB允许更多的自由。例如,也可以使用下列指令来调用函数。 在此情况下,仅返回一个单一输出变量,这个变量在出口处包含函数变量out1的值。输入和输出自变量可能是字符串,数值,向量,矩阵,或者更高级的数据结构。 为什么使用函数呢?因为从每门计算机科学课程中可知,把一个大的程序分割 成多个可以单独执行一个被明确规定的和被注释过的任务的小程序会使大程序 易读,易于修改,不易于出错。在MATLAB中,先为程序编写一个主文件,或者是一个脚本文件或者更好的话,是一个能够返回一个单一整数的函数m-文件(返回1表示程序执行成功,0表示不完全程序执行,负值表示出现运行误差),这个主文件是程序的进入点。通过把m-文件当作函数来调用,此程序文件可以

Matlab作图函数的总结与分析

高等理科教育2005年第6期(总第64期)Matlab作图函数的总结与分析+ 黄琼湘那斯尔江?吐尔逊 (tfi疆大学数学与系统科学学院,新疆乌鲁木齐830046) 摘要Matlab(MATrixLABoratory的简称)是CleverMoler博士用Fortran语言开发的科学计算工具。它已成为科学研究、工程计算、应用开发的重要工具。国外已将它作为理工科大学的必修课程,国内各大学也开始开设这门课程。Matlab有强大的作图功能,有兴趣的读者可参考文献【卜4’。本文对Matlab的作图函数进行分析和总结,以供教学参考和学生学习之用。 关键词Matlab数据可视化作图函数 中图分类号G642.0文献标识码A 一、Matl如作图函数的总结 Matlab提供了丰富的作图函数,有100个之多。在教学和学习中显得有点杂乱。我们先对它们进行总结和分类,并提炼出它们的共性和特性。 Matlab的作图函数从视角的维数上分有三类:一维作图函数、二维作图函数和三维作图函数。它们的代表分别是line、plot和plot3等函数。从类型上分大致有四类:通用作图函数(如plot函数等);专业作图函数(如contour函数、quiver函数等);动画制作函数(如movie、comet3等函数);图形修饰函数(如view等函数)。 Matlab所有的作图函数都可以通过查帮助获得它的功能和用法。这里我们把作图函数按类型分类,列出一些主要和常用的作图函数(见表1),以抓住重点。 作图函数虽然功能不同,但它们的调用格式是一致的。我们用GraphF来表示一般的作图函数,它们的调用格式如下: 1.GraphF(X,Y,S) 这是一、二维函数的作图格式。x和Y表示图形的数据点,s表示图形修饰参数组(可以缺省)。当x,Y都是顶点坐标时,GraphF(X,Y,S)画出以x,Y为端点,s为参数的线;当x是一组顶点坐标,而Y对应于X的函数值时,GraphF(X,Y,S)画出函数Y的二维图形。 2.GraphF(X,Y,Z,S) 这是三维函数的作图格式。z是x和Y的函数。x,Y以二维坐标形式表示函数值z的作图区域D,s表示图形修饰参数组(可以缺省)。GraphF(x,Y,Z,S)画出定义域为D的函数z的三维图形。 值得注意的是,Matlab的作图函数总是描绘数据点(X,Y)(在平面上)或(x,Y,z)(在空间中)的图形。前者视为Y的函数,而后者视为z的函数。函数GraphF在作图前数据点必须事先给定,在作图时函数GraphF将各数据点用光滑的曲线连接成图形。另外,X,Y,Z还 ÷收稿日期2004—02—19 资助项目新疆大学校基金“应用软件程序设计”重点课程建设项目资助 作者简介黄琼湘(1958)男,湖南衡阳人,教授,主要从事组合数学与图论、计算机算法研究

matlab函数名称总结

一、常用对象操作:除了一般windows窗口的常用功能键外。 1、!dir 可以查看当前工作目录的文件。!dir& 可以在dos状态下查看。 2、who 可以查看当前工作空间变量名, whos 可以查看变量名细节。 3、功能键: 功能键快捷键说明 方向上键Ctrl+P 返回前一行输入 方向下键Ctrl+N 返回下一行输入 方向左键Ctrl+B 光标向后移一个字符 方向右键Ctrl+F 光标向前移一个字符 Ctrl+方向右键 Ctrl+R 光标向右移一个字符 Ctrl+方向左键 Ctrl+L 光标向左移一个字符 home Ctrl+A 光标移到行首 End Ctrl+E 光标移到行尾 Esc Ctrl+U 清除一行 Del Ctrl+D 清除光标所在的字符 Backspace Ctrl+H 删除光标前一个字符 Ctrl+K 删除到行尾 Ctrl+C 中断正在执行的命令 4、clc可以命令窗口显示的内容,但并不清除工作空间。 二、函数及运算 1、运算符: +:加,-:减, *:乘, /:除,\:左除 ^:幂,':复数的共轭转置,():制定运算顺序。 2、常用函数表: sin( ) 正弦(变量为弧度) Cot( ) 余切(变量为弧度) sind( ) 正弦(变量为度数) Cotd( ) 余切(变量为度数) asin( ) 反正弦(返回弧度) acot( ) 反余切(返回弧度) Asind( ) 反正弦(返回度数) acotd( ) 反余切(返回度数) cos( ) 余弦(变量为弧度) exp( ) 指数 cosd( ) 余弦(变量为度数) log( ) 对数 acos( ) 余正弦(返回弧度) log10( ) 以10为底对数 acosd( ) 余正弦(返回度数) sqrt( ) 开方 tan( ) 正切(变量为弧度) realsqrt( ) 返回非负根 tand( ) 正切(变量为度数) abs( ) 取绝对值 atan( ) 反正切(返回弧度) angle( ) 返回复数的相位角

matlab中s函数编写心得(转)(最新整理)

matlab中s函数编写心得(转) Part I: 所谓s函数是system Function的简称, 用它来写自己的simulink模块. s函数可以用matlab、C、C++、Fortran、Ada等语言来写,这儿我只介绍怎样用matlab语言来写吧(主要是它比较简单)< xmlnamespace prefix ="o" ns ="urn:schemas- microsoft-com:office:office" /> 先讲讲为什么要用s函数,我觉得用s函数可以利用matlab的丰富资源,而不仅仅局限于simulink提供的模块,而用c或c++等语言写的s函数还可以实现对硬件端口的操作,还可以操作windows API等 先介绍一下simulink的仿真过程(以便理解s函数),simulink 的仿真有两个阶段:一个为初始化,这个阶段主要是设置一些参数,像系统的输入输出个数、状态初值、采样时间等;第二个阶段就是运行阶段,这个阶段里要进行计算输出、更新离散状态、计算连续状态等等,这个阶段需要反复运行,直至结束. 在matlab的workspace里输入edit sfuntmpl(这是matlab自己提供的s函数模板),我们看它来具体分析s函数的结构.

1. 函数的函数头 函数的第一行:function [sys,x0,str,ts]=sfuntmpl(t,x,u,flag) , 先讲输入与输出变量的含义: t是采样时间, x是状态变量, u是输入(是做成simulink模块的输入) , flag是仿真过程中的状态标志(以它来判断当前是初始化还是运行等) sys输出根据flag的不同而不同(下面将结合flag来讲sys的含义) , x0是状态变量的初始值, str是保留参数(mathworks公司还没想好该怎么用它, 一般在初始化中将它置空就可以了, str=[]), ts是一个1×2的向量, ts(1)是采样周期, ts(2)是偏移量 2. 函数分析 下面结合sfuntmpl.m中的代码来讲具体的结构: switch flag, %判断flag,看当前处于哪个状态 case 0, [sys,x0,str,ts]=mdlInitializeSizes; // 解释说明 flag=0表示当前处于初始化状态,此时调用函数mdlInitializeSizes进行初始化,此函数在该文件的第149行定义. 其中的参数sys是一个结构体,它用来设置模块的一些参数,各个参 数详细说明如下 size = simsizes;%用于设置模块参数的结构体用simsizes来生

MATLAB常用函数

数字信号处理与MATLAB 实现 1. n1=[ns:nf]; x1=[zeros(1,n0-ns),1,zeros (1,nf-n0)]; %单位抽样序列的产生 2. subplot(2,2,4) 画2行2列的第4个图 3. stem(n,x) %输出离散序列,(plot 连续) 4. 编写子程序可调用 4.1 单位抽样序列)(0n n -δ生成函数impseq.m [x,m]=impseq(n0,ns,nf); %序列的起点为ns ,终点为nf ,在n=n0点处生成一个单位脉冲 n=[-5:5];x1=3*impseq(2,-5,5)-impseq(-4,-5,5) x1 = 0 -1 0 0 0 0 0 3 0 0 0 n=[-5:5];x1=3*impseq(2,-4,5)-impseq(-4,-5,4) %起点到终点长度要一致 x1 = 0 -1 0 0 0 0 3 0 0 0 4.2 单位阶跃序列)(0n n u -生成函数stepseq.m [x,n]=stepseq(no,ns,nf) %序列的起点为ns ,终点为nf ,在n=n0点处生成一个单位阶跃 4.3 两个信号相加的生成函数sigadd.m [y,n]=sigadd(x1,n1,x2,n2) 4.4 两个信号相乘的生成函数sigmult.m [y,n]=sigmult(x1,n1,x2,n2) 4.5 序列移位y(n)=x(n-n0)的生成函数sigshift.m [y,n]=sigshift(x,m,n0) 4.6 序列翻褶y(n)=x(-n)的生成函数sigfold.m [y,n]=sigfold(x,n) 4.7 evenodd.m 函数可以将任一给定的序列x(n)分解为xe(n)和xo(n)两部分 [xe,xo,m]=evenodd(x,n) 4.8 序列从负值开始的卷积conv_m, conv 默认从0开始 function [y,ny]=conv_m(x,nx,h,nh) 有{x(n):nx1≤n ≤nx2},{h(n):nh1≤n ≤nh2}, 卷积结果序列为 {y(n):nx1+nh1≤n ≤nx2+nh2} 例. 设1132)(-++=z z z X ,1225342)(-+++=z z z z X ,求)()()(21z X z X z Y += 程序: x1=[1,2,3];n1=-1:1; x2=[2,4,3,5];n2=-2:1; [y,n]=conv_m(x1,n1,x2,n2)

matlab程序设计实例

MATLAB 程序设计方法及若干程序实例 樊双喜 (河南大学数学与 信息科学学院开封475004) 摘要本文通过对 MATLAB 程序设计中的若干典型问题做简要的分析和总结,并在此基础上着重讨论了有关算法设计、程序的调试与测试、算法与程序的优化以及循环控制等方面的问题.还通过对一些程序实例做具体解析,来方便读者进行编程训练并掌握一些有关MATLAB 程序设计方面的基本概念、基本方法以及某些问题的处理技巧等.此外,在文章的最后还给出了几个常用数学方法的算法程序, 供读者参考使用.希望能对初学者进行 MATLAB 编程训练提供一些可供参考的材料,并起到一定的指导和激励作用,进而为MATLAB 编程入门打下好的基础. 关键字算法设计;程序调试与测试;程序优化;循环控制 1 算法与程序 1.1 算法与程序的关系算法被称为程序的灵魂,因此在介绍程序之前应先了 解什么是算法.所谓算 法就是对特定问题求解步骤的一种描述.对于一个较复杂的计算或是数据处理的问题,通常是先设计出在理论上可行的算法,即程序的操作步骤,然后再按照算法逐步翻译成相应的程序语言,即计算机可识别的语言. 所谓程序设计,就是使用在计算机上可执行的程序代码来有效的描述用于解决特定问题算法的过程.简单来说,程序就是指令的集合.结构化程序设计由于采用了模块分化与功能分解,自顶向下,即分而治之的方法,因而可将一个较复杂的问题分解为若干子问题,逐步求精.算法是操作的过程,而程序结构和程序流程则是算法的具体体现. 1.2MATLAB 语言的特点 MATLAB 语言简洁紧凑,使用方便灵活,库函数极其丰富,其语法规则与科技人员的思维和书写习惯相近,便于操作.MATLAB 程序书写形式自由,利用其丰富

Matlab中常见数学函数的使用

给自己看的----Matlab的内部常数(转) 2008/06/19 14:01[Ctrl C/V--学校 ] MATLAB基本知识 Matlab的内部常数 pi 圆周率 exp(1) 自然对数的底数e i 或j 虚数单位 Inf或inf 无穷大 Matlab的常用内部数学函数

我们也可在matlab中调用maple的命令进行多项式的运算,调用格式如下: maple(’maple中多项式的运算命令’) 如何用matlab进行分式运算 发现matlab只有一条处理分式问题的命令,其使用格式如下: [n,d]=numden(f)把符号表达式f化简为有理形式,其中分子和分母的系数为整数且分子分母不含公约项,返回结果n为分子,d为分母。注意:f必须为符号表达式 不过我们可以调用maple的命令,调用方法如下: maple(’denom(f)’)提取分式f的分母 maple(’numer(f)’)提取分式f的分子 maple(’normal(f)’ ) 把分式f的分子与分母约分成最简形式 maple(’expand(f)’) 把分式f的分子展开,分母不变且被看成单项。 maple(’factor(f)’) 把分式f的分母和分子因式分解,并进行约分。 如何用Matlab进行因式分解 syms 表达式中包含的变量factor(表达式) 如何用Matlab展开 syms 表达式中包含的变量expand(表达式) 如何用Matlab进行化简 syms 表达式中包含的变量simplify(表达式) 如何用Matlab合并同类项 syms 表达式中包含的变量collect(表达式,指定的变量) 如何用Matlab进行数学式的转换 调用Maple中数学式的转换命令,调用格式如下: maple(‘Maple的数学式转换命令’) 即:maple(‘convert(表达式,form)’)将表达式转换成form的表示方式 maple(‘convert(表达式,form, x)’)指定变量为x,将依赖于变量x的函数转换成form的表示方式(此指令仅对form为exp与sincos的转换式有用) 如何用Matlab进行变量替换 syms 表达式和代换式中包含的所有变量subs(表达式,要替换的变量或式子,代换式) 如何用matlab进行复数运算 a+b*i 或 a +b*j表示复数a+bi 或a+bj real(z)求复数z的实部 imag(z)求复数z的虚部 abs(z)求复数z的模 angle(z)求复数z的辐角, conj(z)求复数z的共轭复数 exp(z)复数的指数函数,表示e^z 如何在matlab中表示集合 [a, b, c,…] 表示由a, b, c,…组成的集合(注意:元素之间也可用空格隔开) unique(A) 表示集合A的最小等效集合(每个元素只出现一次) 也可调用maple的命令,格式如下: maple('{a, b, c,…}')表示由a, b, c,…组成的集合 下列命令可以生成特殊的集合: maple(‘{seq(f(i),i=n..m)}’)生成集合{f(n), f(n+1), f(n+2), … , f(m)} 如何用Matlab求集合的交集、并集、差集和补集

最小二乘法Matlab自编函数实现及示例.docx

、最小二乘拟合原理 x= xl x2 ... xn y= yl y2 ... yn 求m 次拟合 ?力* y 卅…I ZA ; A T A = ZX 茁 X x i - X x i +1 ,- ? ? ? [函Oi …备F =⑷矿丄? A T y 所以m 次拟合曲线为y = a 0 +勿?怎+吐■审+???? +如■牙皿 二、 Matlab 实现程序 function p=funLSM (x, y, m) %x z y 为序列长度相等的数据向量,m 为拟合多项式次数 format short; A=zeros(m+l,m+l); for i=0:m for j=0:m A(i + 1, j + 1)=sum(x.A (i+j)); end b(i+1)=sum(x.A i.*y); end a=A\b 1; p=fliplr (a'); 三、 作业 题1:给出如下数据,使用最小二乘法球一次和二次拟合多项式(取小数点后3位) X 1.36 1.49 1.73 1.81 1.95 2.16 2.28 2.48 Y 14.094 15.069 16.844 17.378 18.435 19.949 20.963 22.495 解:

? x=[1.36 1.49 1.73 1. 81 1. 95 2. 16 2. 28 2. 48]: ? y=[14.094 15.069 16.844 17. 378 18.435 19.949 20.963 22.495]; >> p=funLSM(x, y? 1) P = 7.4639 3.9161 >> p=funLSM(x, y? 2) P = 0.3004 6.3145 4.9763 一次拟合曲线为: y = 7.464x+ 3.91S 二次拟合曲线为: y = +6.315^4-4.976 一次拟合仿真图

MATLAB函数大全(MATLAB函数总集,史上最全)

MATLAB函数大全 代充全国移动、联通、电信话费、腾讯QQ业务、网游点卡 淘宝店址:https://www.wendangku.net/doc/0e12838116.html,/ 信誉至上,服务第一 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 创建空格串 代充全国移动、联通、电信话费、腾讯QQ业务、网游点卡 淘宝店址:https://www.wendangku.net/doc/0e12838116.html,/ 信誉至上,服务第一 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 三浓淡多彩交叉色图矩阵

MatLab常见函数和运算符号解读

MatLab常见函数和运算符号 基本运算 convhull :凸壳函数 cumprod :累计积 cumsum :累计和 cumtrapz :累计梯形数值积分 delaunay :Delaunay三角化 dsearch :求最近点(这是两个有趣的函数 factor :质数分解inpolygon :搜索多边形内的点 max :最大元素 mean :平均值 median :数组的中间值 min :最小值 perms :向量所有排列组成矩阵 polyarea :多边形的面积 primes :生成质数列表 prod :数组元素积 sort :元素按升序排列 sortrows :将行按升序排列

std :标准差 sum :元素和 trapz :梯形数值积分 tsearch :搜索Delaunay三角形var :方差 voronoi :Voronoi图 del2 :Laplacian离散 diff :差分和近似微分gradient:数值梯度 corrcoef :相关系数 cov :协方差矩阵 xcorr :互相关系数 xcov :互协方差矩阵 xcorr2 :二维互相关 conv :卷积和多项式相乘conv2 :二维卷积 deconv :反卷积 filter :滤波 filter2 :二维数字滤波

傅立叶变换 abs :绝对值和模 angle :相角 cplxpair :按复共扼把复数分类 fft :一维快速傅立叶变换 fft2 :二维快速傅立叶变换 fftshit :将快速傅立叶变换的DC分量移到谱中央ifft :以为逆快速傅立叶变换 ifft2 :二维逆快速傅立叶变换 ifftn :多维逆快速傅立叶变换 ifftshift :逆fft平移 nextpow2 :最相邻的2的幂 unwrap :修正相角 cross :向量叉积 intersect:集合交集 ismember :是否集合中元素 setdiff :集合差集 setxor :集合异或(不在交集中的元素 union :两个集合的并

Matlab中常用的函数集

sort (排序) xlsread ( exl文件导入) load (txt 文件,mat文件等导入) 附录Ⅰ工具箱函数汇总 Ⅰ.1 统计工具箱函数 表Ⅰ-1 概率密度函数 函数名对应分布的概率密度函数 betapdf 贝塔分布的概率密度函数 binopdf 二项分布的概率密度函数 chi2pdf 卡方分布的概率密度函数 exppdf 指数分布的概率密度函数 fpdf f分布的概率密度函数 gampdf 伽玛分布的概率密度函数 geopdf 几何分布的概率密度函数 hygepdf 超几何分布的概率密度函数normpdf 正态(高斯)分布的概率密度函数lognpdf 对数正态分布的概率密度函数nbinpdf 负二项分布的概率密度函数 ncfpdf 非中心f分布的概率密度函数nctpdf 非中心t分布的概率密度函数 ncx2pdf 非中心卡方分布的概率密度函数poisspdf 泊松分布的概率密度函数 raylpdf 雷利分布的概率密度函数 tpdf 学生氏t分布的概率密度函数unidpdf 离散均匀分布的概率密度函数unifpdf 连续均匀分布的概率密度函数weibpdf 威布尔分布的概率密度函数 表Ⅰ-2 累加分布函数 函数名对应分布的累加函数 betacdf 贝塔分布的累加函数 binocdf 二项分布的累加函数 chi2cdf 卡方分布的累加函数 expcdf 指数分布的累加函数 fcdf f分布的累加函数 gamcdf 伽玛分布的累加函数 geocdf 几何分布的累加函数 hygecdf 超几何分布的累加函数

logncdf 对数正态分布的累加函数 nbincdf 负二项分布的累加函数 ncfcdf 非中心f分布的累加函数 nctcdf 非中心t分布的累加函数 ncx2cdf 非中心卡方分布的累加函数 normcdf 正态(高斯)分布的累加函数 poisscdf 泊松分布的累加函数 raylcdf 雷利分布的累加函数 tcdf 学生氏t分布的累加函数 unidcdf 离散均匀分布的累加函数 unifcdf 连续均匀分布的累加函数 weibcdf 威布尔分布的累加函数 表Ⅰ-3 累加分布函数的逆函数 函数名对应分布的累加分布函数逆函数 betainv 贝塔分布的累加分布函数逆函数 binoinv 二项分布的累加分布函数逆函数 chi2inv 卡方分布的累加分布函数逆函数 expinv 指数分布的累加分布函数逆函数 finv f分布的累加分布函数逆函数 gaminv 伽玛分布的累加分布函数逆函数 geoinv 几何分布的累加分布函数逆函数hygeinv 超几何分布的累加分布函数逆函数logninv 对数正态分布的累加分布函数逆函数nbininv 负二项分布的累加分布函数逆函数ncfinv 非中心f分布的累加分布函数逆函数nctinv 非中心t分布的累加分布函数逆函数 ncx2inv 非中心卡方分布的累加分布函数逆函数icdf norminv 正态(高斯)分布的累加分布函数逆函数poissinv 泊松分布的累加分布函数逆函数 raylinv 雷利分布的累加分布函数逆函数 tinv 学生氏t分布的累加分布函数逆函数unidinv 离散均匀分布的累加分布函数逆函数unifinv 连续均匀分布的累加分布函数逆函数weibinv 威布尔分布的累加分布函数逆函数 表Ⅰ-4 随机数生成器函数

MATLAB一些函数实例

1.三角波产生器 t=-3:0.01:3; f1=tripuls(t); subplot(3,1,1); plot(t,f1); axis([-3,3,-0.2,1.2]) set(gcf,'color','w'); f2=tripuls(t,4); subplot(3,1,2); plot(t,f2); axis([-3,3,-0.2,1.2]) %set(gcf,'color','w'); f3=tripuls(t,4,-1); subplot(3,1,3); plot(t,f3); axis([-3,3,-0.2,1.2]) 2.离散序列的相加与相乘 function[x,n]=jxl(x1,x2,n1,n2) n=min(min(n1),min(n2)):max(max(n1),max(n2)); s1=zeros(1,length(n));s2=s1; s1(find((n>=min(n1))&(n<=max(n1))==1))=x1; s2(find((n>=min(n2))&(n<=max(n2))==1))=x2; x=s1+s2;//x=s1.*s2:%序列乘 axis([(min(min(n1),min(n2))-1),(max(max(n1),max(n2))+1),(min(x)-0.5), (max(x)+0.5)]) 3.序列的反摺 function[x,n]=xlfz(x1,n1) x=fliplr(x1);n=fliplr(n1); stem(n,x,'filled') axis([min(n)-1,max(n)+1,min(x)-0.5,max(x)+0.5]) 4.序列的卷积 function[x,n]=gghconv(x1,x2,n1,n2) x=conv(x1,x2) ns=n1(1)+n2(1); leg=length(x1)+length(x2)-2; n=ns:(ns+leg) subplot(2,2,1) stem(n1,x1,'filled') title('x1(n)') xlabel('n') subplot(2,2,2)

相关文档
相关文档 最新文档