MATLAB中a(:,:,2)=rand(3)是什么意思
1个回答
展开全部
rand(3) %创建一个3*3随机矩阵
a(:,:,2)=rand(3) %把这个3*3的随机矩阵赋值给三维矩阵a的第二块。
最终生成的是一个3*3*2的矩阵
>> a(:,:,2)=rand(3)
a(:,:,1) =
0 0 0
0 0 0
0 0 0
a(:,:,2) =
0.4186 0.2026 0.0196
0.8462 0.6721 0.6813
0.5252 0.8381 0.3795
>>
由于三维矩阵a的第一块未知,所以自动填充为0矩阵。
a(:,:,2)=rand(3) %把这个3*3的随机矩阵赋值给三维矩阵a的第二块。
最终生成的是一个3*3*2的矩阵
>> a(:,:,2)=rand(3)
a(:,:,1) =
0 0 0
0 0 0
0 0 0
a(:,:,2) =
0.4186 0.2026 0.0196
0.8462 0.6721 0.6813
0.5252 0.8381 0.3795
>>
由于三维矩阵a的第一块未知,所以自动填充为0矩阵。
追问
貌似有点问题,第一个矩阵应该不是0矩阵
追答
a(:,:,1)没有被赋值,按理来说应该是一个空矩阵,即a(:,:,1)=[];但是由于matlab在处理多维数组时候,每个相同级别的维数必须是相同的,所以给令a(:,:,1)等于0矩阵。
先清除一下变量再运行一下试试看;
若第一块还不是0矩阵那就可能是版本的问题了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |