Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何[使用向量(d,1)作为其行(1,d)创建矩阵(M x d)?/将向量和x27(即向量转置)分配给矩阵行?]_Matlab_Vector_Matrix - Fatal编程技术网

Matlab 如何[使用向量(d,1)作为其行(1,d)创建矩阵(M x d)?/将向量和x27(即向量转置)分配给矩阵行?]

Matlab 如何[使用向量(d,1)作为其行(1,d)创建矩阵(M x d)?/将向量和x27(即向量转置)分配给矩阵行?],matlab,vector,matrix,Matlab,Vector,Matrix,我试图拍摄m图像(比如I),每个图像都有d像素;将它们转换为向量ImgVctr;并将它们存储为mxd矩阵的数组。我该怎么做 我尝试了以下方法 ImgVctr = I(:); img_vctr_arr(i,:) = ImgVctr'; 但它失败了,错误如下: Subscripted assignment dimension mismatch. 有什么简单的建议吗 所有的帮助将不胜感激 编辑: 完整的matlab代码附在下面: img_vctr_arr = zeros (3, 38*28); f

我试图拍摄
m
图像(比如
I
),每个图像都有
d
像素;将它们转换为向量
ImgVctr
;并将它们存储为
mxd
矩阵的数组。我该怎么做

我尝试了以下方法

ImgVctr = I(:);
img_vctr_arr(i,:) = ImgVctr';
但它失败了,错误如下:

Subscripted assignment dimension mismatch.
有什么简单的建议吗

所有的帮助将不胜感激

编辑: 完整的matlab代码附在下面:

img_vctr_arr = zeros (3, 38*28);
for i = 1:3
    clearvars I;
    fname = sprintf('a%d.png', i);    
    I = imread(fname);
    I = rgb2gray (I);

    ImgVctr = I(:);
    img_vctr_arr(i,:) = ImgVctr';
    figure (), imshow (I);

    [x, y] = size(I);
    fprintf ('%d, ', x);
    fprintf ('%d\n', y);
end;

~Thankyou

预先分配矩阵,如:

img_vctr_arr = zeros(M,d);
然后填写:

img_vctr_arr(i,:) = I(:)'; % do not even need the '

只需确保
numel(I)
等于
d

I的大小是多少?它是包含所有图像的3D图像还是图像的单个实例?比如说38 x 28。我已经把它转换成大小为1064(=38*28)的向量。这是一个单一的图像。。我有3张这样的图片,制作一个大小为[31064]的矩阵,所有的图片都存储在哪里?什么变量包含所有数据?是的,这是我的错误@chappjc,感谢你的提示tyI使用了38*28。。而我的图像是38*26