MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   matlab中大括号的一个问题 (https://www.labfans.com/bbs/showthread.php?t=3818)

babybirds 2008-07-04 16:25

matlab中大括号的一个问题
 
已知sys是一个传递函数
[num,den]=tfdata(sys);
num=num{1,1};
den=den{1,1}

这两个大括号是什么意思啊?

remnant 2008-07-05 16:42

[QUOTE=babybirds;13460]已知sys是一个传递函数
[num,den]=tfdata(sys);
num=num{1,1};
den=den{1,1}

这两个大括号是什么意思啊?[/QUOTE]

大括号应该是cell, matlab一种特殊的数据类型。

你可以help cell看一下。

a = cell_name{ i, j }
意思是将cell_name中第 ( i, j )个元素的所存的内容取出并赋给 a ,
此时 a 的数据类型由cell_name{ i, j }所存的内容决定
a = cell_name( i, j )
意思是将cell_name中第 ( i, j ) 个元素赋给 a, 此时 a 依然是个cell.

不知道说清楚没有,举个例子给你吧:
a=[1,2;2,3];
b = [ 'a', 'c','d' ];
c = { a, b }; % cell的赋值方式,可以在左侧的workspace中看到c为1x2 cell
out1 = c(1); % 可以在左侧的workspace中看到out1为1x1 cell
out2 = c{1}; % 可以在左侧的workspace中看到out2和a的类型一致


所有时间均为北京时间。现在的时间是 12:17

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.