24小时热门版块排行榜    

查看: 1355  |  回复: 10

痞子ppt

铜虫 (初入文坛)

[求助] 在matlab上运行,大神帮忙调试下,是搞分形模拟的DLA

function DLAmodel     %Fractal growth modeling by DLA
L = 151 ;
axis ( [ 0 L 0 L ])
set (gcf ,‘color’ ,‘w’ )   %将图形背景设置为白色
Xhalf = floor (L/ 2) + 1 ;
Yhalf = Xhalf ;
hold on
X = sparse (L , L) ;
X(xhalf , yhalf ) = 1 ; %设定 “种子” 位置
[ i , j ] = find (X) ;
plothdl = plot (i , j ,‘b’ ) ;
axis off
axis square
p = - 1 : 1 ;
Times = 15000 ; %设定随机产生粒子的个数
for count = 1 ∶Times
  sita = rand*2*pi ;   %生成一个随机点
R = floor (L/2) ;
kx = floor (Xhalf + R*cos( sita) ) ;
ky = floor ( Yhalf + R*sin( sita) ) ;
plot2 = plot (kx , ky ,‘r’ ) ;
set (plot2 ,‘marker’ ,‘d’,‘markersize’, 8)
drawnow   %动态演示随机产生粒子的运动模式
flag = 0 ;
[ i , j ] = find (X) ;
lr = lengt h (i) ;
while kx < L - 1 &ky < L - 1 &kx > 1 &ky > 1 &flag = = 0 ,
  N = sum( sum(X(kx + p , ky + p) ) ) ; %统计与随机粒子相邻的 “种子团簇” 粒子的个数
    if N > 0
     X(kx , ky) = 1 ;
     flag = 1 ;
   else
  ran = rand ;   %布朗运动控制
   if ran > 2/3
    kx = kx + 1 ;
  elseif ran < 1/3
    kx = kx - 1 ;
   end
    ran = rand ;
     if ran > 2/ 3
     ky = ky + 1 ;
    el seif ran < 1/ 3
     ky = ky - 1 ;
    end
   set (plot2 ,‘xdata’ , kx ,‘ydata’, ky) ;
   end
  end
cla ;
[ i , j ] = find (X) ;
plot (i , j ,‘b.’ )
drawnow
end
回复此楼

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

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

zhangzhiguang

至尊木虫 (文坛精英)


csgt0: 金币+1, 谢谢 2013-06-28 11:30:36
这是文件,防止复制时字体变化

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : DLAmodel.m
  • 2013-06-27 12:36:53, 1.34 K
好好学习,天天向上!
9楼2013-06-27 12:37:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

痞子ppt

铜虫 (初入文坛)

2楼2013-05-28 09:16:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangzhiguang

至尊木虫 (文坛精英)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
csgt0: 金币+1, 谢谢 2013-05-31 11:26:53
痞子ppt: 金币+10, 有帮助 2013-06-04 08:43:23
大体问题没有,有些标点可能是你发帖的时候得问题,像''等,其中"X(xhalf , yhalf ) = 1 ; %设定 “种子” 位置"中xhalf , yhalf 中的x,y都要大写,有一些变量可能没用到,像lr,另外,while中的&是不是改为&&更好一些
好好学习,天天向上!
3楼2013-05-28 13:43:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

痞子ppt

铜虫 (初入文坛)

引用回帖:
3楼: Originally posted by zhangzhiguang at 2013-05-28 13:43:44
大体问题没有,有些标点可能是你发帖的时候得问题,像''等,其中"X(xhalf , yhalf ) = 1 ; %设定 “种子” 位置"中xhalf , yhalf 中的x,y都要大写,有一些变量可能没用到,像lr,另外,while中的&是不是 ...

谢谢哈,
4楼2013-06-04 08:44:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bihaio

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by zhangzhiguang at 2013-05-28 13:43:44
大体问题没有,有些标点可能是你发帖的时候得问题,像''等,其中"X(xhalf , yhalf ) = 1 ; %设定 “种子” 位置"中xhalf , yhalf 中的x,y都要大写,有一些变量可能没用到,像lr,另外,while中的&是不是 ...

2楼主请问你能是模拟出来嘛,报错啊它,还有就是drawnow这里它好像没用上啊?求助。。谢谢啊
5楼2013-06-26 20:37:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangzhiguang

至尊木虫 (文坛精英)

引用回帖:
5楼: Originally posted by bihaio at 2013-06-26 20:37:06
2楼主请问你能是模拟出来嘛,报错啊它,还有就是drawnow这里它好像没用上啊?求助。。谢谢啊...

要将其中的一些量修改,我在帖子里已指出
好好学习,天天向上!
6楼2013-06-27 09:39:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

bihaio

新虫 (初入文坛)

引用回帖:
6楼: Originally posted by zhangzhiguang at 2013-06-27 09:39:22
要将其中的一些量修改,我在帖子里已指出...

能在具体些吗,我不太会啊,而且改了,谢谢了啊!
7楼2013-06-27 11:13:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangzhiguang

至尊木虫 (文坛精英)

【答案】应助回帖

★ ★
csgt0: 金币+2, 应助指数+1, 谢谢 2013-06-28 11:30:30
这是修改后的代码,改动不大,还有运行后的图
function DLAmodel     %Fractal growth modeling by DLA
L = 151 ;
axis ([ 0 L 0 L ])
set (gcf,'color','w' ) %将图形背景设置为白色
Xhalf = floor (L/2) + 1 ;
Yhalf = Xhalf ;
hold on
X = sparse (L,L) ;
X(Xhalf,Yhalf ) = 1 ; %设定 “种子” 位置
[i,j] = find (X) ;
  plot(i,j,'b' ) ;
axis off
axis square
p = - 1 : 1 ;
Times = 15000 ; %设定随机产生粒子的个数
for count = 1 :Times
sita = rand*2*pi ; %生成一个随机点
R = floor (L/2) ;
kx = floor (Xhalf + R*cos( sita) ) ;
ky = floor (Yhalf + R*sin( sita) ) ;
plot2 = plot (kx , ky ,'r') ;
set (plot2 ,'marker' ,'d','markersize', 8)
drawnow%动态演示随机产生粒子的运动模式
flag = 0 ;
[ i,j] = find (X) ;
lr = length (i) ;
while kx < L - 1 &&ky < L - 1 &&kx > 1 &&ky > 1 &&flag == 0 ,
      N = sum( sum(X(kx+p ,ky + p))) ; %统计与随机粒子相邻的 “种子团簇” 粒子的个数
       if N > 0
         X(kx , ky) = 1 ;
         flag = 1 ;
       else
         ran = rand ; %布朗运动控制      
         if ran > 2/3
           kx = kx + 1 ;
        elseif ran < 1/3
           kx = kx - 1 ;
         end
         ran = rand ;
         if ran > 2/3
            ky = ky + 1 ;
        elseif ran < 1/ 3
            ky = ky - 1 ;
         end
        set (plot2 ,'xdata' , kx ,'ydata', ky) ;
      end
end
cla ;
[ i,j ] = find (X) ;
plot (i,j,'b.' )
drawnow
end
在matlab上运行,大神帮忙调试下,是搞分形模拟的DLA
untitled.jpg

好好学习,天天向上!
8楼2013-06-27 12:30:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

痞子ppt

铜虫 (初入文坛)

送红花一朵
10楼2013-09-11 11:23:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 痞子ppt 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 东南大学364求调剂 +5 JasonYuiui 2026-03-15 5/250 2026-03-16 21:28 by 木瓜膏
[考研] 070303一志愿西北大学学硕310找调剂 +5 d如愿上岸 2026-03-12 8/400 2026-03-16 15:19 by peike
[考研] 309求调剂 +5 花与叶@ 2026-03-10 5/250 2026-03-16 14:13 by 哦哦123
[考博] 欢迎申博同学联系 +3 天道酬勤2026686 2026-03-10 7/350 2026-03-15 19:03 by 天道酬勤2026686
[考研] 070305求调剂 +3 mlpqaz03 2026-03-14 4/200 2026-03-15 11:04 by peike
[考研] 294求调剂 +3 Zys010410@ 2026-03-13 4/200 2026-03-15 10:59 by zhq0425
[考研] 080500,材料学硕302分求调剂学校 +4 初识可乐 2026-03-14 5/250 2026-03-14 21:08 by peike
[考研] 材料与化工(0856)304求B区调剂 +7 邱gl 2026-03-10 11/550 2026-03-14 12:18 by 邱gl
[考研] 266求调剂 +4 学员97LZgn 2026-03-13 4/200 2026-03-14 08:37 by zhukairuo
[考研] 调剂 +3 13853210211 2026-03-10 3/150 2026-03-14 00:47 by JourneyLucky
[考研] 材料371求调剂 +9 鳄鱼? 2026-03-11 11/550 2026-03-13 22:53 by JourneyLucky
[考研] 一志愿中科院,化学方向,295求调剂 +4 一氧二氮 2026-03-11 4/200 2026-03-13 22:35 by JourneyLucky
[考研] 求材料调剂 +5 隔壁陈先生 2026-03-12 5/250 2026-03-13 22:03 by 星空星月
[考研] 290求调剂 +9 ADT 2026-03-11 9/450 2026-03-13 21:55 by JourneyLucky
[考研] 281求调剂 +9 Koxui 2026-03-12 11/550 2026-03-13 20:50 by Koxui
[考研] 考研调剂 +4 芬达46 2026-03-12 4/200 2026-03-13 16:04 by ruiyingmiao
[考研] 工科调剂 +4 Jiang191123! 2026-03-11 4/200 2026-03-13 15:15 by Miko19
[论文投稿] 投稿问题 5+4 星光灿烂xt 2026-03-12 6/300 2026-03-13 14:17 by god_tian
[考研] 268求调剂 +4 好运连绵不绝 2026-03-12 4/200 2026-03-13 10:45 by hyswxzs
[考研] 333求调剂 +3 152697 2026-03-12 4/200 2026-03-13 07:08 by Iveryant
信息提示
请填处理意见