rytikovabs
?>

Почему возникает необходимость в дискретизации непрерывной информации?

Информатика

Ответы

yatania-popovich7
Цифровой мир дискретен. Между двумя любыми, сколь угодно близкими  числовыми значениями математик находит бесконечное количество чисел, но все равно нельзя сказать, что числами можно абсолютно точно представить непрерывное явление или процесс.
Зато можно представить такой процесс сколь угодно приближенным к реальному - надо только выбрать точки, в которых он описывается, довольно близко друг к другу. Выбрать их так, чтобы адекватно описать непрерывный процесс - это и есть задача дискретизации - процесса перевода непрерывной величины в некий набор числовых отсчетов.
dima-pashkovec
1. Определим наибольшее натуральное число, куб которого не превышает 2019. ∛2019 ≈ 12.6; отбрасывая дробную часть, получаем 12.
2. Выпишем набор натуральных чисел от 1 до 12 и их кубов:
1-1, 2-8, 3-27, 4-64, 5-125, 6-216, 7-343, 8-512, 9-729, 10-1000, 11-1331, 12-1728
3. Определим при "жадного" алгоритма набор кубов, дающий в сумме 2019 (из 2019 поочередно вычитаем.максимально возможные кубы):
2019-1728=291, 291-216=75, 75-64=11, 11-8=3, а 3 - это три раза по 1. Получаются кубы чисел 12, 6, 4, 2, 1, 1, 1 - всего СЕМЬ чисел.
4. Попытаемся улучшить найденное решение, отбрасывая те, которые найдут семь и более чисел.

Если взять число 11³=1331, то 2019-1331=688 и нужно составить его из кубов не более, чем 5 чисел.
688-512=176, 176-125=51, 51-27=24 ... и слишком длинно.
688-2×343=2, 2-1=1, 1-1=0 - 4 числа.
Улучшенное решение: 2019 = 11³+7³+7³+1³+1³

Лучшего решения нет.
mulyugina365
1. PascalABC.NET 3.3
const n=5;
begin
 writeln('До:');
 var a:=MatrRandom(n,n,-10,10); a.Println(5);
 var b:=a.ElementsWithIndexes.Select(k->k[2]>k[1]?0:k[0]).ToArray;
 writeln('После:');
 a:=MatrGen(n,n,(i,j)->b[i*n+j]); a.Println(5);
end.

Пример:
До:
   -7    3    8   -6   -5
   -2    6   -1   -6   -8
    5    7    2  -10    0
    9    3   -8    5   -6
   -4    1    1    0  -10
После:
   -7    0    0    0    0
   -2    6    0    0    0
    5    7    2    0    0
    9    3   -8    5    0
   -4    1    1    0  -10

2.
const n=5;
var 
a:array[1..n,1..n] of integer;
i,j:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
 begin
 for j:=1 to n do
  begin
   a[i,j]:=random(100);
   write(a[i,j]:4);
  end;
  writeln;
 end;
for i:=1 to n do
 for j:=i+1 to n do a[i,j]:=0;
writeln('Полученный массив:');
for i:=1 to n do
 begin
 for j:=1 to n do write(a[i,j]:4);
 writeln;
 end;
end.

Пример:
Исходный массив:
  62  25  21  54  22
  71  39  41  49  63
  26  93  50  79  35
  81  45  40  99  45
  46  87  63  36  15
Полученный массив:
  62   0   0   0   0
  71  39   0   0   0
  26  93  50   0   0
  81  45  40  99   0
  46  87  63  36  15

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Почему возникает необходимость в дискретизации непрерывной информации?
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

svt5299
Anatolevich667
D-posilochka
ivan-levermor
diana8
grachevakaterina
Sacharov84
artemka56rus
rusart3
buhh20104519
cafegasoil
agaloan8
Vlad Petr531
yusliva
Есартия52