网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月27日漏签0天
mathematica吧 关注:19,843贴子:73,897
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 18回复贴,共1页
<<返回mathematica吧
>0< 加载中...

同样的程序,do循环和for循环结果不一样?求解释?

  • 只看楼主
  • 收藏

  • 回复
  • zeroclyy
  • 有待掌握
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
求大师看看一样的的程序,do循环和for循环得出的结果不一样,检查一下结果,do循环才是想要的答案。为什么会出现这种情况?应该怎么改?才能是他们一样。可不可以用nestlist?
hy = Table[.0, {i, 1, 201}];
ez = Table[.0, {i, 1, 201}];
t = {{0, 0}};
Do[
Do[hy[[m]] = hy[[m]] + (ez[[m + 1]] - ez[[m]])/377., {m, 1, 200}];
Do[ez[[m]] = ez[[m]] + (hy[[m]] - hy[[m - 1]])*377., {m, 2, 201}];
ez[[50]] = Exp[-(x - 20.0)*(x - 20.0)/(100.)];
If[Mod[x, 10] == 0,
Do[t = AppendTo[t, {m, Chop[ez[[m]]]}], {m, 1, 200}]],
{x, 0, 200}] // AbsoluteTiming;
hh = Table[.0, {i, 1, 201}];
th = Table[.0, {i, 1, 201}];
t = {{0, 0}};
For[x = 0, x < 250, x++,
For[m = 1, m < 200, m++,
hh[[m]] = hh[[m]] + (th[[m + 1]] - th[[m]])/377.0;
];
For[m = 2, m < 201, m++,
th[[m]] = th[[m]] + (hh[[m]] - hh[[m - 1]])*377.0;
];
th[[50]] = Exp[-(x - 30.0)*(x - 30.0)/100.0];
If[x == 0,
For[m = 1, m < 200, m++,
Print[{m, Chop[th[[m]]]}, ",", x];
]];
If[Mod[x, 10] == 0,
For[m = 1, m < 200, m++,
Print[{m, Chop[th[[m]]]}, ",", x];
]]];


  • xzcyr
  • 吧主
    15
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你两段代码不一致的参数有好多呢,怎么会一样。


2025-07-27 06:24:55
广告
不感兴趣
开通SVIP免广告
  • 草红样
  • 小吧主
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
还有个问题,t=AppendTo[t,a],这种写法很不和谐,
要么AppendTo[t,a],或者t=Append[t,a]。就你的代码而言用Reap和Sow就行


  • 草红样
  • 小吧主
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
cf = Compile[{}, Block[{hy, ez},
ez = hy = 0. Range[201];
Do[
Do[hy[[m]] = hy[[m]] + (ez[[m + 1]] - ez[[m]])/377., {m, 1, 200}];
Do[ez[[m]] = ez[[m]] + (hy[[m]] - hy[[m - 1]])*377., {m, 2, 201}];
ez[[50]] = Exp[-(x - 20.0)*(x - 20.0)/(100.)];
If[Mod[x, 10] == 0, Sow@Table[{m, ez[[m]]}, {m, 1, 200}]],
{x, 0, 200}];
]
];
dat = Join @@ Reap[cf[]][[2, 1]]; // AbsoluteTiming
ListPlot[dat]


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 18回复贴,共1页
<<返回mathematica吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示