Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 21.03.2017
Сообщений: 7

Энергетические характеристики лидара на python

24.09.2019, 20:21. Показов 917. Ответов 3

Студворк — интернет-сервис помощи студентам
Добрый день! Написал программу "энергетические характеристики лидара" на Mathcad, там все работало идеально. Попытался я все перенести все на python и вот тут у меня начались проблемы. Несколько недель пытаюсь написать программу. Изучил кучу тем, читал кучу учебников по python, но все равно пока ничего не выходит. Я думаю что цикл у меня не правильно работает. Думаю что как-то надо записать все варианты рандома. Подскажите что я упустил. Во вложении код с Mathcad
А вот что я "накалякал" в phyton:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
print("Введите растояние между осями приемника и передатчика Po(Po):")
Po = input("\tPo = ")
Po_int = int(Po)
 
print("Введите угол между осями приемника и передатчика a(a):")
a= float(input("\ta = "))#угол между осями передатчика и приемника 
 
q=150
Rt=25 # Аппертура передатчика (мм)
Qt=150 #Расходимость передатчика
Rr=25 #Апертура приемника
Qr=150*10**-6 #Поле зрения приемника
dx=10000 # пространственное разрешение
Xmax=10000 #дистанция
N=1000 #число фотонов
Mi=0
import random
Nx = int(Xmax/dx)
N = int(N*1)
for i in range(1,Nx,10):
    x = i*dx
    for j in range (1,N,10): #Нахождение случайных точек по кол-ву N(числу фотонов)
        y1t_x= -Rt-x*Qt
        y2t_x= Rt+x*Qt
        y1r= Po_int-Rr
        y2r= Po_int+Rr
        z1t_x=-Rt-x*Qt
        z2t_x=Rt+x*Qt
        z1r=Po_int-Rr
        z2r=Po_int+Rr
        first=(Rt+x*Qt)-(-Rt-x*Qt)-Rt
        second=(Po_int+Rr)-(Po_int-Rr)-Rt+Po_int
        third=(Rt+x*Qt)-(-Rt-x*Qt)-Rt
        fourth=(Po_int+Rr)-(Po_int-Rr)-Rt+Po_int    
        yt= random.randint(0,first)
        yr= random.randint(0,second)
        zt= random.randint(0,third)
        zr= random.randint(0,fourth)
        Gauss= 2.72**(((yt**2)+(zt**2))/2*q*1) #Знаю что есть отдельная формула для гауса, но так мне привычней.
    if Qt==0*10**-6:
        wgt=Gauss
    else:
        wgt=((Rt+x*Qt)-(-Rt-x*Qt))/Qt**2
    if math.sqrt(((yr-yt)**2)+((zr-zt)**2)/x)-a <= Qr:
        Mi=Mi+wgt
    Mi=Mi/N
print=Mi
Миниатюры
Энергетические характеристики лидара на python  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.09.2019, 20:21
Ответы с готовыми решениями:

Имитация работы лидара на Qt
Доброго времени суток! Задача: имитировать работу лидара на Qt. Мое решение: попиксельная отрисовка линий, а именно: сначала сохраняем...

Энергетические диаграммы
Здравствуйте. Не понимаю как изобразить энергетическую диаграмму и энергетические диаграммы при прямом и обратном смещении. Вот сама...

Ищем ведущего программиста в команду по разработке сканирующего навигационного лидара (LiDAR)
В российскую технологическую компанию, занимающуюся разработкой сканирующих навигационных лидаров (LiDAR) для беспилотных транспортных...

3
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,248
25.09.2019, 09:48
Liklok86, не все знают маткад) не могли бы вы описать алгоритм текстом, или блок-схемой? И почему вы считаете, что результат работы пайтон не соответствует вашим ожиданиям?
1
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
25.09.2019, 11:09
Цитата Сообщение от Liklok86 Посмотреть сообщение
for i in range(1,Nx,10):
На всякий случай - индексация в питоне начинается с нуля. Маткад - не в курсе, но вот в матлабе, к примеру, с 1. Сверить.
Цитата Сообщение от Liklok86 Посмотреть сообщение
if Qt==0*10**-6:
Условие выглядит странно. Похоже на погрешность. Может не сработать.
1
0 / 0 / 0
Регистрация: 21.03.2017
Сообщений: 7
25.09.2019, 19:17  [ТС]
Ну вот смотри, вместо равно там стрелка, циклы такие же (For), Условие if (только if в конце ставиться). А так в целом то же самое.

Добавлено через 9 минут
Вот еще есть одна проблема, часто пишет ошибку:
Traceback (most recent call last):
File "C:\Users\Liklo\OneDrive\Рабочий стол\Прога phyton\phyton v2\dima.py", line 39, in <module>
Gauss= 2.72**(((yt**2)+(zt**2))/2*q*1)
OverflowError: (34, 'Result too large')
Я понимаю что результат слишком большой, но как исправить ошибку не особо понимаю. Тип long не помог мне.

Добавлено через 2 минуты
В принципе то же самое, за исключением что равно это стрелка, такой же цикл for и if, но вот if пишется в конце.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.09.2019, 19:17
Помогаю со студенческими работами здесь

Энергетические методы расчета упругих систем №2
Задача №7б. Подобрать номер двутавра для статически неопределимой плоской рамы (рис. 7, б) при допускаемых напряжениях (СИГМА аdm) -160...

Энергетические методы расчета упругих систем
Задача 7а. Для плоской статически определимой рамы (рис.7, а) по- добрать номер двутавра, приняв допускаемое напряжение cradm(сигма) =...

Энергетические уровни изолированного атома и кристалла
В чем сходство и в чем различие между картинами энергетических уровней изолированного атома и кристалла?:umnik:

Можно дать идею как энергетические соотношения использовать
Соотношение неопределенностей иногда можно обойти. Например, используя две формулы mvr=h/2П mc^{2}=\frac{m_{0}c^{2}}{\sqrt{1-v^2/c^2}} ...

Создайте М-файл, преобразующий заданные импульсные характеристики системы в частотные характеристики
Нужна помощь в следующем задании. 2. Создайте М-файл, преобразующий заданные импульсные характеристики системы в частотные ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru