Идеи математического моделирования Кубка Хуашу 2023 – Обзор: оптимальная модель для расчета интенсивности света

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

Guess you like

Origin blog.csdn.net/dc_sinor/article/details/131996433