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

Упражнение 1. Создать символьное число вычислить значения при вернуть значение системной константы, снова вычислить . Проверить равенство полученных результатов с помощью логической операции.

Проверить наличие символьных переменных можно с помощью команды syms без аргументов.

>> pi=sym('pi')

pi =

pi

>> k=1:1:10

k =

1 2 3 4 5 6 7 8 9 10

>> y=cos(pi*k/2)

y =

[ 0, -1, 0, 1, 0, -1, 0, 1, 0, -1]

>> clear pi

>> y=cos(pi*k/2)

y =

0.0000 -1.0000 -0.0000 1.0000 0.0000 -1.0000 -0.0000 1.0000 0.0000 -1.0000

Упражнение 2. Задать символьные переменные х и y. Задать z - массив . Проверить наличие символьных переменных. Сделать вывод.

>> x=sym('x')

x =

x

>> y=sym('y')

y =

y

>> z=[cos(x) sin(y); -sin(y) cos(x)]

z =

>> whos

Name Size Bytes Class Attributes

k 1x10 80 double

x 1x1 126 sym

y 1x1 126 sym

z 2x2 354 sym

Упражнение 3. Задать массив с элементами , и упростить его.

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

>> x=sym('x')

x =

x

>> z=[(x^7+3*x^2-4)/(x-1) sqrt(x^2)/x]

z =

[ (x^7+3*x^2-4)/(x-1), (x^2)^(1/2)/x]

>> simplify(z)

ans =

[ x^6+x^5+x^4+x^3+x^2+4*x+4, csgn(x)]

или

>> x=sym('x','real')

x =

x

>> z=[(x^7+3*x^2-4)/(x-1) sqrt(x^2)/x]

z =

[ (x^7+3*x^2-4)/(x-1), (x^2)^(1/2)/x]

>> simplify(z)

ans =

[ x^6+x^5+x^4+x^3+x^2+4*x+4, signum(x)]

где signum - функция, кот возвращает единицу, если эл-т больше 0, и -1, если наоборот

Упражнение 4. Разложить на множители:

а) ; б) ; в) 123456789, в) .

>> z=x^4+4

z =

x^4+4

>> factor(z)

ans =

(x^2-2*x+2)*(x^2+2*x+2)

>> z=x^7+1

z =

x^7+1

>> factor(z)

ans =

(1+x)*(1-x+x^2-x^3+x^4-x^5+x^6)

>> z=123456789

z =

123456789

>> factor(z)

ans =

3 3 3607 3803

>> z=2*x^3+x^2*y-5*x*y^2+2*y^3

z =

2*x^3+x^2*y-5*x*y^2+2*y^3

>> factor(z)

ans =

(-y+x)*(-y+2*x)*(2*y+x)

Упражнение 5. Решить неравенство, получить точный и приближённый ответ:

а) б)

Объяснить результат пункта б).

a)>> syms x

>> maple('solve','{x^3+3*x>3}',x)

ans =

{1/2*(12+4*13^(1/2))^(1/3)-2/(12+4*13^(1/2))^(1/3) < x}

>> vpa(ans,5)

ans =

{.81770 < x}

b)>> syms x

>> maple('solve','{x^3+3*x>3}',x)

ans =

{1/2*(12+4*13^(1/2))^(1/3)-2/(12+4*13^(1/2))^(1/3) < x}

>> vpa(ans,5)

ans =

{.81770 < x}

>> maple('solve','{x^3-3*x+1>0}',x)

ans =

{x < -1/4*(-4+4*i*3^(1/2))^(1/3)-1/(-4+4*i*3^(1/2))^(1/3)-1/2*i*3^(1/2)*(1/2*(-4+4*i*3^(1/2))^(1/3)-2/(-4+4*i*3^(1/2))^(1/3)), -1/4*(-4+4*i*3^(1/2))^(1/3)-1/(-4+4*i*3^(1/2))^(1/3)+1/2*i*3^(1/2)*(1/2*(-4+4*i*3^(1/2))^(1/3)-2/(-4+4*i*3^(1/2))^(1/3)) < x}, {1/2*(-4+4*i*3^(1/2))^(1/3)+2/(-4+4*i*3^(1/2))^(1/3) < x}

>> vpa(ans,5)

??? Error using ==> sym.maple at 87

Error, invalid input: evalf expects 1 or 2 arguments, but received 3

Error in ==> sym.vpa at 32

r = maple('evalf',s,d);

Ошибка выводится из-за того, что Matlab ожидает ввода 1 или 2 аргументов, тогда как мы предоставляем ему 3.

Упражнение 6. Написать М-файл с параметрами x(n), n0, a, epsilon, осуществляющий следующие действия:

  1. Задаёт массив n номеров от n0–5 до n0+10.

  2. Строит график последовательности x(n) на указанном промежутке.

  3. Строит прямые

Для последовательностей :

а) ; б) ; в) ; г)

выполнить:

  1. Найти .

  2. Вычислить . Результат оформить в виде таблицы

а)

б)

в)

г)

  1. С помощью созданного М-файла построить графическую иллюстрацию.

Указание. При задании формулы x(n) не забывайте, что n – это массив.

syms x n n0 a epsilon

epsilon=const

a=const1

x=const2

maple('solve','{abs(x-a)'<epsilon,n>0},n)

n0=floor(ans)

Соседние файлы в папке Математический Анализ