matlab实现repelem和repmat函数功能
文章目录创建一个函数repEleMat,实现repelem() 和repmat()功能repelem()函数repelem()函数示例:repmat()函数repmat()函数示例:CS专业的一道题目matlab代码实现输出结果创建一个函数repEleMat,实现repelem() 和repmat()功能首先我们来了解repelem函数和repmat函数的定义此处引用网上资料 —>https
文章目录
创建一个函数repEleMat,实现repelem() 和repmat()功能
首先我们来了解repelem函数和repmat函数的定义
此处引用网上资料 —> https://zhuanlan.zhihu.com/p/142365105
matlab官方文档对repelem()和repmat()亦有定义。
repelem()函数
B = repelem(A,r1,…,rN) 将 A 中的每个元素依 r1,…,rN 进行重复,返回一个数组。
r1,…,rN 中的每个元素必须是一个标量,或是与 A 在对应维度具有相同长度的向量。
例如,如果 A 是一个矩阵,repelem(A,2,3) 则返回一个矩阵,其中包含 A 中每个元素的一个 2×3 块。
repelem()函数示例:

repmat()函数
B = repmat(A,r1,…,rN) 指定一个标量列表 r1,…,rN,这些标量用于描述 A 的副本在每个维度中如何排列。当 A 具有 N 维时,B 的大小为 size(A).*[r1…rN]。例如:repmat([1 2; 3 4],2,3) 返回一个 4×6 的矩阵。
repmat()函数示例:

CS专业的一道题目

matlab代码实现
%% Created by cheunghonghui on 2020.06.26
%% matlab实现
mat = [1 2;3 4];
[out1,out2] = repEleMat(mat,2,2)
function [out1,out2] = repEleMat(mat,r,c)
[m n] = size(mat); %统计mat的规格
%对 mat中的每一个元素进行复制,复制规格由repEleMat输入的r,c控制
%程序设计思路,对输入的mat进行分析,先通过临时变量temp将mat中的各元素进行复制,
%然后将各个temp按照mat的排列循序赋值给out1
for i = 1:m
for j = 1:n
temp(r*(i-1)+1:r*i,c*(j-1)+1:c*j) = mat(i,j);
end
end
out1 = temp;
%同理设计repmat函数功能
for i = 1:r
for j =1:c
temp((i-1)*m+1:i*m,(j-1)*n+1:j*n) = mat;
end
end
out2 = temp;
end
输出结果

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)