Каталог статей
0 Идеи для конкурса
(Поделитесь на CSDN, как только появятся вопросы о конкурсе)
https://blog.csdn.net/dc_sinor?type=blog
1 Требования к вопросу
Теперь известно, что классная комната имеет длину 15 м и ширину 12 м, а 4 источника света (1, 2, 3, 4)
равномерно один блок, как
показано на рисунке ниже:
- (1) Как рассчитать интенсивность света в любой точке класса? (Интенсивность света источника света в целевой точке обратно пропорциональна квадрату расстояния от источника света до целевой точки и пропорциональна интенсивности источника света).
- (2) Нарисуйте поверхностную диаграмму функциональной зависимости между интенсивностью света и положением (горизонтальные и вертикальные координаты) каждой точки на расстоянии 1 м от земли и постарайтесь при этом дать приблизительную функциональную зависимость.
- (3) Предполагая, что высота в 1 метр от земли равна высоте рабочих столов учащихся, как спроектировать расположение этих четырех точечных источников света так, чтобы средняя удовлетворенность учащихся освещением была самой высокой?
- (4) Если точечный источник света в вопросе заменить линейным источником света, каков будет результат ответов на вопросы (2) и (3) выше?
(Для (1) и (2) предполагается, что расстояния между горизонтальной (вертикальной) стеной и источником света, источником света и источником света, источником света и стеной равны.)
2 Гипотетические соглашения
- 1. Свет не проходит через окна, двери и т. д. и не учитывает расход света в воздухе, т. е. сумма сил света остается неизменной;
- 2 На интерьер не влияют внешние источники света;
- 3 Высота класса 2,5 метра;
- 4 не учитывает отражение света;
- 5-линейный источник света излучает свет равномерно.
3 условных обозначения
4 Постройте модель
5 Решение модели
6 Код реализации
Код реализации
MatlabРекомендуется использовать python для его реализации, картинка будет выглядеть лучше, а текущая отечественная тенденция будет постепенно исключать Matlab.В настоящее время некоторые школы больше не могут использовать Matlab
clear
clc
max=0;min=4;
for i=0:0.1:3
for j=0.1:0.1:4
s=0;
x1=8+i,y1=5-j
x2=8+i,y2=10+j
x3=4-i,y3=10+j
x4=4-i,y4=5-j
for x=0:0.1:12
for y=0:0.1:15
for z=0:0.1:2.5
if x1~=x & y1~=y & x2~=x & y2~=y & x3~=x & y3~=y & x4~=x & y4~=y
s=s+1./((x1-x).^2+(y1-y).^2+(2.5-z).^2)+1./((x2-x).^2+(y2-y).^2+(2.5-z).^2)+1./((x3-x).^2+(y3-y).^2+(2.5-z).^2)+1./((x4-x).^2+(y4-y).^2+(2.5-z).^2);
end
end
end
end
k=4./s;l=0;z=1;
for x=0:0.1:12
for y=0:0.1:15
l=l+k.*(1./((x1-x).^2+(y1-y).^2+(2.5-z).^2)+1/((x2-x).^2+(y2-y).^2+(2.5-z).^2)+1./((x3-x).^2+(y3-y).^2+(2.5-z).^2)+1./((x4-x).^2+(y4-y).^2+(2.5-z).^2));
end
end
if l>max
max=l;
x11=x1;y11=y1;x12=x2;y12=y2;x13=x3;y13=y3;x14=x4;y14=y4;
end
p=l./(120.*150);Q=0;
for x=0:0.1:12
for y=0:0.1:15
Q=Q+(k.*(1./((x1-x).^2+(y1-y).^2+(2.5-z).^2)+1./((x2-x).^2+(y2-y).^2+(2.5-z).^2)+1./((x3-x).^2+(y3-y).^2+(2.5-z).^2)+1./((x4-x).^2+(y4-y).^2+(2.5-z).^2))-p).^2.^(1./2);
end
end
if min>Q
min=Q;
x21=x1;y21=y1;x22=x2;y22=y2;x23=x3;y23=y3;x24=x4;y24=y4;
end
end
end
disp(['最大值','x11=',num2str(x11),' ','y11=',num2str(y11),' ','x12=',num2str(x12),' ','y12=',num2str(y12),' ','x13=',num2str(x13),' ','y13=',num2str(y13),' ','x14=',num2str(x14),' ','y14=',num2str(y14)])
disp(['最平均','x21=',num2str(x21),' ','y21=',num2str(y21),' ','x22=',num2str(x22),' ','y22=',num2str(y22),' ','x23=',num2str(x23),' ','y23=',num2str(y23),' ','x24=',num2str(x24),' ','y24=',num2str(y24)])
附录二:
clear
clc
max=0;min=4;li=4;
for i=0:0.1:3
for j=0.1:0.1:4
s=0;
x1=8+i,y1=5-j
x2=8+i,y2=10+j
x3=4-i,y3=10+j
x4=4-i,y4=5-j
for x=0:0.1:12
for y=0:0.1:15
for z=0:0.1:2.5
if x1~=x & y1~=y & x2~=x & y2~=y & x3~=x & y3~=y & x4~=x & y4~=y
s=s+1./((x1-x).^2+(y1-y).^2+(2.5-z).^2)+1./((x2-x).^2+(y2-y).^2+(2.5-z).^2)+1./((x3-x).^2+(y3-y).^2+(2.5-z).^2)+1./((x4-x).^2+(y4-y).^2+(2.5-z).^2);
end
end
end
end
k=4./s;l=0;z=1;e=0
for x=0:0.1:12
for y=0:0.1:15
l=l+k.*(1./((x1-x).^2+(y1-y).^2+(2.5-z).^2)+1/((x2-x).^2+(y2-y).^2+(2.5-z).^2)+1./((x3-x).^2+(y3-y).^2+(2.5-z).^2)+1./((x4-x).^2+(y4-y).^2+(2.5-z).^2));
r=k.*(1./((x1-x).^2+(y1-y).^2+(2.5-z).^2)+1/((x2-x).^2+(y2-y).^2+(2.5-z).^2)+1./((x3-x).^2+(y3-y).^2+(2.5-z).^2)+1./((x4-x).^2+(y4-y).^2+(2.5-z).^2));
e=e+(r-6*10^(-32))^2;
end
end
S=(l-0.1278)^2+e
if S<li
li=S
x11=x1,y11=y1, x12=x2,y12=y2, x13=x3,y13=y3, x14=x4,y14=y4,
en4
en4
en4
disp(['x11=',num2str(x11),' ','y11=',num2str(y11),' ','x12=',num2str(x12),' ','y12=',num2str(y12),' ','x13=',num2str(x13),' ','y13=',num2str(y13),' ','x14=',num2str(x14),' ','y14=',num2str(y14)])
li