24小时热门版块排行榜    

CyRhmU.jpeg
查看: 5302  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

3D迷

木虫 (小有名气)

[求助] 在matlab里面一个方阵,每隔n行取m行组成一个新的矩阵,应该怎么做已有2人参与

在matlab里面一个方阵,每隔n行取m行组成一个新的矩阵,应该怎么做,其中矩阵的总行数可以整除m+n
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

smartcho

金虫 (小有名气)

用reshape 然后再选取 不用什么循环 那是笨方法

发自小木虫IOS客户端
11楼2015-11-20 07:26:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

yanshuiting

新虫 (正式写手)

写个循环,按条件取出来

发自小木虫Android客户端
2楼2015-11-16 16:03:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

3D迷

木虫 (小有名气)

引用回帖:
2楼: Originally posted by yanshuiting at 2015-11-16 16:03:02
写个循环,按条件取出来

具体怎么写呢
3楼2015-11-16 16:20:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

onelightwang

金虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
假设A为方阵,B为新矩阵,如果是一开始先取m行数据,代码如下:
row=size(A,1)
line=size(A,2)
time=row/(m+n)            %循环次数求解
B=zeros(m*time,line)   %目标矩阵初始化
for i=1:time
    k=(1:m)+(i-1)*(m+n)
    j=(1:m)+(i-1)*m
    B(1:m,=A(k,
end

如果是先隔n行,再开始取数据,代码如下:
row=size(A,1)
line=size(A,2)
time=row/(m+n)            %循环次数求解
B=zeros(m*time,line)   %目标矩阵初始化
for i=1:time
    k=((n+1)n+m))+(i-1)*(m+n)
    j=(1:m)+(i-1)*m
    B(1:m,=A(k,
end
4楼2015-11-19 01:02:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见