MATLAB中a(:,:,2)=rand(3)是什么意思

 我来答
宇逸ycl
推荐于2016-11-21 · TA获得超过4088个赞
知道大有可为答主
回答量:1589
采纳率:50%
帮助的人:1856万
展开全部
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矩阵。
追问
貌似有点问题,第一个矩阵应该不是0矩阵
追答
a(:,:,1)没有被赋值,按理来说应该是一个空矩阵,即a(:,:,1)=[];但是由于matlab在处理多维数组时候,每个相同级别的维数必须是相同的,所以给令a(:,:,1)等于0矩阵。

先清除一下变量再运行一下试试看;

若第一块还不是0矩阵那就可能是版本的问题了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式