24小时热门版块排行榜    

查看: 1393  |  回复: 7

wxw_email

金虫 (小有名气)

[求助] Matlab对数组进行周期性的赋值,麻烦高手解答,谢谢!

a(1:300 )     取 0
a(301:400 ) 取 -1
a(401:600 ) 取 0
a(601:700 ) 取 1
以此类推,以700为周期,对数组a(1:60000)赋值,烦请各位大牛解答。小弟对matlab不甚熟悉。谢谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1134684571

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
sum=0;
for i=0:86
    for j=1:700
     if sum<60000
         if j<=300
             a(i*700+j)=0;
         elseif j<=400
             a(i*700+j)=-1;
         elseif  j<=600
             a(i*700+j)=0;
         else
             a(i*700+j)=0;
         end
         sum=sum+1;
     end
    end
end
2楼2015-06-24 13:23:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1134684571

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
wxw_email: 金币+50, ★★★★★最佳答案, 厉害,不过从效率方面来讲,运算的效率比较低了。 2015-06-24 13:55:40
上面的有点小错误,下面的测试没有问题。
sum=0;
for i=0:86
    for j=1:700
     if sum<60000
         if j<=300
             a(i*700+j)=0;
         elseif j<=400
             a(i*700+j)=-1;
         elseif  j<=600
             a(i*700+j)=0;
         else
             a(i*700+j)=1;
         end
         sum=sum+1;
     end
    end
end
3楼2015-06-24 13:27:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wxw_email

金虫 (小有名气)

引用回帖:
3楼: Originally posted by 1134684571 at 2015-06-24 13:27:18
上面的有点小错误,下面的测试没有问题。
sum=0;
for i=0:86
    for j=1:700
     if sum<60000
         if j<=300
             a(i*700+j)=0;
         elseif j<=400
             a(i*700+j ...

再追加30个金币,悬赏效率比较高的程序,充分发挥MATLAB的矩阵运算功能。
4楼2015-06-24 13:57:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1134684571

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
wxw_email: 金币+30, ★★★★★最佳答案, 高人啊! 2015-06-24 17:20:22
for i=1:60000
    if mod(i,700)<=300
        a(i)=0;
    elseif mod(i,700)<=400
        a(i)=-1;
    elseif mod(i,700)<=600
        a(i)=0;
    else
        a(i)=1;
    end
end
这个速度稍微快点,在我本人的电脑上大约花费0.005218秒
                                    上一个程序大约花费0.116754秒
5楼2015-06-24 14:25:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bashan

禁虫 (正式写手)

本帖内容被屏蔽

6楼2015-06-26 08:21:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bashan

禁虫 (正式写手)

本帖内容被屏蔽

» 本帖已获得的红花(最新10朵)

7楼2015-06-26 08:35:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wxw_email

金虫 (小有名气)

送红花一朵
引用回帖:
7楼: Originally posted by bashan at 2015-06-26 08:35:05
A(1:300 ) = 0;
A(301:400 ) =-1;
A(401:600 ) = 0;
A(601:700 ) = 1;
T = 700;%周期
N = 60000; %容量
Temp = ceil(N/T); %这里向正无穷方向取整,因为不能被整除
B = repmat(A,);


代码为运行过 ...

高手真多

[ 发自小木虫客户端 ]
8楼2015-06-26 17:53:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wxw_email 的主题更新
信息提示
请填处理意见