llgd.net
当前位置:首页 >> mAtlAB 如何定义一个未知大小的数组? >>

mAtlAB 如何定义一个未知大小的数组?

arr = []; arr(1) = 1; arr(2) = 2; …… arr(10) = 10; …… 这样就行,和C不一样,不需要手动开辟空间。。。

不需要定义,使用的时候赋值即可 例如: for i=1:3; a(i)=i; end

arr = []; arr(1) = 1; arr(2) = 2; …… arr(10) = 10; …… 这样就行,和C不一样,不需要手动开辟空间。。。

zeros(m,n) 生成全零的mxn矩阵 m,n其中一个为1,就是一维数组,看你需要行方向还是列方向 matlab中定义一维数组就相当于定义一个向量,也就是n乘1阶的二维矩阵; 例如: 》myarray=[32 56 67 4 6 7] 之后就可用myarray(1)来访问32(matlab中的...

A=[]; n=input('n=');%数组的长度 for i=1:n fprintf('a%.0f=',i); x=input('');%分别输入各个数的值 A=[A,x]; end A 就可以得到长度为n的数组了 建议在一开始就定义数组大小,这样可以减少内存的使用,同时加快计算速度,特别是数组较大的情况...

在M文件中编入如下程序: global a; %matlab自动将a作为数组处理 for i=1:5 a(i)=i; end 这样就可以成功定义一个全局变量数组。 测试: 在command window输入:sin(a(1)*a(2)*pi) 得到: ans = -2.4493e-016 这样应该说明定义成功了吧。

如果数组长度不大,可采用循环的方式,每次用 randperm 产生随机排列,然后判断是否与原数相同,直到满足要求为止。 参考代码: a = [1 2 3];n = length(a);while true p = randperm(n); if all(p-(1:n)), break, endendb = a(p) 从直觉上判断,...

zeros(m,n) 生成全零的mxn矩阵 m,n其中一个为1,就是一维数组,看你需要行方向还是列方向

其实MATLAB很开放的 ,你要用多少个他系统会自动开的 随便给他们一些初值就好了,多少个元素就给他多少个数 还有你可以直接来空的 例: a=[] %一种比较常用的开一维矩阵的方法

如果各个数组的长度一样,可以直接用矩阵的每一列或每一行代表一个数组。 如果各个数组长度不一样,可以用细胞类型存储,每个细胞元就是一个数组。比如A{1}=[1,2,3,4];A{2}=[5,6,7];

网站首页 | 网站地图
All rights reserved Powered by www.llgd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com