• Регистрация
Andrey93
Andrey930.00
н/д
  • Написать
  • Подписаться

MATLAB Code

Системы связи,  Радиолокация,  Цифровая обработка сигналов 
29.12.2019

Уважаемые, коллеги !

Мне нужна помощь, в программе была ошибка несоответствия размера массива. Я так и долго не мог её исправить.

Файлы

  • ss_Pe42.m

Теги

  • MATLAB
    29.12.2019

    Лучший ответ

    • _______ ____________ +1694.54
      31.12.2019 12:00

      Марат, сейчас я тебе все расскажу! Есть замечательная книга Contemporary Communication Systems Using MATLAB , естественно к ней есть упражнения и дополнительные файлы, которые лежат в свободном доступе на file exchange. Несложно догадаться, что было дальше - Andrey93 взял код одной из функций - ss_Pe42, воткнул к ней код скрипта из которого она вызывается и скинул это все на форум, не удосужившись даже разобраться в синтаксических ошибках. Осталось теперь купить книгу и прочитать ее! 

      p.s. Я бы еще пару идей предложил, но боюсь меня забанят.

    Ответы

    • _______ ____________
      _______ ____________ +1694.54
      30.12.2019 09:47

      Начнем с того, что приложенный Вами код не исполняется из-за синтаксических ошибок. Можете пояснить, что данный код должен делать и откуда Вы его взяли?

      • Marat
        Marat+1655.30
        30.12.2019 18:27

        Очень помогает встроенный отладчик. Поставив брейкпоинт на 43-ю строчку (о которой и идёт речь в ошибке):

        tr11c(i)=sqrt(E);

        я выяснил, что переменная tr11c инициализируется в теле цикла, и растёт на каждом шаге. Помимо этого, индексация подсказывает, что создаётся численный вектор, конкретному элементу которого пытаются присвоить значение sqrt(E). Проблема в том, что Е - это тоже вектор из 25 элементов. Итого - попытка присвоить скалярному элементу векторное значение.

        • Andrey93
          Andrey930.00
          30.12.2019 18:30

          Спасибо вам. А что мне надо делать с этой проблемой?

          • Marat
            Marat+1655.30
            30.12.2019 18:41

            Ну для начала разобраться, что вообще этот код делает ;) Я понятия не имею, в чём тут по сути проблема. Может быть переменная Е должна быть скалярной? Может быть переменная tr11c должна быть матрицей, и у неё должны заполняться целые строки или целые столбцы в цикле?

            • Andrey93
              Andrey930.00
              30.12.2019 18:44

              Е энергия сигнала. А tr11c это квадратурная составляющая принятых сигналов. Как я понял tr11c соответствует элемент 1,1 матрицы размера 2х2

              • _______ ____________
                _______ ____________ +1694.54
                31.12.2019 10:36

                Марат, сейчас я тебе все расскажу! Есть замечательная книга Contemporary Communication Systems Using MATLAB , естественно к ней есть упражнения и дополнительные файлы, которые лежат в свободном доступе на file exchange. Несложно догадаться, что было дальше - Andrey93 взял код одной из функций - ss_Pe42, воткнул к ней код скрипта из которого она вызывается и скинул это все на форум, не удосужившись даже разобраться в синтаксических ошибках. Осталось теперь купить книгу и прочитать ее! 

                p.s. Я бы еще пару идей предложил, но боюсь меня забанят.

                • Andrey93
                  Andrey930.00
                  31.12.2019 11:16

                  Спасибо вам. Я откуда брал файлы, так как хочу поглубже изучать Матлаб. Моя работа связана с обработкой информации. А опыт у меня ещё мало. Готов слушать ваши идеи.
                  с уважением! 

                  • _______ ____________
                    _______ ____________ +1694.54
                    31.12.2019 11:46

                    1. Купите и прочитайте книгу, из которой взяли упражнения.

                    2. Тяжело читать зарубежные издания? Книги Дьяконова и Сергиенко Вам в помощь.

                    Удачи.