灯光照明实验matlab,MATLAB在低碳的室内装潢灯光照明的应用

问题描述,一个10*4*3的房间只配备300Watt的照明功率,要如何挂载灯泡使得灯光可以均匀的散布在房间各个角落,假定只是空房间,灯泡的使用个数不限,但功率的总和不超过300Watt。衡量亮度的指标是Watt/㎡

使用一个灯,要照亮各个角落当然要挂载天花板的最中间,也就是坐标(5,2)

如图1

0818b9ca8b590ca3270a3433284dd417.png

可看出一个300Watt的灯泡其灯光分布情况很不均匀,差距很大,所以不是最佳的方案

使用两个灯泡,当然是要放在y=2这条线上了,但最佳坐标需要算一下

0818b9ca8b590ca3270a3433284dd417.png

其最暗的角落(0,0)和最亮的地方(5,2)随这灯泡移动的轨迹如下

0818b9ca8b590ca3270a3433284dd417.png

可见在1.06和8.9的地方有交叉,则最优的点就是(1.06,2)和(8.9,2)。

三个灯泡的时候

0818b9ca8b590ca3270a3433284dd417.png

曲线:

0818b9ca8b590ca3270a3433284dd417.png

无最优解

附上代码:

syms x y; light1=300/(4*pi*((x-5)^2+(y-2)^2+3^2)); ezcontourf(light1,[0 10 0 4]); colormap(gray); axis equal tight; [x,y]=meshgrid(0:0.1:10,0:0.1:4); light2=inline('150/(4*pi*((x-d)^2+(y-2)^2+3^2))','x','y','d'); light2=vectorize(light2); figure; contourf(light2(x,y,2)+light2(x,y,8),50); colormap(gray); axis equal tight; intensity_corner=[]; for d=0:0.1:10     intensity_corner=[intensity_corner light2(0,0,d)+light2(0,0,10-d)]; end intensity_center=[]; for d=0:0.1:10     intensity_center=[intensity_center light2(5,2,d)+light2(5,2,10-d)]; end figure; plot(0:0.1:10,intensity_corner); hold on; plot(0:0.1:10,intensity_center,'r-'); optimal=solve('150/(4*pi*((0-d)^2+(0-2)^2+3^2))+150/(4*pi*((0-(10-d))^2+(0-2)^2+3^2))=150/(4*pi*((5-d)^2+(2-2)^2+3^2))+150/(4*pi*((5-(10-d))^2+(2-2)^2+3^2))','d'); optimal=double(optimal); optimal_intensity=light2(0,0,optimal(1))+light2(0,0,10-optimal(1)); light3=inline('100/(4*pi*((x-d)^2+(y-2)^2+3^2))','x','y','d'); light3=vectorize(light3); figure; contourf(light3(x,y,1)+light3(x,y,9)+light3(x,y,5),50); colormap(gray); axis equal tight; test_intensity_corner=light3(0,0,1)+light3(0,0,9)+light3(0,0,5); test_intensity_center=light3(5,2,1)+light3(5,2,9)+light3(5,2,5); intensity_corner3=[]; for d=0:0.1:10     intensity_corner3=[intensity_corner3 light3(0,0,d)+light3(0,0,10-d)+light3(0,0,5)]; end intensity_center3=[]; for d=0:0.1:10     intensity_center3=[intensity_center3 light3(5,2,d)+light3(5,2,10-d)+light3(5,2,5)]; end figure; plot(0:0.1:10,intensity_corner3); hold on; plot(0:0.1:10,intensity_center3,'r-');

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值