mdsk.net
当前位置:首页 >> mAtlAB三维矩阵加入二维 >>

mAtlAB三维矩阵加入二维

不同维数的拼接可以用细胞数组实现:clear all; clc; A=ones(4,2,3); B=ones(2,2)*2; A=mat2cell(A); B=mat2cell(B); C=[A B]-----------------------运行结果 C = [4x2x3 double] [2x2 double]--------------------C{1},C{2}分别是A,B

设原来三维自数组为知a,用道permute(a(:,1,:),[1 3 2]):>> a=rand(2,3,4) a(:,:,1) = 0.3046 0.1934 0.3028 0.1897 0.6822 0.5417 a(:,:,2) = 0.1509 0.3784 0.8537 0.6979 0.8600 0.5936 a(:,:,3) = 0.4966 0.8216 0.8180 0.8998 0.6449 0.6602 a(:,:,4) = 0.

A= zeros(24,281,41);B = zeros(281,41);B(:,:) = A(1,:,:);

matlab中三维数组的生成方式跟二维数组差不多,只不过多了一个参数而已.下面通过举例来具体说明如何产生及使用三维数组.A = zeros(2, 2, 3); % 生成一个2*2*3的三维数组 显示出来的结构如下:A(:, :, 1)= % 一个2*2的二维数组0 00 0 A(:, :, 2)= % 一个2*2的二维数组0 00 0 A(:, :, 3)= % 一个2*2的二维数组0 00 0

用reshape

方法1:采用reshape处理.方法2:采用:squeeze 处理.方法3:在定义的时候,抽取元素形式为A=B(:,:,i).1.matlab中三维数组顺序是:行、列、页.二维数组只有行、列.如果两只之间赋值,有一个维数缩减问题需要注意.前者可以缩减为

a=rand(m,n,6)b=reshape(m*n,6)一个示例:>> a=rand(2,3,2)a(:,:,1) = 0.8147 0.1270 0.6324 0.9058 0.9134 0.0975a(:,:,2) = 0.2785 0.9575 0.1576 0.5469 0.9649 0.9706>> b=reshape(a,6,2)b = 0.8147 0.2785 0.9058 0.5469 0.1270 0.9575 0.9134 0.9649 0.6324 0.1576 0.0975 0.9706

举个例子,你看看就明白了A = rand(81,81,81);n = 20;A1 = A(:,:,n); % 81*81 二维A2 = A(:,n,:); % 81*1*81 三维A3 = A(n,:,:); % 1*81*81 三维% 将三维转为 81*81 二维A22 = reshape(A2,81,81);A32 = reshape(A3,81,81);

例如,A是3*4*5的三维矩阵,则读取A的第5页的二维数据,并显示灰度图 A=randn(3,4,5); B=(:,:,5); imshow(B)

reshape函数可以帮你,比如b=reshape(a,2,4,2);b就是你所求的新矩阵.

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