русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Задание последовательности значений


Дата добавления: 2014-09-05; просмотров: 2032; Нарушение авторских прав


 

Под последовательностью будем понимать набор чисел x(k), где k - порядковый номер числа в последовательности, количество чисел равно km. Эту последовательность в среде Matlab можно представить в виде вектора-столбца размерности km,1.

Задание последовательности в среде Matlab возможно двумя путями:

1) Путем задания всей последовательности в виде вектора

Например, последовательность {1, 2, 3, 4} задается так:

x=[1;2;3;4]

x =

 

2) Путем задания правила (формулы) расчета элементов последовательности.

Правило расчета элементов x(k) должно быть представлено в виде функции f(k), т.е. x(k) = f(k), при k =1:km.

Пусть, например, задана последовательность {1, 4, 9, 16}. Правило расчета для нее: x(k) = f(k) = k2, где k =1:km, km = 4.

В среде Matlab правило задается либо для элементов вектора в цикле, либо для всего вектора целиком.

 

Пример задания правила для элементов вектора в цикле:

km=4; % задается количество элементов последовательности

x=zeros(km,1); % задается вектор-столбец нужной размерности, заполненный нулями

for k=1:km % цикл задания элементов вектора

x(k,1)=k^2; % правило расчета элементов

end

 

Пример задания правила вектора целиком:

km=4; % задается количество элементов последовательности

x=zeros(km,1); % задается вектор-столбец нужной размерности, заполненный нулями

k=1:km; % задается последовательность перебора индексов вектора

x(:,1)=k.^2; % правило расчета элементов

 

Отметим две особенности для последнего случая:

а) должна быть задана последовательность по перебору индексов в виде вектора k =1:km

б) при записи правила расчета необходимо учитывать, что в записях операндов умножения (*), деления (/) и возведения в степень (^) необходимо ставить точку: (.*), (./) и (.^). В этом случае соответствующие операции будут производиться над элементами векторов, а не над векторами в целом (как в примере - x(:,1)=k.^2).



 

Одной из часто используемых последовательностей является линейная последовательность, когда правило расчета записывается в виде линейной функции: f(k) = a∙k + b, где a – шаг последовательности, b – начальное значение последовательности.

Для определения параметров a и b функции f(k) нужно взять два любых элементов последовательности: f(k1) = a∙ k1 + b , f(k2) = a∙ k2 + b и записав эти два уравнения в систему, разрешить ее относительно параметров a и b.

Рассмотрим, например, линейную последовательность {-1, -0.5, 0, 0.5, 1}. Так для первого элемента с номером k =1: f(1) = a∙1 + b = -1 , для второго элемента k =2: f(2) = a∙2 + b = -0.5.

Из системы уравнений:

a + b = -1

2a + b = -0.5

находим: a = 0.5, b = -1.5, отсюда f(k) = 0.5 k - 1.5

Линейная последовательность часто определяется в виде: x = xmin : ∆x : xmax, где xmin – левая и xmax – правая границы последовательности, а ∆x – шаг вариации. В этом случае, для правила расчета строится по следующему алгоритму:

1) Определяется количество точек в последовательности: km = (xmax xmin) / | ∆x | + 1. Если получается не целое число, то оно округляется до ближайшего целого;

2) Берется левая граница последовательности: k =1: f(1) = a∙1 + b = xmin

и правая граница последовательности: k = km: f(km) = a∙ km + b = xmax

3) Из системы:

a + b = xmin

km a + b = xmax

находим: a = (xmin xmax) / (1– km), b = xmin a.

Так для примера последовательности -1 : -0.5 : 1, получаем:

km = (xmax xmin) / | ∆x | + 1 = (1 –(-1)) /0.5 + 1 = 5.

a = (xmin xmax) / (1– km) = (-1 –1) / (1–5) = 0.5, b = xmin a = -1 –0.5 = - 1.5.

 

В среде Matlab, линейную последовательность также можно задать с помощью функции linspace(), на вход которой подаются параметры xmin, xmax, km, например:

x=linspace(-1,1,5)

x =

-1.0000 -0.5000 0 0.5000 1.0000

 



<== предыдущая лекция | следующая лекция ==>
Операции с матрицами | Задание функциональных зависимостей


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.