I.3. Некоторые функции matlab
zeros. Команда R=zeros(N) создает матрицу R размерности nxn состоящую из нулей. Команда R=zeros(M,N) создает матрицу нулей размера mxn. Команда R=zeros(size(A)) образует матрицу нулей такой же размерности как и матрица A.
ones. Команда R=ones(N) создает матрицу единиц размерности nxn. Команда R=ones(M,N) создает матрицу единиц размера mxn. Команда R=zeros(size(A)) образует матрицу единиц такой же размерности как и матрица A.
еуе. Команда R=еуе(N) создает матрицу размерности nxn с единицами на главной диагонали. Команда R=еуе(size(A)) образует матрицу такой же размерности как и матрица A.
rand. Функция X=rand(n) формирует массив размера nxn, элементами которого являются случайные величины, распределенные по равномерному закону в интервале от 0 до 1. Команды X=rand(n,m) и X=rand(size(A)) формируют матрицы размерности nxm и размерности, соответствующей матрице A.
randn. Функция X=randn(n) формирует массив размера nxn, элементами которого являются случайные величины, распределенные по нормальному закону с математическим ожиданием 0 и среднеквадратичным отклонением 1. Команды X=randn(n,m) и X=randn(size(A)) формируют аналогичные матрицы размерности nxm и размерности, соответствующей матрице A.
tril. Команда L=tril(A) сохраняет нижнюю треугольную часть матрицы A. Команда L=tril(A,k) сохраняет нижнюю часть матрицы A, начиная с диагонали с номером k, при k=0 – это главная диагональ, при k>0 выше главной диагонали и при k<0 – ниже.
triu. Команда L=triu(A) сохраняет верхнюю треугольную часть матрицы A. Команда L=triu(A,k) сохраняет верхнюю часть матрицы A, начиная с диагонали с номером k, при k=0 – это главная диагональ, при k>0 выше главной диагонали и при k<0 – ниже.
diag. Если b – вектор-столбец или вектор-строка размера n, тo команда R=diag(b,k) создает квадратную матрицу размерности n+abs(k) с элементами вектора b на k-ой диагонали. При k=0 – это главная диагональ, при k>0 выше главной диагонали и при k<0 – ниже. Команда R=diag(b) помещает компоненты вектора b на главную диагональ. Если A – матрица, то R=diag(A,k) – вектор-столбец, составленный из элементов k-ой диагонали матрицы X. R=diag(A) – вектор-столбец с элементами главной диагонали матрицы A. Поэтому R=diag(diag(A)) –диагональная матрица.
sum. Если X – вектор, то sum(X) – сумма его элементов. Если A – матрица, то sum(A) – вектор-строка, компонентами которого являются суммы элементов каждого столбца. След матрицы A можно найти так: sum(diag(A)).
prod. Если X –вектор, то prod(X) – произведение его элементов, еcли A – матрица, то prod(A) – вектор-строка, компонентами которого являются произведения элементов каждого столбца.
rank и det. Ранг матрицы A и ее определитель вычисляются командами: rank(A) и det(A) соответственно.
inv. Обратная матрица для квадратной матрицы A вычисляется командой inv(A).
norm. Евклидову норму можно найти командой norm(b) для вектора и norm(A) – для матрицы.
trace. След матрицы A вычисляется командой trace(A).
eig. Команда d=eig(A) вычисляет собственные значения матрицы A.
polyval. Функция y=polyval(p,s) вычисляет значения полинома, определенного коэффициентами p=[p1. pn+1] соответствующими полиному , в точке s.
roots. Функция r=roots(p), где p=[p1. pn+1], вычисляет вектор-столбец корней полинома
.
poly. Функция p=poly(r), функция обратная roots, по корням вычисляет коэффициенты полинома.
Какие есть циклы в Матлаб, что такое Zeros в MatLab, как выйти из цикла
В официальной документации к Матлаб синтаксис цикла «for» описан таким образом:
Syntax
for index = values
program statemens
end
Если перевести на русский язык описание цикла, то получаем следующее:
Syntax
for<объявляем переменную> =<описываем значение>
<описываем тело цикла>
end
Рассмотрим несколько простых примеров использования цикла «for» в Матлаб.
for d = 100: 1.0: 0.0
disp(d)
end
В этом примере мы запустили цикл, при котором программа будет перебирать числа от 100 до 0 с шагом 1 и выводить их на экран. Программа начнет отсчет со 100 и остановится на 0.
Еще один просто й пример использования цикла «for»:
Syntax
d = [3 6 5 3 6 9 5 3 1 0];
n = d(1);
for i=1:length(d)
if n <d(i)
n = d(i);
end
end
disp(n)
В этом цикле мы запускаем счетчик «i» и меняем его значение от 1 до 10 с шагом 1. Результат выводим на экран.
Вообще, цикл «for» в Матлаб часто используется в тех случаях, когда нужно перебирать числовые значения в определенном диапазоне с определенным шагом.
Цикл «while. end» в Матлаб
В официальной документации к Матлаб можно найти такой шаблон цикла «while. end»:
Syntax
while expression
program statements
end
Если перевести на русский и понятный язык это описание цикла, то получим следующее:
Syntax
while <задаем условия>
<описываем действия>
end
Рассмотрим простой пример использования цикла «while. end» в Матлаб:
Syntax
exp = 100;
while exp > 1
exp = exp-1
end
В этом примере мы имеем цикл «while. end», который будет выполнять действие «exp=exp-1» до тех пор, пока соблюдается условие «exp>1». Таким образом, мы получаем цикл, который будет работать до тех пор, пока соблюдаются условия цикла. Как только условия станут ложными, работоспособность цикла сразу прервется.
Что такое «zeros» в Матлаб?
-
векторы — формируются односоставными массивами;
-
матрицы — формируются двусоставными массивами;
-
тензоры — формируются многосоставными массивами.
-
«zeros» — генерирует хранилище, состоящее из нулей;
-
«ones» — генерирует хранилище, состоящее из единиц;
-
«eye» — генерирует матрицу, состоящую из единиц;
-
«rand» — генерирует хранилище компонентов, распределяемых по равномерному принципу;
-
«randn» — генерирует хранилище компонентов, распределяемых по нормальному принципу;
-
«cross» — реализует произведение нескольких векторов;
-
«kron» — реализует произведение тензоров;
-
«linspace» — генерирует однолинейное хранилище из равноотстоящих компонентов;
-
«logsoace» — генерирует компоненты логарифмической решетки;
-
«meshgrid» — генерирует компоненты двусоставной и трехсоставной решетки;
-
«:» — формирует векторы и подматрицы.
Заключение
Матлаб, хоть и специфический, но очень интересный язык программирования. Его нет смысла изучать, если вы хотите программировать приложения или веб-сайты. Но если вам нужно проанализировать какие-то технические данные и вывести их понятным графиком, то Матлаб — это то, что нужно.
Сегодня мы рассмотрели какие циклы бывают в Матлаб, а также что такое «zeros». В следующих статьях мы продолжим изучение этого языка.
Мы будем очень благодарны
если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.
Что такое zeros в матлабе
Create an array of all zeros
Description
B = zeros(n) returns an n -by- n matrix of zeros. An error message appears if n is not a scalar.
B = zeros(m,n) or B = zeros([m n]) returns an m -by- n matrix of zeros.
B = zeros(d1,d2,d3. ) or B = zeros([d1 d2 d3. ]) returns a n array of zeros with dimensions d1 -by- d2 -by- d3 -by- . .
B = zeros(size(A)) returns an array the same size as A consisting of all zeros.
The MATLAB language does not have a dimension statement; MATLAB automatically allocates storage for matrices. Nevertheless, for large matrices, MATLAB programs may execute faster if the zeros function is used to set aside storage for a matrix whose elements are to be generated one at a time, or a row or column at a time. For example
MATLAB zeros
zeros() command creates an array of all zeros, after reading this MATLAB zeros topic, you will know the theory, and examples, and you will understand how to create a matrix with all elements zero in MATLAB.
Syntax:
- Foe zeros(n), represents n columns and n rows.
- Foe zeros(n,m), represents the n rows and m columns.
Example: To create 2×2 zeros matrix.
The statement to create zeros matrix in MATLAB is given as
Output:
Example: To create 2×3 zeros matrix.
Output:
Related Topics
This command creates an array of all ones, after reading this MATLAB ones topic, you…
title() command puts the title on the plot, after reading this MATLAB title topic, you will…
The ylabel command put the label on the y-axis of the plot, after reading this…
The xlabel command put the label on the x-axis of the plot, after reading this…
linspace( ) command or function creates a row vector with elements that are linearly (equally)…
Published by
Electrical Workbook
We provide tutoring in Electrical Engineering. View all posts by Electrical Workbook