Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

lection_matlab_all / matlab_11

.pdf
Скачиваний:
23
Добавлен:
27.05.2015
Размер:
229.04 Кб
Скачать

Для решения систем алгебраических уравнений и одиночных уравнений служит функция solve:

• solve( expr1, expr2, ..., exprN, var1, var2, ..., varN ) — возвращает значения переменных var, при которых соблюдаются равенства, заданные выражениями expr. Если в выражениях не используются знаки равенства, то полагается expr = 0;

При отсутствии аналитического решения и числе неизвестных, равном числу уравнений, ищется только одно численное решение, а не все решения. Возврат результата возможен в следующих формах:

для одного уравнения и одной переменной решение возвращается в виде одномерного или многомерного массива ячеек;

при одинаковом числе уравнений и переменных решение возвращается в упорядоченном по именам переменных виде;

для систем с одним выходным аргументом решение возвращается в виде массива записей.

Примеры:

>>syms х у;

>>solve( х^3-1, х ) ans =

[

1]

[-1/2 + 1/2*i*3^(1/2)] [-1/2 - 1/2*i*3^(1/2) ]

>> solve( 'sin(x)=0.5', х ) → ans = 0.523598775598298873077107...

>> S = solve( 'х+у=3', 'х*у^2=4', х, у ); →

S — структура

х: [3x1 sym]

>> S.x

 

>> S.у

 

у: [3x1 sym]

 

ans =

 

ans =

 

 

[ 4]

 

[ -1]

 

[ 1]

 

[ 2]

 

[ 1]

 

[ 2]

 

Функция simplify(S) пытается упростить символьное выражение S. Если упрощение невозможно, то возвращается исходное выражение.

Примеры:

>>syms a b x;

>>V = [ sin(х)^2 + соs(х)^2, log(a*b) ] V = [ sin(x)^2+cos(х)^2, log(a*b) ]

>>simplify(V) → ans = [1, log(a*b)]

>>simplify( ( а^2 - 2*а*b + b^2 )/( a - b ) ) → ans = a-b

Функция simple (S) также выполняет различные упрощения для выражения S и, кроме того, выводит как промежуточные результаты, так и самый короткий конечный результат. При этом используется более глубокий анализ и распознаётся больше спец. функций.

Примеры:

 

 

cos(х)^2 + sin(х)^2

1

combine(trig)

2*cos(x)^2 - sin(x)^2

3*cos(x)^2 - 1

simplify

cos(x)^2 - sin(x)^2

cos(2*x)

combine(trig)

cos(х) + (-sin(х)^2 )^(1/2)

cos(x) + i*sin(x)

radsimp

cos(x) + i*sin(x)

exp(i*x)

convert(exp)

expand(S) расширяет выражения, входящие в массив S. Рациональные выражения она раскладывает на простые дроби, полиномы — на полиномиальные разложения и т. д. Функция работает со многими алгебраическими и тригонометрическими функциями.

factor(S) поэлементно разлагает выражения вектора s на простые множители, а целые числа — на произведение простых чисел.

numden(А) преобразует каждый элемент массива А в рациональную форму в виде отношения двух неприводимых полиномов с целочисленными коэффициентами.

horner(P) возвращает символьный полином или массив символьных полиномов Р, преобразованный по схеме Горнера, минимизирующей число операций умножения.

collect(S, v) обеспечивает комплектование выражений в составе вектора или матрицы S по степеням переменной v.

Функция ezplot позволяет строить графики функций, заданных в символьной форме:

ezplot(f) — строит график символьно заданной функции f(х) независимой переменной х в интервале [-2*pi, 2*pi];

ezplot(f, xmin, xmax) или ezplot(f, [xmin, xmax]) — делает то же, но позволяет задать диапазон изменения независимой переменной х от xmin до xmax;

ezplot (f, [xmin xmax], fig) — обеспечивает спецификацию графика с помощью параметра fig.

Функция ezcontour служит для построения с помощью карт линий уровня контурных графиков функций вида z = f(x, y):

ezcontour (f) — строит контурный график с настройкой по умолчанию;

ezcontour (f, domain) — строит контурный график с заданными параметром domain пределами изменения х и у.

ezcontour (..., n) — обеспечивает ранее указанные построения при явном задании числа линий n.

Похожая на рассмотренную выше функция ezcontourf строит контурные графики с функциональной окраской (заполняет соотв. цветом) областей между линиями равного уровня.

Для построения трехмерных графиков заданных в виде символьных выражений функций служит функция ezplot3:

ezplot3( x, у, z ) — строит трехмерный график функции, заданной параметрически уравнениями x(t), y(t), z(t) при настройке по умолчанию;

ezplot3( х, у, z, [tmin tmax] ) — строит трехмерный график функции, заданной параметрически уравнениями x(t), y(t), z(t) при изменении аргумента t от tmin до tmax;

Функция ezsurf используется для построения графиков поверхностей, задаваемых функциями вида z = f(x,y):

ezsurf (f) — построение поверхности f(x,y) с параметрами х и у в интервале [-2*pi, 2*pi];

ezsurf (f, domain) — построение поверхности f(x,у) с пределами изменения х и у, заданными параметром domain

ezsurf (x, у, z) — построение поверхности, заданной параметрически зависимостями x(t), y(t), z(t) при t меняющимся в интервале [-2*pi, 2*pi].

Соседние файлы в папке lection_matlab_all