全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
1933 3
2009-12-02
请教大家一下,就是一个循环问题,自己编的程序运行结果跟手算的不符,请达人帮我啊急
一个数列x0=[x0(1),x0(2),.... x0(n)],通过一个序列算子改变数列的值,其中算子为:
x11(k)=(x(k)^0.5*x(n)^0.5+x(k+1)^0.5*x(n)^0.5+...+x(n)^0.5*x(n)^0.5)/(n-k+1),其中k=1:n,
我编了一下是这样的

  for i=1:length(x0)
     for j=i:length(x0)
         x11(i)=0;
         x11(i)=x11(i)+(x0(j)^0.5*x0(length(x0)-1)^0.5)/(length(x0)-i+1);
     end
end
我不知道问题出在哪???:'(
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2009-12-2 17:32:57
1# hfut-liu

“/(length(x0)-i+1)” 应放在 loop j 之外

XX = repmat(x0(:)', length(x0),1)
XX = XX.^0.5.*x0(end)^.5
YY = triu(ones(size(XX)))
x11=sum(XX.*YY,2)./(length(x0):-1:1)'
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-12-2 22:03:47
哈哈,不错
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-12-6 20:04:51
非常感谢,后来我搞了都对了
for i=1:length(x0)
   x11(i)=0;
     for j=i:length(x0)
      x11(i)=x11(i)+(x0(j)^0.5*x0(length(x0)-1)^0.5)/(length(x0)-i+1);
     end
end
应该这样才对
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群