24小时热门版块排行榜    

查看: 4272  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 投票:  有多少人是今天查系统知道结果的? +17 爱看书的可乐 2026-08-26 19/950 2026-09-02 00:19 by xiangy672
[基金申请] 面上合作单位盖章 +6 ssyjh 2026-08-27 9/450 2026-09-01 20:01 by huagongfeihu
[基金申请] 面上函评意见出来了,像什么等级? 20+4 Tsingking1 2026-08-27 17/850 2026-09-01 19:51 by 超级无敌华子
[基金申请] 为什么国自然不能直接公布 +5 bjdxyxy 2026-08-26 5/250 2026-09-01 17:54 by 小伟大博士
[文学芳草园] 梦想 +5 myrtle 2026-08-26 7/350 2026-09-01 15:18 by myrtle
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +13 Kittylucky 2026-08-27 14/700 2026-09-01 11:06 by feng6531
[基金申请] 面上意见出来了 +12 黄鸟于飞Chao 2026-08-29 23/1150 2026-08-31 18:57 by 黄鸟于飞Chao
[基金申请] 能否申诉? +7 echo8914667 2026-08-30 8/400 2026-08-31 17:00 by yihongxu
[基金申请] 中青基了要发朋友圈吗? +7 349506619 2026-08-28 7/350 2026-08-31 13:39 by 冼亮淀粉酶
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
信息提示
请填处理意见