matlab如何创建多维数组 matlab如何建立动态数组
matlab如何创建多维数组
创建多维数组示例:
>>A(3,3,3)=1%创建3*3*3数组,未赋值元素默认设置为0
A(:,:,1)=
000
000
000
A(:,:,2)=
000
000
000
A(:,:,3)=
000
000
00
>>B(3,4,:)=1:4%创建3*4*4数组
B(:,:,1)=
0000
0000
000
B(:,:,2)=
0000
0000
000
B(:,:,3)=
0000
0000
000
B(:,:,4)=
0000
0000
000
扩展资料
matlab由二维数组合成多维数组
>>clear
>>A(:,:,1)=magic(4)%创建数组A第1页的数据
>>A(:,:,2)=ones(4)%创建数组A第2页的数据
>>A(:,:,3)=zeros(4)%创建数组A第3页的数据
A(:,:,1)=
16231
5119761
4141A(:,:,2)=
1111A(:,:,3)=
0000
0000
0000
0000
matlab如何建立动态数组
如果数组规模不是很大,直接存储即可,如下:DotZero = [ ] for .... .... DotZero = [DotZero, index] % index 为当前数据所在的列 ....end如果数组规模很大,应该预定义,如果知道你需要处理的数组的列数就好办了:DotZero = zeros(ColMax,1) % ColMax为列数for .... .... DotZero(k) = index % index 为当前数据所在的列 ....end然后将DotZero中不为0的元素提取出来即可!newDotZero=DotZero(DotZero ~= 0)当然用单元数组cell也可完成同样的任务!
matlab如何建立动态数组
使用动态数组不如使用元胞数组,比如下面的例子>> marryCell=cell(1,2)>> marryCell{1}=rand(1,3)>> marryCell{1}=rand(1,5)marryCell = [1x5 double] []
matlab定义数组
下面用一个简单的例子可以说明。你写一个数组B,前面是20个1,后面有10个零,然后用C=perms(B)。这里的C就会把你所有的数组表示出来。简单例子如下所示:
a=[1 2 3 4]
a =
1 2 3
>> perms(a)
ans =
4 3 2 4 3 1 4 2 3 4 2 1 4 1 2 4 1 3 3 4 2 3 4 1 3 2 4 3 2 1 3 1 2 3 1 4 2 3 4 2 3 1 2 4 3 2 4 1 2 1 4 2 1 3 1 3 2 1 3 4 1 2 3 1 2 4 1 4 2 1 4 3 2
matlab中如何创建动态数组
1、如果想把[2,2,2,2]赋值给第10个元素,可以用下面两种做法之一(作用完全等同):
c{1,10}=[2,2,2,2]
c(1,10)={[2,2,2,2]} 
2、如果想把[2,2,2,2]赋值给多个元素,可以用类似下面的做法:
[c{1:5}]=deal([2,2,2,2]) 
3、如果想把[2,2,2,2]的元素分配到cell数组的多个元素,可以用:
[c{1:4}]=deal(2,2,2,2)如果数据存在一个变量中,且维数及元素数量未知,那么更通用一点的做法是
c=cell(1,10)
a=[2,2,2,2]
n=prod(size(a))
b=mat2cell(a(:),ones(1,n),1)
[c{1:n}]=deal(b{:}) 
希望对楼主有帮助。