当前位置:文档之家› MATLAB文件各种操作方法(全)

MATLAB文件各种操作方法(全)

MATLAB文件各种操作方法(全)
MATLAB文件各种操作方法(全)

1.1 文件的打开和关闭

1.1.1 文件的打开

fopen ('filename', 'mode')

mode格式有:

‘r’:只读方式打开文件(默认的方式),该文件必须已存在。

‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。

‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。

‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。

‘a’:在打开的文件末端添加数据。文件不存在则创建。

‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。

如果rt表示该文件以文本方式打开,如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。

Fopen函数两个返回值:

1、一个是返回一个文件标识(file Identifier),它会作为参数被传入其他对文件进

行读写操作的命令,通常是一个非负的整数,可用此标识来对此文件进行各种处理。

(如果返回的文件标识是–1,则代表fopen无法打开文件,其原因可能是文件不

存在,或是用户无法打开此文件权限);

2、另一个返回值就是message,用于返回无法打开文件的原因;

例:1-1

[f,message]=fopen('fileexam1', 'r')

if f==-1

disp(message); %显示错误信息

end

(若文件fileexam1不存在,则显示如下信息。

Cannot open file.existence?permissions?memory?)

例:1-2

[f,message]=fopen('fileexam2', 'r');

if f==-1

disp (message); %显示错误信息

else

disp(f);

end

若文件fileexam2存在,则返回f值。

1.1.2文件的关闭

Fclose(f)

F为打开文件的标志,若若fclose函数返回值为0,则表示成功关闭f标志的文件;若返回值为–1,则表示无法成功关闭该文件。(打开和关闭文件比较耗时,最好不要在循环体内使用文件)

若要一次关闭打开的所有文件,可以使用下面的命令:fclose all

1.2文本数据

MATLAB自带的MAT文件为二进制文件,但为了便于和外部程序进行交换以及方便查看文件中的数据,也常常采用文本数据格式(数据采用ASCII码格式,可以表示字母和数字字符)与外界进行数据交换。

1.2.1 从文本文件中读取数据

1、使用导入模板来读取数据

2

如:A=load('my_data.txt');

3、读取有分隔符的ASCII数据文件

如果数据文件不使用空格符而是使用逗号或是其他符号作为分隔符,用户可以选择多个可用的导入数据函数。最简单的便是使用函数dlmread。

例2-1

lcode.dat

0.3445,0.8433,0.7865

0.7562,0.4233,0

A=dlmread('lcode.dat',',')

(分隔符只能选取单个字符,不能用字符串来作为分隔符)

4. 使用文本头读取数值数据

要读取一个包含文本头的ASCII码数据文件,可以使用textread函数,并指定头行参数。Textread既能处理有固定格式的文件,也可以处理无格式的文件,还可以对文件中每行数据按列逐个读取。

textread函数常见的调用方法有如下几种:

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

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

例2-2

num1 num2 num3 num4

0.3242 0.4324 0.3455 0.6754

0.4566 0.9368 0.9892 0.9274

0.4658 0.2832 0.9373 0.8233

因为有文件头,要使用如下textread命令来读取文件中的数据。

>> [num1 num2 num3

num4]=textread('my_data.txt','%f %f %f %f','headerlines',1)

执行结果如下:

num1 =

0.3242

0.4566

0.4658

num2 =

0.4324

0.9368

0.2832

num3 =

0.3455

0.9892

0.9373

num4 =

0.6754

0.9274

0.8233

5. 读取字母数值混合的数据

例2-3

文件my_exam.dat包含的混合的字母和数值如下:

Joe gradeA 4.9 pass

susan gradeD 2.0 fail

如果想把4列数据全部读取出放在4个变量中,则使用如下命令:

>> [name gra grades answer]=textread('my_exam.dat','%s %s %f %s') (textread 函数按格式字符串中指定的格式处理文件中的某个数据项,并把值放在输出变量中。输出变量的数目必须和格式字符串中指定的变换数目项匹配,在该例中,函数按格式字符串来读取文件)

若文件采用的分隔符不是空格,则必须使用函数textread ,将该分隔符作为它的参数。例如,若文件my_exam.dat 使用分号作为分隔符,则读入该文件需使用如下命令:

[name gra grades ans]=textread('my_exam.dat','%s %s %f %s',

'delimiter', '; ')

2 文件的存储

2.1 文件存写函数

若要将当前的MATLAB工作空间的一个或多个变量写到一个有分隔符的ASCII码文件中,可以使用save命令或dlmwrite函数。在默认情况下,save 命令是以 MAT 格式存写数据的。

例 3-1

>> clear all;

>> x=rand(2,3);

>> save my_test1.dat x -ascii;

结果为:

9.2181297e-001 1.7626614e-001 9.3546970e-001

7.3820725e-001 4.0570621e-001 9.1690444e-001

2.2 使用文件I/O函数

2.2.1格式化写入文本数据

例3-2

创建一个2×2的魔方矩阵,然后打开一文件,写入数据。

>> clear all;

>> x=magic(2);

>> fid=fopen('exam4.txt','w');

>> fprintf(fid,'%4.2f %8.4f\n',x);

>> fclose(fid);

x =

1 3

4 2

>> type exam4.txt

1.00 4.0000

3.00 2.0000

(fprintf函数存储的时候按行读取,然后按列存写)

2.2.2 控制文件位置指针

Fseek frewind

设定指针位置重设指针到文件起始位置

Ftell feof

获得指针位置测试指针是否在文件结束位置

1、fseek函数用法

fseek 函数用于指定文件指针的位置,调用方式如下:

status=fseek(fid,offset,origin)

fid是指定的文件标识符。offset为整数型变量,表示相对于指定位置需要的偏移字节数,正数表示向文件末尾偏移,负数表示向文件开头偏移。Origin可以是特定字符串,也可以是整数,表示文件中的参考位置。

参考位置说明:'bof '或者 -1文件开头'cof '或者 0文件中当前位置

'eof '或者 1文件末尾

2、ftell函数用法

ftell 函数用来获得当前文件指针的位置,调用方式如下:

position=ftell(fid)

fid是指定的文件标识符。Position为返回值,表示当前指针的位置。position 是以相对于文件开头的字节数来表示的。如果返回值为–1,表示未能成功调用。这是可以通过调用feeeor(fid)的具体的错误信息。

3、frewind函数用法

frewind 函数用来把文件指针重新复位到文件开头。调用方式如下:

frewind(fid)

其中fid为指定的文件标识符,其作用和fseek(fid,0,-1)是等效的。

4、feof函数用法

feof 函数用来判断是否到达文件末尾。调用方式如下:

eofstat=feof(fid)

其中fid为指定的文件标识符。eofstat是返回值,当到达文件末尾时,eofstat 为1;否则为0。

f=fopen('my_test.dat','r');

>> A=fscanf(f,'%g',[4 2])

A =

0.4565 0.4447

0.8214 0.7919

0.6154 0

0.0185 0

>>feof(f)

ans=

1

%c读取字符型变量,也可以指定多个字符,'%3c'

%s读取字符串变量

%d读取整数型变量

%f读取浮点数

%g读取双精度浮点数

3、fprintf函数功能

fprintf(fileID, format, A)

count = fprintf(...) fprintf写入返回数字的字节。

1、Format:使用单引号的字符串,它描述了输出字段的格式。可以包括下列组合:百分号后

跟一个转换字符,如'%s的为字符串'。

(1)转义字符

(2)数值类型字符

(3)字段宽度

最小的字符数进行打印。可以是一个数字或一个星号(*)是指输入列表中的一个论据。例如,输入列表('%12d,intmax)相当于('%* D',12,intmax)。

精确宽度

MATLAB_M文件与M函数

M文件与M函数 Matlab输入命令的常用方式有两种:一种是直接在Matlab的命令窗门中逐条输入Matlab 命令;二是m文件工作方式。当命令行很简单时,使用逐条输入方式还是比较方便的。但当命令行很多时(比如说几十行乃至全成百上千行命令),显然再使用这种方式输入MATLAB 命令,就会显得杂乱无章,不易于把握程序的具体走向,并且给程序的修改和维护带来了很大的麻烦。这时,建议采用Matlab命令的第二种输入形式m文件工作方式。 m文件工作方式,指的是将要执行的命令全部写在一个文本文件中,这样既能使程序显得简洁明了,又便于对程序的修改与维护。m文件直接采用Matlab命令编写,就像在Matlab 的命令窗口直接输入命令一样,因此调试起来也十分方便,并且增强了程序的交互性。 m文件与其他文本文件一样,可以在任何文本编辑器中进打编辑、存储、修改和读取。利用m文件还可以根据白己的需要编写一些函数,这些函数也可以橡Matlab提供的函数一样进行调用。从某种意义上说,这也是对MATLAB的二次开发。 m文件有两种形式:一种是命令方式或称脚本方式;另一种就是函数文件形式。两种形式的文件扩展名均是.m。 1、M文件 当遇到输入命令较多以及要重复输入命令的情况时,利用命令文件就显得很方便了。将所有要执行的命令按顺序放到一个扩展名为.m的文本文件中,每次运行时只需在MATLAB 的命令窗口输入m文件的文件名就可以了。需要注意的是,m文件最好直接放在Matlab 的默认搜索路径下(一般是Matlab安装目录的子目录work中),这样就不用设置m文件的路径了,否则应当用路径操作指令path重新设置路径。另外,m文件名不应该与Matlab的内置函数名以及工具箱中的函数重名,以免发生执行错误命令的现象。Matlab对命令文件的执行等价于从命令窗口中顺序执行文件中的所有指令。命令文件可以访问Matlab工作空间里的任何变量及数据。命令文件运行过程中产生的所有变量都等价于从Matlab工作空间中创建这些变量。因此,任何其他命令文件和函数都可以自由地访问这些变量。这些变量一旦产生就一直保存在内存中,只有对它们重新赋值,它们的原有值才会变化。关机后,这里变量也就全部消失了。另外,在命令窗口中运行clear命令,也可以把这些变量从工作空间中删去。当然,在Matlab的工作空间窗口中也可以用鼠标选择想要删除的变量,从而将这些变量从工作空间中删除。 接下来,编写一个名为test.m的命令文件,用来计算矩阵1到100的和,并把它放到变量s中。 第一步创建新的M-文件。在Matlab主菜单上选择菜单命令File→New→M-File

实验1熟悉matlab环境和基本操作

实验1 熟悉Matlb环境及基本操作 实验目的: 1.熟悉Matlab环境,掌握Matlab的主要窗口及功能; 2.学会Matlab的帮助使用; 3.掌握向量、矩阵的定义、生成方法和基本运算; 4.掌握Matlab的基本符号运算; 5.掌握Matlab中的二维图形的绘制和控制。 实验内容: 1.启动Matlab,说明主窗口、命令窗口、当前目录窗口、工作空间窗口、历史窗口、图形窗口、M文件编辑器窗口的功能。 2.实例操作Matlab的帮助使用。 3.实例操作向量、矩阵的定义、生成方法和基本运算。 4.实例操作Matlab的基本符号运算。 5.实例操作Matlab中的二维图形绘制和控制。 实验仪器与软件: 1.CPU主频在2GHz以上,内存在512Mb以上的PC; 2.Matlab 7及以上版本。 实验讲评: 实验成绩: 评阅教师: 年月日

实验1 熟悉Matlab环境及基本操作 一、Matlab环境及主要窗口的功能 运行Matlab安装目录下的matlab.exe文件可启动Matlab环境,其默认布局如下图: 其中, 1.主窗口的功能是:主窗口不能进行任何计算任务操作,只用来进行一些整体的环境参数设置,它主要对6个下拉菜单的各项和10个按钮逐一解脱。 2.命令窗口的功能是:对MATLAB搜索路径中的每一个M文件的注释区的第一行进行扫描,一旦发现此行中含有所查询的字符串,则将该函数名及第一行注释全部显示在屏幕上。 3. 历史窗口的功能是:历史窗口显示命令窗口中的所有执行过的命令,一方面可以查看曾经执行过的命令,另一方面也可以重复利用原来输入的命令行,可以从命令窗口中直接通过双击某个命令行来执行该命令,

实验一 MATLAB基本操作及运算

实验一 MATLAB 基本操作及运算 一、 实验目的 二、 实验的设备及条件 三、 实验内容 1、 建立以下标量: 1) a=3 2) ,(j 为虚数单位) 3) c=3/2πj e 2、 建立以下向量: 1) Vb= 2.71382882????????-???? 2) Vc=[4 3.8 … -3.8 -4 ] (向量中的数值从4到-4,步长为-0.2) 3、 建立以下矩阵: 1) 3 333Ma ????=?????? Ma 为一个7×7的矩阵,其元素全为3. 2) 11191212921020100Mb ??????=??????

Mb 为一个10×10的矩阵. 3) 114525173238Mc ????=?????? 4、 使用题1中的变量计算下列等式的x,y,z 的值: 1) ((15)/6)111a x e --=+ 2) 2x π= 3) 3ln([()()]sin(/3))x b c b c a π=+-R ,其中R 表示复数实部。 5、 求解函数值22/(2.25)ct y e -=,其中c 取值见题1,t 的取值范围为题2中行 向量Vc 。 6、 使用题1和题3中所产生的标量和矩阵计算等式 1()()T Mx a Mc Mc Mc -=?? 其中*为矩阵所对应行列式的值,参考det 。 7、 函数的使用和矩阵的访问。 1) 计算矩阵Mb 每一列的和,结果应为行向量形式。 2) 计算整个矩阵Mb 的平均值。 3) 用向量[1 1…1] 替换Mb 的最上一行的值 4) 将矩阵Mb 的第2~5行,第3到9列的元素所构成的矩阵赋值给矩阵SubMb 。 5) 删除矩阵Mb 的第一行; 6) 使用函数rand 产生一个1×10的向量r ,并将r 中值小于0.5的元素设置为0。 8、 已知CellA (1, 1)=‘中国’,CellA (1,2)=‘北京’,CellA (2,1)是一个3乘3的单位阵,CellA (2, 2)=[1 2 3],试用MATLAB 创建一个2×2的细胞数组CellA 。 9、 已知结构数组student 中信息包含有姓名,学号,性别,年龄和班级,试用MATLAB 创建相应的结构数组student 。该数组包含有从自己学号开始连续5个同学的信息(如果学号在你后面的同学不足5个则往前排序),创建完成后查看自己的信息。

实验一 Matlab基本操作(2016)

实验一 MATLAB 基本操作 一、实验目的 1. 学习和掌握MA TLAB 的基本操作方法 2. 掌握命令窗口的使用 3. 熟悉MATLAB 的数据表示、基本运算 二、实验内容和要求 1. 实验内容 1) 练习MATLAB7.0或以上版本 2) 练习矩阵运算与数组运算 2. 实验要求 1) 每位学生独立完成,交实验报告 2) 禁止玩游戏! 三、实验主要软件平台 装有MATLAB7.0或以上的PC 机一台 四、实验方法、步骤及结果测试 1. 实验方法:上机练习。 2. 实验步骤: 1) 开启PC ,进入MA TLAB 。 2) 使用帮助命令,查找sqrt 函数的使用方法 答: help sqrt 3) 矩阵、数组运算 a) 已知 ??????????=987654321A ,???? ??????=963852741B ,求)2()(A B B A -?+ 答: A=[1, 2, 3; 4, 5, 6; 7, 8, 9]; B=[1, 4, 7; 2, 5, 8; 3, 6, 9]; (A+B)*(2*B-A) b) 已知?? ????-=33.1x ,??????=π24y ,求T xy ,y x T c) 已知??????????=987654321A ,???? ??????=300020001B ,求A/B, A\B. d) 已知???? ??????=987654321A ,求:(1) A 中第三列前两个元素;(2) A 中所有第二行元素;(3) A 中四个角上的元素;(4) 交换A 的第1、3列。(5) 交换A 的第1、2行。(6) 删除A 的第3列。

e) 已知[]321=x ,[]654=y ,求:y x *.,y x /.,y x \.,y x .^, 2.^x ,x .^2。 f) 给出x=1,2,…,7时,x x sin 的值。 3)常用的数学函数 a )随机产生一个3x3的矩阵A ,求:(1) A 每一行的最大、最小值,以及最大、最小值所在的列;(2) A 每一列的最大、最小值,以及最大、最小值所在的行;(3) 整个矩阵的最大、最小值;(4) 每行元素之和;(5) 每列元素之和;(6) 每行元素之积;(7) 每列元素之积。 b) 随机产生两个10个元素的向量x ,y 。(1) 求x 的平均值、标准方差。(2) 求x ,y 的相关系数。(3)对x 排序,并记录排序后元素在原向量中的位置。 4) 字符串操作函数 建立一个字符串向量(如‘ABc123d4e56Fg9’),然后对该向量做如下处理: (1) 取第1~5个字符组成的子字符串。 (2) 将字符串倒过来重新排列。 (3) 将字符串中的小写字母变成相应的大写字母,其余字符不变。 (4) 统计字符串中小写字母的个数。

实验1Matlab基本操作M文件和流程控制语句+答案

实验1 Matlab基本操作、M文件和流程控制语句-答案 1、计算以下表达式的值,将结果按不同格式输出。掌握format命令的使用方法。(1) (2),其中 (3),其中 以(1)为例,其余类似。 (1)>> y=1.3^3*sin(pi/3)*sqrt(26) y = 9.7017 >> format long >> y=1.3^3*sin(pi/3)*sqrt(26) y = 9.70168931166114 >> format short e >> y=1.3^3*sin(pi/3)*sqrt(26) y = 9.7017e+000 >> format bank >> y=1.3^3*sin(pi/3)*sqrt(26) y = 9.70 >> format rat >> y=1.3^3*sin(pi/3)*sqrt(26) y = 2862/295 (2)>> format short >> x=[2 1+2*i;-0.45 5] x = 2.0000 1.0000 + 2.0000i -0.4500 5.0000 >> y=(1/2)*log(x+sqrt(1+x^2)) y = 0.7114 - 0.0253i 0.8968 + 0.3658i 0.2139 + 0.9343i 1.1541 - 0.0044i (3) >> format short >> x=-3:0.1:3; >> y=((exp(0.3*x)-exp(-0.3*x))/2).*sin(x+0.3)+log((0.3+x)/2) 2、已知: 求下列表达式的值: A+6*B和A-B+I

MATLAB中M文件例子

20.11 M文件例子 精通MATLAB工具箱含有许多实用函数,它们可以验证本章的许多概念。这些函数的基本部分已经在二维和三维图形这些章阐述过了。有了前面对句柄图形的讨论,我们现在可以更彻底地讨论这些函数。 最简单的精通MATLAB工具箱的函数之一提出了一个共同的问题。MATLAB函数gcf返回当前图形的句柄。但是,它有一个副作用。如果图形不存在,gcf就创建一个,并返回它的句柄。如果想寻找一个图形是否存在于头一个位置,要是没有,又不得不创建,怎么办?函数mmgcf正好实现由其内容所描述的工作。 function HF=mmgcf %MMGCF Get Current Figure if it Exists. % MMGCF returns the handle of the current figure if it exists. % If no current figure exists,MMGCF returns an empty handle. % % Note that the function GCF is different.It creates a figure and returns its handle if it does not % exist. % Copyright (c) 1996 by Prentice-Hall,Inc. Hf=get(0, ‘Children’ ); % check for figure children if isempty(Hf) return else Hf=get(0, ‘CurrentFigure’ ); end 函数mmgcf首先检查根对象的子对象的图形是否存在,如至少有一个图形对象时,根对象的‘CurrentFigure’属性就返回当前的图形。 函数mmgca为坐标轴对象执行同样的功能,如同在它的M文件内所描述的那样。 function Ha=mmgca %MMGCA Get Current Axes if it exists. % MMGCA returns the handle of the current axes if it exists. % If no current axes exists,MMGCA returns an empty handle. % % Note that the function GCA is diffent.It create a figure and an axes and returns the axes % handle if they do not exist. % Copyright (c) 1996 by Prentice-Hall,Inc.

Matlab figure 基本操作

Matlab figure基本操作 set(gcf,'Position',[300 300 700 220]); %调整Figure位置和大小。前两个为离屏幕左下角的X,Y距离,后两个值为Figure窗口的宽和高 set(gca,'Position',[.05 .1 .9 .8]); %调整绘图范围(比例关系)。0.05+0.9为横向比例,最大为1;0.1+0.8为纵向比例。0.05和0.1为距离Figure左下角的X,Y距离 figure_FontSize=12; set(gca,'FontSize',figure_FontSize,'FontName','Arial'); xlabel('Distance (m)','FontSize',figure_FontSize,'fontweight','b','FontName','Arial'); ylabel('Thickness (m)','FontSize',figure_FontSize,'fontweight','b','FontName','Arial'); box off; %关闭上和右侧刻度线 grid on; %添加网格线 xkd=[10 20 30]; %定义坐标刻度数量 ykd=[100 200 300]; xkd_label=[1 3 5]; %更改刻度 ykd_label=[100 200 300]; set(gca,'xtick',xkd); set(gca,'xticklabel',xkd_label); set(gca,'ytick',ykd); set(gca,'yticklabel',ykd_label); set(gca,'xscale','log'); %改为对数坐标

MatlabM文件编程

M文件及程序调试 本章详细讲解利用M语言进行编程的方法讲述的主要内容: 主程序文件 函数文件 M文件的调试

MATLAB的工作模式 (1)指令驱动模式 即在MATLABM命令行窗口下用户输入单行指令 时,MATLAB立即处理这条指令,并显示结果, 这就是MATLAB命令行方式。 缺点:命令行方式程序可读性差,而且不能存 储,当处理复杂问题和大量数据时很不方便。(2)M文件模式 将MATLAB语句构成的程序存储成以m为扩展名的 文件,然后再执行该程序文件,这种工作模式 称为程序文件模式。

M语言文件可以分为主程序文件和函数文件 一个M语言文件就是由若干MATLAB的命令组合在一起构成的。 M语言文件是标准的纯文本格式的文件,其文件扩展名为.m。 MATLAB提供了meditor编辑器编辑M文件 注意: (1)不可用汉字命名(若用汉字命名虽然可以打开M文件,但是编译运行时会出错); (2)文件名不可与MATLAB内置函数重名; (3)文件名不可以以数字命名。

主程序文件(脚本文件) 相当于C语言的主函数 主程序文件没有输入参数和输出参数。 执行主程序文件时,文件中的指令或者命令按照出现在脚本文件中的顺序依次执行。 主程序文件主要由注释行和代码行组成: M文件的注释行需要使用%,定义符注释定义符仅能影响一行代码 程序执行的结果将显示于命令窗中

函数文件(相当于C语言的子函数) 函数文件供主程序文件调用,必须指定函数名和输入输出参数,并由主程序文件中语句序列给出一系列操作,从而生成所需数据 函数文件格式一般包括以下部分: (1)函数定义行:表明该m文件包含一个函数,且为其定义函数名、输入参数和输出参数 function y=mean(x) (2)帮助信息:处在文件中的第二行,应该反 映该m文件概括性信息 %求平均值

实验一 Matlab基本操作及运算

实验一Matlab基本操作及运算 一、实验目的: 1.熟悉MATLAB基本操作 2.掌握矩阵、变量、表达式的各种基本运算 二、实验基本知识: 1.熟悉MATLAB环境 熟悉MATLAB桌面和命令窗口、命令历史窗口、帮助信息浏览器、工作空间浏览器文件和搜索路径浏览器。 2.掌握MATLAB常用命令 3.MATLAB变量与运算符 变量命名规则如下: (1)变量名可以由英语字母、数字和下划线组成 (2)变量名应以英文字母开头 (3)长度不大于31个 (4)区分大小写 MATLAB中设置了一些特殊的变量与常量,列于下表。 MATLAB运算符,通过下面几个表来说明MATLAB的各种常用运算符

表2 MATLAB算术运算符 表3 MATLAB关系运算符 表4 MATLAB逻辑运算符 表5 MATLAB特殊运算

4. MATLAB的一维、二维数组的访问 表6 子数组访问与赋值常用的相关指令格式 5. MATLAB的基本运算 表7 两种运算指令形式和实质内涵的异同表 6.MATLAB的常用函数

表8 标准数组生成函数 表9 数组操作函数 7.多项式运算 poly——产生特征多项式系数向量 roots——求多项式的根 p=poly2str(c,‘x’)—(将特征多项式系数向量c转换为以习惯方式显示是多项式)conv, convs——多项式乘运算 deconv——多项式除运算 polyder(p)——求p的微分 polyder(a, b)——求多项式a,b乘积的微分 [p,q]=polyder(p1,p2)——求解多项式p1/p2微分的有理分式 poly(p,A)——按数组运算规则求多项式p在自变量A的值 polym(p,A)——按矩阵运算规则求多项式p在自变量A的值

MATLAB 基本操作和简单语句输入

实验一基本操作和简单语句输入 一、实验目的和要求 1、熟悉MATLAB的命令窗口 2、掌握MATLAB的一些基本操作,能够进行一般的数值计算 3、实现语句的重调和修改 二、实验内容和步骤 1、启动MATLAB 2、观察MATLAB窗口的组成部分 (1)了解菜单栏各菜单项的功能,用书变打开MA TLAB的各个菜单,在状态栏里显示当前鼠标所指的菜单项的含义 (2)用鼠标指向常用工具栏的每个工具按钮,了解各个工具按钮的含义 3、命令窗口的打开和关闭 (1)查看窗口的打开和关闭 (2)在命令窗口中输入命令a=3;b=4;y=a*b+a/b,然后回车,查看命令显示结果 (3)利用MATLAB中编辑命令行事常用的按键功能,调出上一语句,对它进行修改(如把分号改成逗号,看运行结果),并把运行结果复制到word中保存。 >> a=3;b=4;y=a*b+a/b, y = 12.7500 >> a=3,b=4,y=a*b+a/b, a = 3 b = 4 y = 12.7500 (4)关闭命令窗口

(5)打开命令窗口 4、使用MATLAB帮助 熟悉MATLAB的帮助系统,通过帮助系统了解有关内容 5、在命令窗口中输入demo,将出现MA TLAB的演示窗,通过演示窗,对MATLAB的功能进一步的浏览。 三、试验环境 计算机MA TLAB软件 四、练习 1、调出MATLAB\stateflow的演示实例

2、计算y=x^3+(x-0.98)^2/(x+1.25)^3-5(x+1/x),x=2,x=3时的值 3、计算cos60?-√(9-√2) 4、已知a=3,A=4,b=a^2,B=b^2-1,c=a+A-2B,C=a+B+2c,求C

实验一、MATLAB基本操作和M文件的编写及调试.

实验一、MATLAB基本操作和M文件的编写及调试 一、实验目的 1、熟悉MATLAB环境。 2、掌握MATLAB矩阵输入、运算以及元素运算和矩阵运算的区别。 3、熟悉MATLAB中M文件的编辑环境; 4、掌握MATLAB中M文件的编写与调试; 5、熟悉MATLAB中基本程序语句的使用; 二、预习要求 1、矩阵的基本运算法则以及矩阵转置、逆矩阵、线性方程组的求解问题等基本概念。 2、If、for、while以及switch语句的用法。 3、子程序的调用。 三、实验内容 1、利用help命令,查找plot、stem和*、.*等的帮助文件。同时在命令窗口中运行demo 命令,运行有关通信、信号处理的演示。 2、以及输入D=[1,4,7;8,5,2,;3,6,0],计算Z=D^3,D.^3,Z=3.^D,掌握元素运算和矩阵 运算的区别。 3、输入X=[-1 0 1],计算Y=X-1,l=length(X),pi*X,X*Y',Y'*X,验证矩阵的左乘与 右乘不相等。 4、输入A=[1,2,3;4,5,6],B=[2,4,0;1,3,5],D=[1,4,7;8,5,2,;3,6,0] ,计算D\A',A/D,掌握矩阵 的左除与右除的含义。 5、在命令窗口中输入edit命令,观察M文件编辑器的组成及各部分功能。 6、自行编写函数,定义全局变量及局部变量,并进行访问,观察全局变量与局部变量 的区别。 7、编写M文件试用input函数的功能: 8、请编写一个判断数据(整数)奇偶性的函数。 四、实验报告要求 1、写清学号、姓名、班级及实验名称; 2、简练描述MATLAB的窗口组成,它可以编辑哪些文件,这些文件的作用是什么。 3、简略写出实验内容的操作步骤及运行结果。 五、思考题 1、MATLAB中元素运算和矩阵运算的区别是什么? 2、矩阵的左除与右除的含义是什么? 3、MATLAB中M文件的编写与调试的过程是什么? 4、MATLAB中基本程序语句的如何使用? 六、注意事项

#【Matlab 简易教程】第八章 M文件和面向对象编程

Matlab 简易教程 8 M 文件和面向对象编程 假如读者想灵活运用MATLAB 去解决实际问题,想充分调动MATLAB ——科学技术资源,想理解MATLAB 版本升级所依仗的基础,那么本章内容将十分有用。 本章将涉及比较深层的MATLAB 内容:脚本;函数(一般函数、内联函数、子函数、私用函数、方法函数);程序调试和剖析;数据结构(类、对象);重载和继承;面向对象编程。本章配备了许多精心设计的算例。这些算例是完整的,可直接演练的。读者通过这些算例,将真切感受到抽象概念的内涵、各指令间的协调,将从感知上领悟到面向对象编程的优越和至关要领。 8.1 入门 【*例8.1-1】通过M 脚本文件,画出下列分段函数所表示的曲面。 ??? ????-≤+≤+<->+=+-------15457.0117575.015457.0),(215.175.375.0216215.175.375.021121222 12212 122x x e x x e x x e x x p x x x x x x x x (1)编写M 脚本文件的步骤 图 8.1-1-1 MATLAB Editor/Debugger 窗口 点击MATLAB 指令窗工具条上的New File 图标 ,就可打开如图8.1-1-1所示的 MATLAB 文件编辑调试器MATLAB Editor/Debugger 。其窗口名为untitled ,用户即可在空白窗口中编写程序。比如输入如下一段程序 [zx81.m] %zx81.m This is my first example. <1> a=2;b=2; % <2> clf; x=-a:0.2:a;y=-b:0.2:b; for i=1:length(y) for j=1:length(x) if x(j)+y(i)>1 z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2-1.5*x(j)); elseif x(j)+y(i)<=-1 z(i,j)=0.5457*exp(-0.75*y(i)^2-3.75*x(j)^2+1.5*x(j));

用matlab编写M文件

用matlab编写M文件,计算函数值 2009-6-13 12:28 提问者:我ww是xx小jj俊|悬赏分:10|浏览次数:792次当x<1时,f(x)=x 当1 或=10时,f(x)=3x-11 其他回答共5条 2009-6-13 13:20 yuweilian|四级 n=100; for x=1:n; if x<1 f(x)=x; else if x<10 f(x)=2*x; else f(x)=3*x-11; end end plot (x,'b'); |评论 2009-6-13 14:35 唐海华86|三级 for x=-5:20; if x<1 y=x; end if <=x<10 y=2*x; end if x>10 y=3*x-11;

end end plot (x,y,'r'); |评论 2009-6-13 14:44 daoxiangcun|五级 %函数文件,保存为f.m function y = f(x) n = length(x); for k=1:n if x(k)<1 y(k)=x(k); elseif x(k)>=10 y(k)=3*x(k)-11; elseif 1=1&x<10)+(3*x-11).*(x>=10)

太原理工大学 MATLAB实验四 M文件的编写

本科MATLAB实验报告 课程名称: MATLAB及在电子信息课程中的应用实验名称: M文件的编写 实验地点:中区起点机房

实验四M文件的编写 一.实验环境 计算机,MATLAB软件 二.实验目的 1. 学习MATLAB中的关系运算和逻辑运算,掌握他们的表达方式和用法。 2. 掌握用MATLAB中的选择结构和循环结构。 3. 学会用MATLAB进行M文件的编写和调用。 三.实验内容与步骤 1. 创建一个矩阵,用函数all和any作用于该矩阵,比较结果。 创建一个矩阵a=[1,2,0,3;2,0,1,4]; b=all(a),c=any(a),d=all(b),e=any(b) 比较结果b=1 0 0 1 c=1 1 1 1 d=0 e=1 >> a=[1,2,0,3;2,0,1,4]; >> b=all(a) b = 1 0 0 1 >> c=any(a) c =

1 1 1 1 >> d=all(b) d = >> e=any(b) e = 1 2.编写一个switch语句,判断输入数的奇偶性。 n=input('n='); switch mod(n,2); case 1 A='奇', case 0 A='偶', otherwise A='空', end n=10 A = 偶 3.编写一个程序画出下列分段函数所表示的曲面,并用M文件存储。%first.m This is my first example

a=2;b=2; clf; x=-a:0.2:a;y=-b:0.2:b; for i=1:length(y) for j=1:length(x) if x(j)+y(i)>1 z(i,j)=0.5474*exp(-0.75*y(i)^2-3.75*x(j)^2-1.5*x(j)); else if x(j)+y(i)<=-1 z(i,j)=0.5475*exp(-0.75*y(i)^2-3.75*x(j)^2+1.5*x(j)); else z(i,j)=0.7575*exp(-y(i)^2-6*x(j)^2); end end end end axis([-a,a,-b,b,min(min(z)),max(max(z))]); colormap(flipud(winter));surf(x,y,z);

MATLAB的基本操作实验报告

MATLAB 的基本操作(MATLAB Basics ) 1. Plot the following graph (1) Plotting the two curves under one coordinate system with different color sin(), sin(3)y x y x == 代码: clear; x=-pi:pi/1000:pi; y=sin(x); plot(x,y,'r:'); hold on; x=-pi:pi/1000:pi; y=sin(3*x); plot(x,y,'b'); hold off; xlabel('x 轴'); ylabel('y 轴'); legend('y=sinx','y=sin(3x)'); 运行结果: (2) Plotting the standard normal distribution density function: )55(21)(2 2 ≤≤-= -x e x p x π 代码: clear;

MATLAB 的基本操作(MATLAB Basics ) x=-5:0.05:5; y=1/sqrt(2*pi)*exp(-x.^2/2); plot(x,y) 运行结果: (3)Using ‘subplot ’ command to plot 6 curves : )55()6,...,2,1() *sin()(ππ≤≤-==x i x i x f i 代码: clear; x=-5*pi:0.05:5*pi; for i=1:6 subplot(2,3,i); y=sin(i*x); plot(x,y); end 运行结果:

MATLAB-M文件的基本知识

M文本编辑器的基本知识 (1)M文本编辑器 M文件的语法类似于一般高级语言,是一种程序化的编程语言,但是,与传统的高级语言相比,M文件又有自己的特点。它只是一个简单的ASCⅡ型码文本文件,因此,它的语法比一般的高级语言要简单,程序也容易调试,并且有很好的交互性。 M文件的基本属性 M文件有两种,一种为脚本式(Script),一种为函数式(Function) 。 函数M文件必须满足一些标准,另外,它们还应该满足一些MATLAB 7的属性。主要有以下几点: 函数式M文件名和出现在文件的第一行的函数名必须相同。实际上,MATLAB 7忽略了第一行的函数名,并且根据存储在硬盘上的文件名来执行函数。 …… M文件的组成部分 函数式M文件的组成部分。 调出Medit窗口,在里边输入如下内容: function f = fact(n) %函数的定义行 % Compute a factorial value. %H1行

% FACT(N) returns the factorial of N, %帮助文本 % usually denoted by N! % Put simply, FACT(N) is PROD(1:N). %注释 f = prod(1:n); % 函数体 M文件的组成部分及其功能 (2)脚本式M文件

?用户可以将需要重复输入的所有命令按顺序放到一个扩展名为m的文本文件下,每次运行时只要输入该M文件的文件名即可。 ?用户自己创建的M文件的文件名要避免与MATLAB 7的内置函数和工具箱中的函数重名,以免发生内置函数被替换的情况。 脚本式M文件举例 ?本脚本式M文件绘制一个正弦曲线:– %此文件用于绘制【-2×pi,2×pi】区间的正弦曲线图 – x=-2*pi::2*pi; – y=sin(x); – plot(x,y,'c+') – legend('正弦曲线图')

MATLAB基本使用方法

MATLAB基本的使用方法 1.读取图像:用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 2.显示图像:用imshow显示图像 imshow(f,G) 其中f是图像矩阵,G是像素的灰度级,G可以省略。比如 >>imshow(f,[100200]) 图像上所有小于等于100的数值都会显示成黑色,所有大于等于200的数值都会显示成白色。pixval命令可以用来查看图像上光标所指位置的像素值。 pixval 例如 >>f=imread('rose_512.tif');>>whos f>>imshow(f) 如果要同时显示两幅图像,可以用figure命令,比如 >>figure,imshow(g) 用逗号可以分割一行中的多个命令。imshow的第二个参数用一个空的中括号: >>imshow(h,[])可以使动态范围比较窄的图像显示更清楚。 3.写图像。用imwrite写图像 imwrite(f,'filename') 文件名必须包括指明格式的扩展名。也可以增加第三个参数,显式指明文件的格式。比如>>imwrite(f,'patient10_run1.tif','tif')

matlab常用操作

常用的快捷键(用【】表示)或命令:1.在命令窗口(Command Window)中: 1)【上、下键】――切换到之前、之后的命令,可以重复按多次来达到你想要的命令 2)clc——清除命令窗口显示的语句,此命令并不清空当前工作区的变量,仅仅是把屏幕上显示出来的语句清除掉 3)clear――这个才是清空当前工作区的变量命令,常用语句clear all来完成 4)【Tab】键――(转自版友心灯)在 [email]matlab@https://www.doczj.com/doc/1410901070.html,[/email]看到的:在command窗口,输入一个命令的前几个字符,然后按tab键,会弹出前面含这几个字符的所有命令,找到你要的命令,回车,就可以自动完成。目前讨论结果是:matlab6.5版本中,如果候选命令超过100个,则不显示。而在matlab7以后版本中,则没有这个限制,均可正常提示 5)【Ctrl+C】(或【Ctrl+Break】)――(转自版友yangjin_ren)在matlab程序运行过程中,可能由于程序编写的失误,导致程序不停的运行,在命令窗口输入“Ctrl+C”可以将运行的程序停下来,而不需要将整个Matlab程序关掉。不过进行此操作的前提是能够激活切换到命令窗口才行,呵呵。

2.在编辑器(Editor)中: 1)【Tab】(或【Ctrl+]】)――增加缩进(对多行有效) 2)【Ctrl+[】--减少缩进(对多行有效) 3)【Ctrl+I】--自动缩进(即自动排版,对多行有效) 4)【Ctrl+R】――注释(对多行有效) 5)【Ctrl+T】――去掉注释(对多行有效) 6)【Ctrl+B】――括号配对检查(对版本6.5有效,但版本7.0无效,不知道是取消了还是换了另外的快捷键,请大牛们指点,其他版本没有测试过) 7)【F12】――设置或取消断点 8)【F5】――运行程序 matlab常用图像操作(2009-3-1522:54:00) 【收藏】【评论】【打印】【关闭】 一.读写图像文件 1.imread imread函数用于读入各种图像文件,如:a=imread('e:\w01.tif')

MATLAB基本使用方法

基本使用方法 一、简单数学运算 (一)计算器使用方法 a)直接输入法 0.5*pi*5^2 b)存储变量法 a=0.5*pi*5^2 注意: 1)空格不处理 2)遵守四则运算法则 3)多重括号,从里向外运算 4)小括号代表运算级别,中括号生成向量和数组,花括号生成单元数组(二)数学运算符

(三)标点符号的使用 >> a = [1,2,3;4,5,6;7,8,9] 二、常用命令和快捷键

三、数据类型 (一)整数 >>x = int8(50) >>class(x) >>y = 50 >>class(y) 注意: 1)MATLAB默认数据类型为双精度型,定义其它变量类型时需要指定类型 2)整型除法运算时,系统先以双精度进行运算,将结果转为整型 3)不同整型数据不能运算 4)运算结果超出上限或下限,结果取值上限或下限 >>x = int8(100) >>y = int8(90) >>z = x + y (二)浮点数 单精度和双精度浮点数 >>a = single(10.01) >>b = double(10.01) >>class(a) >>class(b) >>eps(‘single’) >>eps(‘double’) >>realmin(‘single’) >>realmax(‘single’) >>realmin(‘double’) >>realmax(‘double’)

(三)复数 >> a = 1 + 2i >> b = complex(1,2) >> c1 = int8([1;2;3;4]) >> c2 = int8([5;6;7;8]) >> c3 = complex(c1,c2) >> d1 = 1 + 0i >> d2 = complex(8,0) >> d3 = complex(9) >> isreal(d1) >> isreal(d2) >> isreal(d3) (四)逻辑变量 1:真; 0:假 >> a = [true, false, true, true, false] >> b1 = magic(3) >> b2 = b1 > 5 >> b3 = sparse(b2) >> d1 = islogical(b1) >> d2 = islogical(b2) >> d3 = islogical(b3) >> A = rand(5) >> B = A>0.5 >> A(B) = 0 >> A = magic(4) >> B = isprime(A) >> A(~B) = 0

实验1 基于Matlab的数字信号处理基本操作

实验一 基于Matlab 的数字信号处理基本操作 一、 实验目的:学会运用MA TLAB 表示的常用离散时间信号;学会运用MA TLAB 实现离 散时间信号的基本运算。 二、 实验仪器:电脑一台,MATLAB6.5或更高级版本软件一套。 三、 实验内容: (一) 离散时间信号在MATLAB 中的表示 离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列通常用)(n x 来表示,自变量必须是整数。 离散时间信号的波形绘制在MATLAB 中一般用stem 函数。stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。如果要实心,需使用参数“fill ”、“filled ”,或者参数“.”。由于MATLAB 中矩阵元素的个数有限,所以MA TLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。 1. 单位取样序列 单位取样序列)(n δ,也称为单位冲激序列,定义为 ) 0() 0(0 1)(≠=?? ?=n n n δ 要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n =0处是取确定的值1。在MATLAB 中,冲激序列可以通过编写以下的impDT .m 文件来实现,即 function y=impDT(n) y=(n==0); %当参数为0时冲激为1,否则为0 调用该函数时n 必须为整数或整数向量。 【实例1-1】 利用MATLAB 的impDT 函数绘出单位冲激序列的波形图。 解:MATLAB 源程序为 >>n=-3:3; >>x=impDT(n); >>stem(n,x,'fill'),xlabel('n'),grid on >>title('单位冲激序列') >>axis([-3 3 -0.1 1.1]) 程序运行结果如图1-1所示。 图1-1 单位冲激序列

MATLAB 操作手册 常用快捷键大全

常用对象操作:除了一般windows窗口的常用功能键外。 1、!dir 可以查看当前工作目录的文件。!dir&可以在dos状态下查看。 2、who 可以查看当前工作空间变量名,whos 可以查看变量名细节。 3、功能键: 功能键快捷键说明 方向左键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( ) 返回复数的相位角

相关主题
文本预览
相关文档 最新文档