显示热门

深色模式

字体大小|

搜索
ADVERTISEMENT
返回
  • 浏览过的版块

1
ADVERTISEMENT
Huaren
等级二等兵
威望--
贴子228
魅力472
注册时间2005-09-11

lmmm

只看楼主

matlab一个数组问题请教

1497

8

2007-10-19 22:58:00

我很少用matlab,现在要定义一个2维的数组, 因为不知道具体是几行几列,可以怎么定义呢? 比如说可以用zeros函数先给一个临时的行或者列,但把界给的很大么?
Huaren
等级等待验证会员
威望31
贴子17937
魅力19985
注册时间2004-07-17

yanmai

只看他

2007-10-19 23:04:00

直接用就可以乐,比如说:

a = zeros(2,2);

a(3,:) = [1,2];

这时候a就是3行2列的了

Huaren
等级少尉
威望2
贴子1633
魅力2606
注册时间2004-02-09

lingming

只看他

2007-10-19 23:09:00

可以这样

a=[];

a=[a 1]; %列增加

a=[a;2]; %行增加

2-d情况下 要注意行列match

Huaren
等级二等兵
威望--
贴子228
魅力472
注册时间2005-09-11

lmmm

只看楼主

2007-10-19 23:10:00

谢谢楼上的美女, 你的做法是先定义成2行2列,然后你又边成了3行2列了, 后面这个变化,美女能给我tutorial连接吗或者说明之类的吗? 我还不是很懂怎么灵活的用,谢谢哦.

Huaren
等级二等兵
威望--
贴子228
魅力472
注册时间2005-09-11

lmmm

只看楼主

2007-10-19 23:12:00

才看到lingming美女也回我了,这样增加是不是来的比较慢, 我可以把1改成任意数字, 这样就能按照我想要的速度增加对吗? 谢谢.
Huaren
等级少尉
威望2
贴子1633
魅力2606
注册时间2004-02-09

lingming

只看他

2007-10-19 23:18:00

对 数字或者array都可以 但是一定要match 否则会报错
Huaren
等级二等兵
威望--
贴子228
魅力472
注册时间2005-09-11

lmmm

只看楼主

2007-10-19 23:19:00

mm你说的match是什么意思呢? 我动态的增加什么时候叫不match.

Huaren
等级二等兵
威望--
贴子228
魅力472
注册时间2005-09-11

lmmm

只看楼主

2007-10-19 23:22:00

我可以不可以用zeros(1000,1000)我先把行和列定义成比较大, 先都赋值为0, 然后再对具体的哪个数做相应的操作? 这样做缺点多, 比如说如果没有这么多行或者列就浪费空间了.mm说我理解的对吗? 谢谢.

Huaren
等级少尉
威望2
贴子1633
魅力2606
注册时间2004-02-09

lingming

只看他

2007-10-20 13:49:00

如果你对matrix的处理并不复杂 这点开销无所谓 反正也不是商业用途 呵呵

只是这样的稀疏矩阵 不晓得会不会增加你的指令 比如要专门找出不等于零的items 当然可以用find

另外我说的match,是指,比如你要在一个矩阵上加一列,或者一行,那么你的行/列数要和原来的矩阵相同。

你可以自己试试看 matlab对矩阵的处理还是很方便的~~~

初始化编辑器...

到底了