24小时热门版块排行榜    

查看: 4313  |  回复: 10

c123_5

铁虫 (初入文坛)

[求助] matlab解决重心法选址问题,运行不了啊,求助各位大神

这是代码,我是R2013a版的,各位大神帮忙看看啊,我才刚开始接触matlab
function T=TotalCost
x0=0;
y0=0;
x1=0;
y1=0;
a=[0.04,0.04,0.095,0.095,0.095];
w=[5000,7000,3500,3000,5500];
x=[3,8,2,6,8];
y=[8,2,5,4,8];
d=[0,0,0,0,0];
T0=200;
T1=100;
while(T1-T0<=0)                                             
T0=0;
T1=0;
a1=0;
a2=0;
b1=0;
b2=0;
x0=x1;
y0=y1;
d(i)=sqrt((x0-x(i))^2+(y0-y(i))^2);
T0=T0+a(i)*w(i)*d(i);
end
for i=1:5
    a1=a1+a(i)*w(i)*x(i)/d(i);
    a2=a2+a(i)*w(i)/d(i);
    b1=b1+a(i)*w(i)*y(i)/d(i);
    b2=b2+a(i)*w(i)/d(i);
end
x1=a1/a2;
y1=b1/b2;
for i=1:5
   d(i)=sqrt((x(i)-x1)^2+(y(i)-y1)^2);
   T1=T1+a(i)*w(i)*d(i);
end
T0;
T1;
end
x1;
y1;
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖


感谢参与,应助指数 +1
fegg7502: 金币+1, 3ks 2013-05-04 19:41:26
描述问题,你有什么输入,需要什么输出?
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2013-04-30 18:43:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c123_5

铁虫 (初入文坛)

引用回帖:
2楼: Originally posted by libralibra at 2013-04-30 18:43:28
描述问题,你有什么输入,需要什么输出?

就是设施选址的重心法,就是比如说有六个地点,要选择一个配送中心,这个中心到这六个点的运送货物的流量已知,单位费用已知,求这个点,使之到这六个点的配送总费用最小的问题。。。。六个点的坐标已知,求这个点的坐标。。。。非常感谢!
3楼2013-04-30 19:12:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

★ ★
ben_ladeng: 专家考核 2013-04-30 20:46:06
csgt0: 金币+2, 谢谢 2013-05-02 09:47:29
引用回帖:
3楼: Originally posted by c123_5 at 2013-04-30 19:12:45
就是设施选址的重心法,就是比如说有六个地点,要选择一个配送中心,这个中心到这六个点的运送货物的流量已知,单位费用已知,求这个点,使之到这六个点的配送总费用最小的问题。。。。六个点的坐标已知,求这个点 ...

这个你直接按照重心定义求就可以了吗?看做6个质点,每个质点有质量(流量*单位费用),然后直接求加权平均就行了
CODE:
a=[0.04,0.04,0.095,0.095,0.095];
w=[5000,7000,3500,3000,5500];
x=[3,8,2,6,8];
y=[8,2,5,4,8];
m = a.*w;
n = sum(m);
c(1) = x*m'/n;
c(2) = y*m'/n;
figure,hold on;
scatter(x,y,50,'filled') % 站点
scatter(c(1),c(2),100,'filled') % 重心

matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2013-04-30 19:52:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c123_5

铁虫 (初入文坛)

引用回帖:
4楼: Originally posted by libralibra at 2013-04-30 19:52:12
这个你直接按照重心定义求就可以了吗?看做6个质点,每个质点有质量(流量*单位费用),然后直接求加权平均就行了
a=;
w=;
x=;
y=;
m = a.*w;
n = sum(m);
c(1) = x*m'/n;
c(2) = y*m'/n;
figure,hold on;
s ...

这个是可以,但是还需要有个迭代的过程,麻烦您看一下附件

FT4SR5%3DHWA6UH(MGD((IQ.jpg



QQ截图20130430211920.png



QQ截图20130430211930.png

5楼2013-04-30 21:20:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c123_5

铁虫 (初入文坛)

引用回帖:
4楼: Originally posted by libralibra at 2013-04-30 19:52:12
这个你直接按照重心定义求就可以了吗?看做6个质点,每个质点有质量(流量*单位费用),然后直接求加权平均就行了
a=;
w=;
x=;
y=;
m = a.*w;
n = sum(m);
c(1) = x*m'/n;
c(2) = y*m'/n;
figure,hold on;
s ...

我发的那段代码是网上课件里的,需要用到迭代法但我用matlab运行了,上面说是语句有错误,我正在写篇论文,所以很需要用matlab。。。
6楼2013-04-30 21:21:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c123_5

铁虫 (初入文坛)

引用回帖:
4楼: Originally posted by libralibra at 2013-04-30 19:52:12
这个你直接按照重心定义求就可以了吗?看做6个质点,每个质点有质量(流量*单位费用),然后直接求加权平均就行了
a=;
w=;
x=;
y=;
m = a.*w;
n = sum(m);
c(1) = x*m'/n;
c(2) = y*m'/n;
figure,hold on;
s ...

这是那个课件里的资料,以及运行结果

QQ截图20130430211930.png



QQ截图20130430212740.png



QQ截图20130430212747.png

7楼2013-04-30 21:28:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖


fegg7502: 金币+1, 鼓励交流 2013-05-04 19:41:51
引用回帖:
5楼: Originally posted by c123_5 at 2013-04-30 21:20:26
这个是可以,但是还需要有个迭代的过程,麻烦您看一下附件

FT4SR5%3DHWA6UH(MGD((IQ.jpg

QQ截图20130430211920.png

QQ截图20130430211930.png
...

迭代是可以,问题是既然是重心法,直接能求出来重心,为何要舍近求远取用迭代?不太理解
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
8楼2013-04-30 22:00:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c123_5

铁虫 (初入文坛)

引用回帖:
8楼: Originally posted by libralibra at 2013-04-30 22:00:22
迭代是可以,问题是既然是重心法,直接能求出来重心,为何要舍近求远取用迭代?不太理解...

因为可能他不是最优,要有一个验证的过程,可以求偏导,也可以用迭代,迭代不是较容易编程吗?您能看出来问题出在哪了吗?
9楼2013-05-01 00:04:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c123_5

铁虫 (初入文坛)

那个重心是一个粗糙的结果,后面的迭代其实是为了取最优值,使偏导数等于零,大神帮忙看一下吧
10楼2013-05-03 23:37:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 c123_5 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考博] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 s3fFTmArrBt6 2026-09-14 4/200 2026-09-14 17:25 by Aj1rhIDL5ixY
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 LwdutQ8HoqWP 2026-09-13 5/250 2026-09-14 16:25 by Aj1rhIDL5ixY
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 LwdutQ8HoqWP 2026-09-13 4/200 2026-09-14 16:13 by Aj1rhIDL5ixY
[考研] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +4 LwdutQ8HoqWP 2026-09-13 4/200 2026-09-14 16:12 by Aj1rhIDL5ixY
[找工作] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 16:00 by Aj1rhIDL5ixY
[博后之家] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 15:57 by Aj1rhIDL5ixY
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +4 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 15:48 by Aj1rhIDL5ixY
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 15:45 by Aj1rhIDL5ixY
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 3n8v2C8RimXI 2026-09-13 4/200 2026-09-14 15:37 by Aj1rhIDL5ixY
[找工作] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +5 QUjhNVAcOSff 2026-09-13 6/300 2026-09-14 15:21 by Aj1rhIDL5ixY
[博后之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 QUjhNVAcOSff 2026-09-13 4/200 2026-09-14 15:01 by Aj1rhIDL5ixY
[公派出国] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 QUjhNVAcOSff 2026-09-13 6/300 2026-09-14 15:00 by Aj1rhIDL5ixY
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 QUjhNVAcOSff 2026-09-13 3/150 2026-09-14 14:57 by Aj1rhIDL5ixY
[基金申请] 求教各位大神:2026教育部人文社科青年基金项目何时公示呀? +5 云宴山人 2026-09-10 7/350 2026-09-14 12:11 by ecnu2013
[找工作] 浙江师范大学是怎么坑我的 +6 recruit123 2026-09-09 6/300 2026-09-14 12:00 by 萨仁其其格
[博后之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 QUjhNVAcOSff 2026-09-13 3/150 2026-09-14 10:11 by 23jxep3nCNZb
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 QUjhNVAcOSff 2026-09-13 4/200 2026-09-14 10:01 by 23jxep3nCNZb
[考博] 西北工业大学材料学院电化学传感与催化课题组招收2027年推免研究生、博士生、博士后 +3 马方园 2026-09-10 4/200 2026-09-14 09:29 by Chem张zz
[教师之家] 浙江师范大学是怎么坑我的 +10 recruit123 2026-09-09 15/750 2026-09-13 10:45 by seaskyy
[基金申请] 面上有专家说实验设备不是我们单位的 +6 zj_muchong 2026-09-08 8/400 2026-09-11 06:56 by suifengdao
信息提示
请填处理意见