24小时热门版块排行榜    

查看: 351  |  回复: 2

blitzer

铜虫 (正式写手)

[求助] 新手發問 關於矩陣的問題

就是我有一個2n*2n的矩陣
當n=1
矩陣會變成
  0     1
   0     0
當n=2
矩陣會變成
  0     1     0     0
   0     0     0     0
   0     0     0     1
   0     0     0     0

當n=3
矩陣會變成
  0     1     0     0     0     0
   0     0     0     0     0     0
   0     0     0     1     0     0
   0     0     0     0     0     0
   0     0     0     0     0     1
   0     0     0     0     0     0
發現1都會在(2n-1,2n)的地方出現

我想請問的是
除了直接慢慢輸入以外
我能不能用甚麼有規律的方式指定值=1?韯摻ㄟ@個矩陣

求助各位高手
謝謝
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

justyet

金虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
blitzer: 金币+7, ★★★★★最佳答案, 謝謝 2013-06-05 16:44:47
a=zeros(2n,2n);
for i=1:n
a(2*i-1,2*i)=1;
end
2楼2013-06-05 16:14:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

ben_ladeng: 专家考核 2013-06-06 21:56:17
matlab代码,核心在循环内部,循环是为了测试n=1:3的情况的
CODE:
for n=1:3
    v = ones(2*n-1,1);
    v(2:2:end) = 0;
    disp(['n=',num2str(n)]);
    m = diag(v,1)
end

测试结果:
CODE:
n=1

m =

     0     1
     0     0

n=2

m =

     0     1     0     0
     0     0     0     0
     0     0     0     1
     0     0     0     0

n=3

m =

     0     1     0     0     0     0
     0     0     0     0     0     0
     0     0     0     1     0     0
     0     0     0     0     0     0
     0     0     0     0     0     1
     0     0     0     0     0     0

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
3楼2013-06-05 16:50:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 blitzer 的主题更新
信息提示
请填处理意见