| 查看: 1387 | 回复: 7 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[交流]
简单的MATLAB几何建模问题 已有2人参与
|
|||
|
为了建立一系列随机分布的小球,编写程序如下,请懂的人帮忙看看,真是没辙了! k=1; i=2:50; m=1:49; R(50)=ones; V(50)=ones; VSUM(50)=ones; [X,Y,Z]=sphere(50); R(1)=rand(1)/10; V(1)=(4/3)*pi*R(1)^3; originX=rand(1,50); originY=rand(1,50); originZ=rand(1,50); surf(X*R(1)+originX(1),Y*R(1)+originY(1),Z*R(1)+originZ(1)); VSUM(1)=V(1); for i=2:50 R(i)=rand(1)/10; V(i)=(4/3)*pi*R(i)^3; end while (VSUM<v) for m=1:i-1 A=R(i)+R(m); B=sqrt((originX(i)-originX(m))^2+(originY(i)-originY(m))^2+(originZ(i)-originZ(m))^2); if (A<B) k=k+1; end continue end end if (k==i) surf(X*R(i)+originX(i),Y*R(i)+originY(i),Z*R(i)+originZ(i)); fprintf('The volume of the ith sphere is %12.5f\n',V(i)); VSUM(i)=VSUM(i-1)+V(i); hold on end axis equal |
» 猜你喜欢
人气不行了
已经有6人回复
今日不放榜?网传国自然预计 8 月 27 日可查结果
已经有18人回复
感觉是下周放榜了
已经有12人回复
看来今天不会放榜了?
已经有5人回复
我面上完蛋了
已经有8人回复
只有每年这种时候来逛逛小木虫
已经有25人回复
什么时候开奖?
已经有7人回复
时间戳又变了
已经有18人回复
时间戳又变了8-15
已经有27人回复
今天基金会出结果吗?20260819
已经有16人回复


3楼2016-01-27 16:41:01

2楼2016-01-27 11:10:51
|
好心人您好,我看了您的程序是可行的,但是我想要通过比较第 i 个球和前面生成的 (i-1)的球半径和与球心距离的大小来避免球体之间的重合,在总体积小于比如 v 的情况下,由于position只是任意的1*3数组,并不能存储第 i 个球体的位置信息?我想出的以下语句好像也有问题 ![]() while (VSUM<v) for m=1:i-1 A=R(i)+R(m); B=sqrt((positionX(i)-positionX(m))^2+(positionY(i)-positionY(m))^2+(positionZ(i)-positionZ(m))^2); if (A<B) k=k+1; end continue end end |

4楼2016-01-28 09:14:49

5楼2016-01-28 12:06:46









回复此楼


碗碗儿2954
40