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*
Комментарий*

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

ВладимировнаИП37
perova-s200
N-odes-art-school410
Verakravez8790
yelena
karavan85450
Ioanova Korneeva1093
kartyshkinaaa
РубенШафетдинов
rimmatrotskaia303
npprang21
a1rwalk3r
lbondareva
Evsevia-a
azarovaelena19812