24小时热门版块排行榜    

查看: 4268  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[文学芳草园] 梦想 +5 myrtle 2026-08-26 7/350 2026-09-01 15:18 by myrtle
[基金申请] 学科评审组评审是指会评吗? +4 瞬息宇宙 2026-08-31 4/200 2026-09-01 14:58 by jiaoxg
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +13 Kittylucky 2026-08-27 14/700 2026-09-01 11:06 by feng6531
[论文投稿] 小白求助 投论文要求的highlights应该如何写 5+3 l1963982152 2026-08-29 4/200 2026-09-01 09:04 by 北京莱茵编辑
[基金申请] 投票:  有多少人是今天查系统知道结果的? +17 爱看书的可乐 2026-08-26 19/950 2026-08-31 21:30 by xiangy672
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +6 yuleib84 2026-08-26 7/350 2026-08-31 19:46 by 鱼翔浅底1
[基金申请] 中青基了要发朋友圈吗? +7 349506619 2026-08-28 7/350 2026-08-31 13:39 by 冼亮淀粉酶
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 有没有仍没收到信息的 +7 德尚中行 2026-08-27 8/400 2026-08-30 20:52 by purplejack
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +15 晴天加油 2026-08-26 16/800 2026-08-29 18:28 by symmetry
[基金申请] 国自然评审意见 +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
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 系统进不去 +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
信息提示
请填处理意见