注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

信息 灵感 创新

I? =Information,Inspiration,Innovation

 
 
 

日志

 
 
关于我

we are 5. Mathematics, Computation, Programming, Engineering, and Making fun of life.

网易考拉推荐

金字塔矩阵练习  

2011-08-16 13:15:02|  分类: M&M |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
要求是编写一个M函数,接受一个奇数,然后产生一个N*(2N-1)的矩阵,形式如下:
     0     0     0     0     1     0     0     0     0
     0     0     0     2     1     2     0     0     0
     0     0     3     2     1     2     3     0     0
     0     4     3     2     1     2     3     4     0
     5     4     3     2     1     2     3     4     5
想了一下,有了个结果:
function A=pyramid(n)
    if mod(n,2)==0
        error('n should be an odd number!');
    end
    A=zeros(n,2*n-1);
    for i=1:n
        A(n-i+1:n,i)=n-i+1;
       A(n-i+1:n,2*n-i)=n-i+1;
    end
end
测试一下:
>> pyramid(7)
ans =
     0     0     0     0     0     0     1     0     0     0     0     0     0
     0     0     0     0     0     2     1     2     0     0     0     0     0
     0     0     0     0     3     2     1     2     3     0     0     0     0
     0     0     0     4     3     2     1     2     3     4     0     0     0
     0     0     5     4     3     2     1     2     3     4     5     0     0
     0     6     5     4     3     2     1     2     3     4     5     6     0
     7     6     5     4     3     2     1     2     3     4     5     6     7
应该是没有什么问题了。这个练习中学到的技巧是避免了使用双重循环,而是使用的这种形式:A(n-i+1:n,i)=n-i+1,直接操作n-i+1到n行的数据。
  评论这张
 
阅读(528)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016