(完整版)matlab中使用结构体汇总

(完整版)matlab中使用结构体汇总
(完整版)matlab中使用结构体汇总

matlab中使用结构体

结构(struct)数组

要在MALTAB中实现比较复杂的编程,就不能不用struct类型。而且在MATLAB中实现struct比C中更为方便。

4. 3.1 结构数组的创建

MATLAB提供了两种定义结构的方式:直接应用和使用struct函数。

1. 使用直接引用方式定义结构

与建立数值型数组一样,建立新struct对象不需要事先申明,可以直接引用,而且可以动态扩充。比如建立一个复数变量x:

x.real = 0; % 创建字段名为real,并为该字段赋值为0

x.imag = 0 % 为x创建一个新的字段imag,并为该字段赋值为0 x =

real: 0

imag: 0

然后可以将旗动态扩充为数组:

x(2).real = 0; % 将x扩充为1×2的结构数组

x(2).imag = 0;

在任何需要的时候,也可以为数组动态扩充字段,如增加字段scale:x(1).scale = 0;

这样,所有x都增加了一个scale字段,而x(1)之外的其他变量的scale字段为空:

x(1) % 查看结构数组的第一个元素的各个字段的内容

ans =

real: 0

imag: 0

scale: 0

x(2) % 查看结构数组的第二个元素的各个字段的内容,注意没有赋值的字段为空

ans =

real: 0

imag: 0

scale: []

应该注意的是,x的real、imag、scale字段不一定是单个数据元素,它们可以是任意数据类型,可以是向量、数组、矩阵甚至是其他结构变量或元胞数组,而且不同字段之间其数据类型不需要相同。例如:

clear x; x.real = [1 2 3 4 5]; x.imag = ones(10,10);

数组中不同元素的同一字段的数据类型也不要求一样:

x(2).real = '123';

x(2).imag = rand(5,1);

甚至还可以通过引用数组字段来定义结构数据类型的某字段:

x(3).real = x(1); x(3).imag = 3; x(3)

ans =

real: [1x1 struct]

imag: 3

下面看一个实际的例子来熟悉直接引用方式定义与显示结构。

【例4.3.1-1】温室数据(包括温室名、容量、温度、湿度等)的创建与显示。

(1)直接对域赋值法产生结构变量

green_https://www.360docs.net/doc/1516575505.html, = '一号温室'; % 创建温室名字段

green_house.volume = '2000立方米'; % 创建温室容量字段green_house.parameter.temperature = [31.2 30.4 31.6

28.7 % 创建温室温度字段

29.7 31.1 30.9 29.6];

green_house.parameter.humidity = [62.1 59.5 57.7

61.5; % 创建温室湿度字段

62.0 61.9 59.2 57.5];

(2)显示结构变量的内容

green_house % 显示结构变量结构

green_house =

name: '一号温室'

volume: '2000立方米'

parameter: [1x1 struct]

green_house.parameter % 用域作用符号. 显示指定域(parameter)中内容

ans =

temperature: [2x4 double]

humidity: [2x4 double]

green_house.parameter.temperature % 显示temperature 域中的内容

ans =

31.2000 30.4000 31.6000 28.7000

29.7000 31.1000 30.9000 29.6000

【例4.3.1-2】在上例的基础上,创建结构数组用以保存一个温室群的数据。

green_house(2,3).name = '六号温室'; %产生2×3结构数组green_house % 显示结构数组的结构

green_house =

2x3 struct array with fields:

name

volume

parameter

green_house(2,3) % 显示结构数组元素的结构

ans =

name: '六号温室'

volume: []

parameter: []

2. 使用struct函数创建结构

使用struct函数也可以创建结构,该函数产生或吧其他形式的数据转换为结构数组。

struct的使用格式为:

s = sturct('field1',value s1,'field2',values2,…);

该函数将生成一个具有指定字段名和相应数据的结构数组,其包含的数据values1、valuese2等必须为具有相同维数的数据,数据的存放位置域其他结构位置一一对应的。对于struct的赋值用到了元胞数组。数组values1、values2等可以是元胞数组、标量元胞单元或者单个数值。每个values的数据被赋值给相应的field字段。当valuesx为元胞数组的时候,生成的结构数组的维数与元胞数组的维数相同。而在数据中不包含元胞的时候,得到的结构数组的维数是1×1的。例如:

s =

struct('type',{'big','little'},'color',{'blue','red'},'x',{3,4}) s =

1x2 struct array with fields:

color

x

得到维数为1×2的结构数组s,包含了type、color和x共3个字段。这是因为在struct函数中{'big','little'}、{'blue','red'}和{3,4}都是1×2的元胞数组,可以看到两个数据成分分别为:

s(1,1)

ans =

type: 'big'

color: 'blue'

x: 3

s(1,2)

ans =

type: 'little'

color: 'red'

x: 4

相应的,如果将struct函数写成下面的形式:

s =

struct('type',{'big';'little'},'color',{'blue';'red'},'x',{3;4}) s =

2x1 struct array with fields:

type

x

则会得到一个2×1的结构数组。

下面给出利用struct构建结构数组的具体实例。

【例4.3.1-3】利用函数struct,建立温室群的数据库。

(1)struct预建立空结构数组方法之一

a = cell(2,3); % 创建2×3的元胞数组

green_house_1=struct('name',a,'volume',a,'parameter',a( 1,2))

green_house_1 =

2x3 struct array with fields:

name

volume

parameter

(2)struct预建空结构数组方法之二

green_house_2=struct('name',a,'volume',[],'parameter',[] )

green_house_2 =

2x3 struct array with fields:

name

volume

parameter

(3)struct预建空结构数组方法之三

green_hopuse_3(2,3)=struct('name',[],'volume',[],'param eter',[])

green_hopuse_3 =

2x3 struct array with fields:

name

volume

parameter

(4)struct创建结构数组方法之四

a1={'六号房'};a2={'3200立方米'};

green_house_4(2,3)=struct('name',a1,'volume',a2,'param eter',[]);

T6=[31.2,30.4,31.6,28.7;29.7,31.1,30.9,29.6]; g reen_house_4(2,3).parameter.temperature=T6; green_house_4

ans =

2x3 struct array with fields:

name

volume

parameter

4. 3.2 结构数组的操作

MATLAB中专门用于对结构数组的操作的函数并不多,通过help datatypes获取数据类型列表,可以看到其中的结构数据类型的有关的函数,主要如表4.3.1所示。

表4.3.1 结构数组的操作函数

函数名功能描述函数名功能描述

deal 把输入处理成输出fieldnames 获取结构的字段名getfield 获取结构中指定字段的值rmfield 删除结构的字段(不是字段内容)

setfield 设置结构数组中指定的字段的值struct 创建结构数组

struct2cell 结构数组转化成元胞数组isfield 判断是否存在

该字段

isstruct 判断某变量是否是结构类型

下面举一些具体的例子说明如果对结构数组加以操作。

【例4.3.2-1】本例目的:一,演示函数fieldnames , getfield , setfield的使用方法;二,让读者感受到结构数组对应用工具包的影响;三,演示struct函数把“对象”转换为结构的应用。本例为获得一个演练的结构,借助Toolbox control 工具包中的tf函数,先产生一个用传递函数描写的LTI线性时不变2输入2输出系统。(1)产生2输入2输出系统的传递函数阵“对象”

Stf=tf({3,2;[4 1],1},{[1 3 2],[1 1 1];[1 2 2 1],[1 0]})

Transfer function from input 1 to output...

3

#1: -------------

s^2 + 3 s + 2

4 s + 1

#2: ---------------------

s^3 + 2 s^2 + 2 s + 1

Transfer function from input 2 to output...

2

#1: -----------

s^2 + s + 1

1

#2: -

s

(2)为本例演示,把上述的LTI对象Stf转换为结构

SSTF=struct(Stf) % 把对象转换成结构,并显示结构的组成SSTF =

num: {2x2 cell}

den: {2x2 cell}

Variable: 's'

lti: [1x1 lti]

(3)获得结构数组SSTF的域名

FN=fieldnames(SSTF) % 获得域名元胞数组FN

class(FN) % 检查FN的类别

FN =

'num'

'den'

'Variable'

'lti'

ans =

cell

(4)获取SSTF.den(2,1)域的内容

FC=getfield(SSTF,'den',{2,1}) % 相当于

FC=SSFT.den(2,1)

FC{1} % 与celldisp(FC)的作用大致相当

poly2str(FC{1},'s'), % 为了把多项式显示成习惯的形式FC =

[1x4 double]

ans =

1 2 2 1

ans =

s^3 + 2 s^2 + 2 s + 1

(5)重新设置SSTF.num(2,1)域的内容

SSTF.num{2,1} % 显示原始情况

SSTF=setfield(SSTF,'num',{2,1},{[1 3 1]}); % 注意“花括号”的使用

SSTF.num{2,1} % 显示被重新设置后的情况ans =

0 0 4 1

ans =

1 3 1

【例4.3.2-2】本例演示结构数组SSTF的扩充和收缩。(本例以例4.3.2-1的运行为基础。)

(1)原结构是一个“单结构”

size(SSTF)

ans =

1 1

(2)演示结构的扩充

SSTF(2,2)=struct(tf(1,[1 1])) % 把1/(s+1)放在第2行第2列结构中

size(SSTF)

SSTF =

2x2 struct array with fields:

num

den

Variable

lti

ans =

2 2

(3)演示结构数组的收缩:删除结构数组的第1行

SSTF(1,=[] % 收缩成为的结构

S22n=SSTF(1,2).num,S22d=SSTF(1,2).den % 取出第2结构num域和den域的内容

printsys(S22n{1},S22d{1}) % 显示成习惯的表达形式

SSTF =

1x2 struct array with fields:

num

den

Variable

lti

S22n =

[1x2 double]

S22d =

[1x2 double]

num/den =

1

-----

s + 1

【例4.3.2-3】对结构数组进行域的增添和删减操作。

(1)创建结构数组

clear,for

k=1:10;department(k).number=['No.',int2str(k)];end department

department =

1x10 struct array with fields:

number

(2)增添域:在数组中任何一个结构上进行的域增添操作,其影响遍及整个结构数组

department(1).teacher=40;department(1).student=300; department(1).PC_computer=40;

department

department =

1x10 struct array with fields:

number

teacher

student

PC_computer

(3)增添子域的操作只影响被操作的那个具体结构,而不是影响整个结构数组

department(2).teacher.male=35;department(2).teacher.f emale=13;

D2T=department(2).teacher % 第2结构teacher域包含两个子域

D1T=department(1).teacher % 第1结构teacher域仅是一个数

D2T =

male: 35

female: 13

D1T =

40

(4)删除子域的操作也只影响被操作的那个具体结构department(2).teacher=rmfield(department(2).teacher,'m ale');

department(2).teacher

ans =

female: 13

(5)删除域的操作是对整个结构数组实施的

department=rmfield(department,'student') % 删除一个域

department =

1x10 struct array with fields:

number

teacher

PC_computer

department=rmfield(department,{'teacher';'PC_computer' })% 删除2个域

department =

1x10 struct array with fields:

number

【例4.3.2-4】数值运算操作和函数在结构域上的作用。

n_ex = 5; % 结构数组的长度

for k = 1:n_ex, % 创建1×5结构数组

ex(k).f = (k-1)*n_ex + [1:5];

end;

ex % 显示结构数组的结构

ex =

1x5 struct array with fields:

f

%显示结构数组的域中内容

disp([blanks(10) '结构域中内容'])

for k=1:n_ex,disp(ex(k).f),end

结构域中内容

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

21 22 23 24 25

class(ex(1).f) % 检查域中内容的类型ans =

double

% 对各结构域中数值数组相应位置的数据相加求和sum_f=zeros(1,5)

for k=1:n_ex,sum_f=sum_f+ex(k).f;end,sum_f sum_f =

55 60 65 70 75

% 对结构数组域中各元素分别求平方根

disp([blanks(20) 'ex.f的平方根值'])

for k=1:n_ex,

disp(sqrt(ex(k).f)),

end

ex.f的平方根值

1.0000 1.4142 1.7321

2.0000 2.2361

2.4495 2.6458 2.8284

3.0000 3.1623

3.3166 3.4641 3.6056 3.7417 3.8730

4.0000 4.1231 4.2426 4.3589 4.4721

4.5826 4.6904 4.7958 4.8990

5.0000

【例4.3.2-5】指令struct2cell和cell2struct的使用。(1)创建“带2个域的结构数组”

for k=1:5,

ex(k).s=['No.' int2str(k)];

ex(k).f=(k-1)*5+[1:5];

end

(2)显示结构数组的内容

fprintf('%s\n','ex.s域的内容');fprintf('%s\',blanks(4)) for k=1:5;fprintf('%s\\',[ex(k).s blanks(1)]);end fprintf('%s\n',blanks(1)),fprintf('%s\n','ex.f域的内容') for k=1:5;disp(ex(k).f);end %显示ex.f域内容

ex.s域的内容

No.1 \No.2 \No.3 \No.4 \No.5 \

ex.f域的内容

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

21 22 23 24 25

(3)把ex结构数组转换为元胞数组

C_ex=struct2cell(ex); % 带2个域的(1×5)结构数组转换为(2×1×5)元胞数组

size(C_ex)

fprintf('%s\',[C_ex{1,1,1},blanks(3)]) % 显示C_ex第1页第1行第1列内容

fprintf('%5g\',C_ex{2,1,1}) % 显示C_ex第2页第1行第1列内容

ans =

2 1 5

No.1 1 2 3 4 5

(4)把元胞数组转换为结构数组之一

FS={'S_char';'F_num'}; % 用元胞数组预建域名字符串EX1=cell2struct(C_ex,FS,1) % 元胞数组向结构数组转换EX1 =

1x5 struct array with fields:

S_char

F_numric

EX1(1) % 观察新结构EX1第一结构的情况

ans =

S_char: 'No.1'

F_numric: [1 2 3 4 5]

(5)把元胞数组转换为结构数组之二

EX2=cell2struct(C_ex,'xx',2)

EX2 =

2x5 struct array with fields:

xx

(6)把元胞数组转换为结构数组之三

YY=strvcat('y1','y2','y3','y4','y5');EX3=cell2struct(C_ex,Y Y,3)

EX3 =

2x1 struct array with fields:

y1

y2

y3

y4

y5

EX3(1) % 观察第一结构情况

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 常用函数汇总 编程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 变状态空间表示为零极点表示

实验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中的单元阵列与结构体及其区别

1、什么是单元阵列? 单元阵列又叫cell(元胞)阵列,以前见过“元胞数组”一词,其实是可以理解成阵列的,比如二维数组,可以理解成2行n列的矩阵或阵列。 2、单元/元胞阵列是如何构成的呢? 我们都熟悉阵列或矩阵的构成,比如一个m*n大小的矩阵,那么它有m行、n列,共有m*n个元素。如果我们只在实数范围内考虑,那么对应的每一个元素就是一个实数,这是一般的实矩阵。单元阵列也可以有m行n列,对应有m*n个元素。所不同的是单元阵列中每个元素是一个cell(元胞),而每个cell可以由不同数据格式的矩阵构成,构成每个cell的矩阵大小也可以不同,可以是一个元素,也可以是一个向量,也可以是一个多维数组。 3、如何创建一个单元阵列? 可使用cell函数创建一个空的单元阵列,具体可参考MATLAB中 help cell内容。也可以使用大括号创建,比如我们要创建一个1x3的单元阵列c,则c={A sum(A) prod(prod(A))},可以把A设为一个向量,具体各cell数据类型读者可以用 c{1}/c{2}/c{3}读出来然后使用whos函数自己验证。其中prod 是求积,若A为一个数组(或一维向量),则一个prod后即可求出所有元素之积,第二个prod则还为原结果。若A为一个矩阵,

则第一个prod后针对各列求积,结果保留为一个数组,第二个prod则对该数组所有元素再求积,那么两个prod的结果即为对矩阵所有元素求积。 4、什么是结构体及其构成? 结构体可以理解为一种特殊的数据类型。一个结构体有若干结构变量或者域构成。每个结构变量/域类似于一个cell,结构变量可以由不同数据类型的数组构成,比如字符串、整型、浮点数……。此处只是可以借用cell的形式来理解结构变量,但二者绝不等同。 5、如何创建结构体? 可以使用struct函数创建结构体。我们定义结构体为 str_array, 则str_array=struct('field1',val1,'field2',val2,……),其中field1、field2为域名,val1、val2为具体值。 6、单元阵列与结构体的不同之处。 结构体(也可称为结构体阵列)中可以使用域名来访问数据,而在单元阵列中则使用矩阵的索引操作。

MATLAB常用指令

MATLAB常用指令 1.常用命令-->管理命令和函数 addpath 添加目录到MATLAB搜索路径 doc 在Web浏览器上现实HTML文档 help 显示Matlab命令和M文件的在线帮助 helpwin helpdesk help lookfor 在基于Matlab搜索路径的所有M文件中搜索关键字partialpath 部分路径名 path 所有关于路径名的处理 pathtool 一个不错的窗口路径处理界面 rmpath 删除搜索路径中指定目录 type 显示指定文件的内容 ver 版本信息 version 版本号 web 打开web页 what 列出当前目录吓所有的M文件Mat文件和Mex文件whatsnew 显示readme文件 which 显示文件位置 (返回) 2.常用命令-->管理变量和工作区(输入输出、内存管理等) clear 从内存中删除 disp 显示文本或数组内容 length 数组长度(最长维数) load 重新载入变量(从磁盘上) mlock 锁定文件,防止文件被错误删除 munlock 解锁文件 openvar 在数组编辑器中打开变量 pack 整理内存空间 save 保存变量到文件8*) size 数组维数 who 列出内存变量 whos 列出内存变量,同时显示变量维数 workspace 显示工作空间窗口 (返回) 3.常用命令-->管理命令控制窗口(command窗口) clc 清空命令窗口 echo 禁止或允许显示执行过程 format 设置输出显示格式 home 光标移动到命令窗口左上角 more 设置命令窗口页输出格式 (返回)

(完整版)matlab中使用结构体汇总

matlab中使用结构体 结构(struct)数组 要在MALTAB中实现比较复杂的编程,就不能不用struct类型。而且在MATLAB中实现struct比C中更为方便。 4. 3.1 结构数组的创建 MATLAB提供了两种定义结构的方式:直接应用和使用struct函数。 1. 使用直接引用方式定义结构 与建立数值型数组一样,建立新struct对象不需要事先申明,可以直接引用,而且可以动态扩充。比如建立一个复数变量x: x.real = 0; % 创建字段名为real,并为该字段赋值为0 x.imag = 0 % 为x创建一个新的字段imag,并为该字段赋值为0 x = real: 0 imag: 0 然后可以将旗动态扩充为数组: x(2).real = 0; % 将x扩充为1×2的结构数组 x(2).imag = 0; 在任何需要的时候,也可以为数组动态扩充字段,如增加字段scale:x(1).scale = 0;

这样,所有x都增加了一个scale字段,而x(1)之外的其他变量的scale字段为空: x(1) % 查看结构数组的第一个元素的各个字段的内容 ans = real: 0 imag: 0 scale: 0 x(2) % 查看结构数组的第二个元素的各个字段的内容,注意没有赋值的字段为空 ans = real: 0 imag: 0 scale: [] 应该注意的是,x的real、imag、scale字段不一定是单个数据元素,它们可以是任意数据类型,可以是向量、数组、矩阵甚至是其他结构变量或元胞数组,而且不同字段之间其数据类型不需要相同。例如: clear x; x.real = [1 2 3 4 5]; x.imag = ones(10,10); 数组中不同元素的同一字段的数据类型也不要求一样: x(2).real = '123'; x(2).imag = rand(5,1);

Matlab使用单元数组和结构数组

Matlab使用单元数组(cell array)和结构数组(struct array) 要在MALTAB中实现比较复杂的编程,就不能不用单元数组(cell array)和结构数组(structarray)。而且在Matlab中实现struct比C中更为方便。 一. 单元数组 单元数组中的每一个元素称为单元(cell). 单元可以包含任何类型的matlab数据, 这些数据类型包括数值数组, 字符, 符号对象, 甚至其他的单元数组和结构体. 不同的单元可以包含不同的数据. 1.1单元数组创建与显示: 1、直接赋值法:按单元索引法和按内容索引法。(其实也就是将花括号放在等式的右边或是左边的区别)。注意:“按单元索引法”和“按内容索引法”是完全等效的,可以互换使用。通过下面实例,我们看到:花括号{}用于访问单元的值,而括号()用于标识单元(即:不用于访问单元的值)。具体理解{}和()区别可以在下面代码最后分别输入A{2,2}和A(2,2)。就会发现“按内容索引法{}”能显示完整的单元内容,而“按单元索引法()”有时无法显示完整的单元内容。 >> A(1,1)={[1 2 3; 4 5 6;7 8 9]}; % 按单元索引法 >> A(1,2)={2+3i}; >> A(2,1)={'A character'}; >> A(2,2)={12:-2:0}; >> A%要想详细显示A中的内容,可用指令:celldisp(A) A = [3x3 double] [2.0000 + 3.0000i] 'A character' [1x7 double] >> B{1,1}=[1 2 3;4 5 6;7 8 9]; % 按内容索引法。 >> B{1,2}=2+3i; >> B{2,1}='A character'; >> B{2,2}=12:-2:0; >>B B = [3x3 double] [2.0000 + 3.0000i] 'A character' [1x7 double] 2、利用cell函数法:即首先用cell函数生成一个空的单元数组,然后再向其中添加所需的数据。下面的代码生成一个2X3的空单元数组: >> C=cell(2,3) C = [] [] [] [] [] [] 利用cell生成空单元数组后,可以采用“按单元索引法”和“按内容索引法”对其进行赋值。在赋值时,用户一定要注意{}和()的用法。 >> C(1,1)={'This does work'} C = 'This does work' [] [] [] [] [] >> C{2,3}='This work' C = 'This does work' [] [] [] [] 'This work'

实验1 MATLAB使用方法和程序设计

实验1 MATLAB 使用方法和程序设计 一、实验目的 1、掌握MATLAB 软件使用的基本方法。 2、熟悉MATLAB 的数据表示、基本运算和程序控制语句。 3、熟悉MATLAB 绘图命令及基本绘图控制。 4、熟悉MATLAB 程序设计的基本方法。 二、实验内容 1.帮助命令 使用Help 命令,查找sqrt (开方)函数的使用方法。 2、矩阵运算 (1)矩阵乘法 已知A=[1 2;3 4];B=[5 5;7 8]; 求A^2*B 。 (2) 矩阵除法 已知A=[1 2 3;4 5 6;7 8 9];B=[1 0 0;0 2 0;0 0 3]; 求A\B,A/B 。 (3) 矩阵的转置及共轭转置 已知A=[5+i ,2-i ,1;6*i ,4,9-i];求A.’,A ’ 。 (4)使用冒号选出指定元素 已知A=[1 2 3 ; 4 5 6 ; 7 8 9]; 求A 中第3列前2个元素;A 中所有列第2,3行的元素。 (5)方括号[] 用magic 函数生成一个4阶魔术矩阵,删除该矩阵的第四列。 3、多项式 (1)求多项式p(x)=x 3-2x-4的根。 (2)求 f (x) = (cos x)2 的一次导数。 (3)求微分方程 的通解,并验证。 4、基本绘图命令 (1)绘制余弦曲线cost =y , ]2,0[π∈t 。 (2)在同一坐标系中绘制余弦曲线 0.25)-cos(t =y 和正弦曲线 )5.0sin(-=t y ,]2,0[π∈t (3)用plot3函数绘制三维螺线: 22x dy xy xe dx -+= sin()cos()x t y t z t =??=??=?( 0 < t < 20 )

MATLAB环境熟悉及基本操作

实验一 MA TLAB 环境熟悉及基本操作 1. 命令窗口运行入门 1-1 求2 ))39(212(2 -*+的算术运算结果 1-2 简单矩阵A 的生成 1-3 绘制图形比较函数曲线5432x x x x 、、、,要求(一)四个曲线在一个图形文件窗口(二) 子图 2. 命令窗口常用的基本操作 1-4 若用户想计算51) 2sin(21+=πy ,51) 2cos(22+=πy 的值 1-5 变量的保存:save 和load 命令,将已生成的变量保存,名为×××,存入目录C :\my_dir 3. 系统的在线帮助 1-6 help sqrt/help syntax/help (回车) 1-7 lookfor line(查找与直线、线性问题有关的函数) 1-8 help 菜单 实验二 数组(矩阵)及其运算 2-1 用户不能清除的固定变量ans 、eps 、pi 、i 、j 、NaN 、Inf 等 如>>eps Ans=2.2204e-016 2-2 矩阵的创建 (1)>>a=[1 2 3;4 5 6;7 8 9] >>a=[1:2;4:6;7:9]; a1=1:6 (2)利用MA TLAB 内部函数产生矩阵 >>b=eye(3) >>c=ones(2,5) >>d=zeros(3,2) >>e=linspace(-3,6,10) %注意三个参数的含义 >>f=logspace(1,6,5) %注意三个参数的含义 >>R=rand(1,6) (3) 访问元素 >>aa=a(1,2)+a(2,3) >>bb=a(4)+a(8) >>a(end-2:end,2) %在下标中可以直接用end 表示这一维的最后一个元素 (4) 矩阵操作 >>A=[1,2,3;4,5,6;7,8,9] >>B=diag(A) >>C=diag(B) >>D=rot90(A) >>E=reshape(D,1,9) %注意这三个参数的含义 2-3 矩阵运算 (1)算术运算 + - * / \ ^ ‘

matlab 元胞与结构体详解

matlab 元胞与结构体详解 分类:Matlab2011-07-13 20:12979人阅读评论(0)收藏举报用户可以通过两种方式创建一个单元数组:一是通过赋值语句直接创建;二是利用cell 函数先为单元数组分配一个内存空间,然后再给各个单元赋值。 直接赋值法通过给每个单元逐个赋值来创建单元数组。单元数组用花括号表示,在赋值时需要将单元内容用花括号(即{ }) 括起来。 使用cell 函数创建单元数组的步骤为:首先用cell 函数创 建一个空的单元数组,然后再为数组元素赋值。 使用圆括号和花括号对单元数组索引的不同,当采用圆括号时表示的是该单元,而采用花括号时则表示的是单元的内容。在MATLAB单元数组索引中,圆括号用于标志单元,花 括号用于按单元寻址。 若要显示单元数组的内容,可以用celldisp函数。celldisp 函数用于显示单元数组的全部内容,有时候只需要显示单元数组的一个单元,可以使用花括号对单元进行索引。

Matlab支持以图形方式查看的数组单元的内容,使用cellplot 函数,需要注意的是,cellplot只能用于显示二维单元数组的内容。 与单元数组类似,结构体也有两种生成方式,一种是直接输入,另一种是使用结构体生成函数struct. 通过直接输入结构体各元素的方法可以创建一个结构体,输入的同时定义该元素的名称,并使用“.”将变量名与元素名连接。 使用结构体struct函数生成结构体,struct函数的最基本的使用方式是struct_name = struct('field',V1,'field2',V2,...),其中field 是各成员的变量名,Vn为对应的各成员变量的内容。

matlab基本使用方法

1-1、基本运算与函数 在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter键即可。例如:>> (5*2+1.3-0.8)*10/25 ans =4.2000 MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上。小提示: ">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。 我们也可将上述运算式的结果设定给另一个变数x: x = (5*2+1.3-0.8)*10^2/25 x = 42 此时MATLAB会直接显示x的值。由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。 小提示: MATLAB将所有变数均存成double的形式,所以不需经过变数宣告(Variable declaration)。MATLAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定.这些功能使的MATLAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。 若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例: y = sin(10)*exp(-0.3*4^2); 若要显示变数y的值,直接键入y即可: >>y y =-0.0045 在上例中,sin是正弦函数,exp是指数函数,这些都是MATLAB常用到的数学函数。 下表即为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。 > 小整理:MATLAB常用的三角函数 sin(x):正弦函数 cos(x):馀弦函数 tan(x):正切函数

实验1 MATLAB集成环境使用

实验四浸出制剂的制备 实验一 MATLAB集成环境使用实验目的: 1.熟悉MATLAB的基本环境 2.掌握MATLAB的基本命令 3.掌握简单线性方程组的求解 4.掌握MATLAB的行编辑和页面编辑 实验内容与要求 1.观察MATLAB 的基本环境,熟悉菜单和工具栏 2.MATLAB基本命令的使用 a.运行demos, 观看演示程序 b.工作空间管理命令: who , whos , clear , which , quit ,exit workspace c.路径编辑命令: path, cd ,addpath rmpath d.显示格式命令: type wall.m , more on , type coneball.m , more off ,type coneball.m e.窗口清理命令: coneball2 clc cla clf close f. 操作系统命令: copyfile pwd dir delete mkdir g. 联机帮助命令:help help . helpwin lookfor zoom which rguizoom help rguizoom what ver signal 3.简单线性方程组的求解 以学号 208040401 为例 A=[ 2 0 8 0 4 0 4 0 1] b=[ 208 40 401] x==A\b 4.行编辑与页面编辑 a.键入magic(4) 使用,调出该命令,并改变为magic(6)执行. b.执行coneball命令 edit命令, 打开coneball.m文件 改变文件中的半径和高, 存盘后,重新执行该命令,比较前后的不同. 页脚内容1

MATLAB常用命令检索大全

MATLAB命令 MATLAB COMMANDS AND FUNCTIONS LIST 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 射线图 COMPOSE 求复合函数 COND (逆)条件数 CONDEIG 计算特征值、特征向量同时给出条件数CONDEST 范-1条件数估计

matlab函数用法

gscatter画散点图 gscatter函数可以按分类或分组来画离散点,适用于画多个类别的离散样本分布图。 使用方法: gscatter(x,y,group) gscatter(x,y,group,clr,sym,siz) gscatter(x,y,group,clr,sym,siz,doleg) gscatter(x,y,group,clr,sym,siz,doleg,xnam,ynam) h = gscatter(...) 函数中,x和y是向量,是该点的x轴和y轴坐标,因为画在二维平面上,所以,如果是多维数据,只能从中选取两特征作为x,y坐标来代表点,或者使用特定的降维投影函数来得到x,y。 group是类别标志或分组向量,对应每一个坐标或样本的类别或分组,可以是多分类样本。clr是点的颜色字符串序列,如“r”代表红色之类,可以不用,所以不做详细介绍了。 使用案例: A=magic(6) group=[1,2,3,3,2,3] gscatter(A(:,1),A(:,2),group) MATLAB中的单元阵列与结构体及其区别 1、什么是单元阵列? 单元阵列又叫cell(元胞)阵列,以前见过“元胞数组”一词,其实是可以理解成阵列的,比如二维数组,可以理解成2行n列的矩阵或阵列。 2、单元/元胞阵列是如何构成的呢? 我们都熟悉阵列或矩阵的构成,比如一个m*n大小的矩阵,那么它有m行、n列,共有m*n个元素。如果我们只在实数范围内考虑,那么对应的每一个元素就是一个实数,这是一般的实矩阵。单元阵列也可以有m行n列,对应有m*n个元素。所不同的是单元阵列中每个元素是一个cell(元胞),而每个cell可以由不同数据格式的矩阵构成,构成每个cell的矩阵大小也可以不

MATLAB的实验环境及基本命令

实验一 MATLAB 的实验环境及基本命令 一实验目的: 1. 学习了解MATLAB 勺实验环境 2. 在MATLA 系统命令窗口练习有关 MATLAB^令的使用。 二实验步骤 1. 学习了解MATLAB 勺实验环境: 在 Windows 桌面上,用 mouse 双击MATLAB!标,即可进入 MATLA 啲默认界面: 图1-1 MATLAB 系统命令窗口 MATLAB 勺默认界面由三部分组成: ① Comma nd Win dows 命令窗口 ② Comma nd History 历史窗口 ③ Workspace 工作空间 2. 练习MATLA 療统命令的使用。 ①表达式 MATLAB 勺表达式由变量、数值、函数及操作符构成。实验前应掌握有关变量、数值、函数及操作 符的有关内容及使用方法。 三实验内容 练习1-1 :计算下列表达式: 要求计算完毕后,键入相应的变量名,查看并记录变量的值。 a=(1+{10)/2 b=|3+5| c=sin(e±) d = 250 /sin ( ’) 实验过程及结果:a=(1+sqrt(10))/2 a =2.0811 b= abs(3+5*i) b =5.8310 c= si n(exp(-2.3)) c=0.1001 d=250/s in (pi/6) d=500.0000 ②.向量运算:n 维向量是由n 个成员组成的行或列数组。在 MATLA 中,由分号分隔的方括号中的元 素产生一个列向量;由逗号或空号分隔的方括号中的元素产生一个列向量;同维的向量可进行加减运 算,乘法须遵守特殊的原则。 练习1-2 已知:X=[2 ; -4 ; 8] 求:Y=R ; P=5*R; E=X* Y ; S=X * Y 实验过程及结果:R=[tan(pi/4),sqrt(9),-5] R=1.0000 3.0000 - Y=R' Y=1.0000 P=5*R P =5.0000 15.0000 -25.0000 R=1.0000 3.0000 -5.0000

Matlab中数据结构总结

参考链接:心心水滴论坛古木小永 主要数据结构包括数组,字符串,胞,结构体的用法,下面依次介绍 1数组 1.1数组的创建 创建数组的方法有很多,首先先讲一下如何手动去输入一个数组。比如我现在有两组数据,分别对应的是5个被试的身高以及体重,我想身高数据放在第一列,数据位 178,167,170,156,182,第二列数据为体重数据,其对应为65,50,63,70,67。我们想把这两组数据存在一个变量Data上,这个时候我们只要在matlab命令框中输入 >>Data = [178,65;167,50;170,63;156,70;182,67] → Data= 178 65 167 50 170 63 156 70 182 67 这里可以发现对于一堆数据的输入,可以先用一个中括号把所有数据括起来,一行的每个数据用逗号隔开或者可以通过空格,比如下面例子,行与行之间用分号隔开。 Data2 = [1 2 3;4 5 6] → Data2= 1 2 3 4 5 6 如果每个数据都需要这样输入,那么会很麻烦,这里就提供了一些简单的方法来输入比较规整的数据。 1. >>A = 1:5 → A = 1 2 3 4 5 2. >>B = 1:2:10 → B = 1 3 5 7 9

可以看到如果我们想输入一列数据,并且这些数据是以等差数列的方式排布,我们就可以用a:b:c这样的形式来写,意思就是从a开始,每隔b有一个数据,然后写直到不大于c这样一组数。当然其中b可以省略,省略默认b的值为1。 1.2数组的合并(这里要用到上面的A,B变量) >> C = [A;B] → C = 1 2 3 4 5 1 3 5 7 9 >>D = [A,B] → D = 1 2 3 4 5 1 3 5 7 9 %其中A和B都是一个数组,如果其能保证对齐,那么这些数组是可以合并的,就好像上面的两条命令。可以发现如果用分号,那么合并的情况是以列的方式合并,如果用逗号,那么是以行的方式合并,这个和手动输入数组是一致的,只不过把前面的数字当成数组来操作就可以了。 1.3数组内部数据的取得(这里要用到前面的Data变量) 输入的方法我们有了,但我们如何来取出一个数据呢?先看看命令 >>Data(4,1) → ans = 156 如何取出一行数据 >>Data(3,:) → ans = 170 63 %和上面所说的一样,前面那个数代表行数,后面如果我们想取所有的数据,只需要在逗号后面写1:end就可以了,也就是第三行的对应的第一列到最后一列的数据,可以简写为一个冒号。同理比如取出第一列的数据可以写成 >>Data(1:end,1) 或者 Data(:,1) 但我们有的时候不希望取出一整列的数据,而是想选出某列当中的几行数据,这个时候我们就可以发现其实数据取得前面是管行,后面是管列,并且看到1:end这个就可以联想到我们前面所演示的如何输入规整的数组。说白了这个1:end其实就是一个数组,如果是这样,我们就可以以此类推,如果我想输出第二列的第一,三,五行数据,那么命令就是 >>Data([1,3,5],2)

matlab命令大全

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( ) 开方

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

实验1 MATLAB 环境及命令窗口的使用(1)

实验一 MATLAB 环境及命令窗口的使用 一、实验目的: 1.掌握MA TLAB语言的特点 2.熟悉MA TLAB的工作环境 3.掌握MA TLAB的基本操作 二、实验内容和步骤: MATLAB语言有以下特点: (1)最基本的数据结构是矩阵,进行灵活方便的矩阵运算; (2)在工程计算和仿真中有着广泛的应用; (3)在数学语言与解释方面表现出人机交互的高度一致。 MATLAB是一上优秀的高技术算环境,主要表现在以下方面: (1)高质量高可靠的数值计算能力 (2)高级图形和可视化数据处理能力 (3)拥有一个强大的动态系统仿真建模工具箱 (4)支持科学和工程计算标准的开放式和可扩充 (5)跨平台兼容 (6)拥有功能强大专业化的实用工具 1.启动MATLAB MATLAB运行界面称为MATLAB操作界面(MATLAB Desktop),默认的操作界面如图1.1所示。

2.使用命令窗口 在命令窗口中可键入各种MATLAB的命令、函数和表达式,并显示除图形外的所有运算结果。 (1) 命令行的显示方式 ●命令窗口中的每个命令行前会出现提示符“>>”。 ●命令窗口内显示的字符和数值采用不同的颜色,在默认情况下,输入的命令、表达 式以及计算结果等采用黑色字体; ●字符串采用赭红色;“if”、“for”等关键词采用蓝色。 在命令窗口中输入不同的数值和语句,并查看其显示方式。 >> a=2012

a = 2012 >> b='Hello,World' b = Hello,World (2) 命令窗口中命令行的编辑 MATLAB命令窗口不仅可以对输入的命令进行编辑和运行,而且可以对已输入的命令进行回调、编辑和重运行。常用操作键如下表所示。 命令窗口中行编辑的常用操作键 键名作用键名作用 ↑向前调回已输入过的命令行Home 使光标移到当前行的开头 ↓向后调回已输入过的命令行End 使光标移到当前行的末尾 ←在当前行中左移光标Delete 删去光标右边的字符 →在当前行中右移光标Backspace 删去光标左边的字符 PageUp 向前翻阅当前窗口中的内容Esc 清除当前行的全部内容 Page Down 向后翻阅当前窗口中的内容CTRL+C 中断MATLAB命令的运行 (3) 命令窗口中的标点符号 MATLAB常用标点符号的功能 名称符号功能 空格用于输入变量之间的分隔符以及数组行元素之间的分隔符。 用于要显示计算结果的命令之间的分隔符;用于输入变量之间的逗号, 分隔符;用于数组行元素之间的分隔符。 点号. 用于数值中的小数点。 用于不显示计算结果命令行的结尾;用于不显示计算结果命令之分号; 间的分隔符;用于数组元素行之间的分隔符。 冒号: 用于生成一维数值数组,表示一维数组的全部元素或多维数组的

matlab代码大全1

MATLAB主要命令汇总 MATLAB函数参考 附录1.1管理用命令 函数名功能描述函数名功能描述 addpath增加一条搜索路径rmpath删除一条搜索路径 demo运行Matlab演示程序type列出.M文件 doc装入超文本文档version显示Matlab的版本号 help启动联机帮助what列出当前目录下的有关文件 lasterr显示最后一条信息whatsnew显示Matlab的新特性lookfor搜索关键词的帮助which造出函数与文件所在的目录 path设置或查询Matlab路径 附录1.2管理变量与工作空间用命令 函数名功能描述函数名功能描述 clear删除内存中的变量与函数pack整理工作空间内存 disp显示矩阵与文本save将工作空间中的变量存盘 length查询向量的维数size查询矩阵的维数 load从文件中装入数据who,whos列出工作空间中的变量名 附录1.3文件与操作系统处理命令 函数名功能描述函数名功能描述 cd改变当前工作目录edit编辑.M文件 delete删除文件matlabroot获得Matlab的安装根目录 diary将Matlab运行命令存盘tempdir获得系统的缓存目录 dir列出当前目录的内容tempname获得一个缓存(temp)文件 !执行操作系统命令 附录1.4窗口控制命令 函数名功能描述函数名功能描述 echo显示文件中的Matlab中的命令more控制命令窗口的输出页面format设置输出格式 附录1.5启动与退出命令 函数名功能描述函数名功能描述 matlabrc启动主程序quit退出Matlab环境 startup Matlab自启动程序 附录2运算符号与特殊字符附录 2.1运算符号与特殊字符 函数名功能描述函数名功能描述

相关文档
最新文档