Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MB_1.rtf
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
51.14 Mб
Скачать

Примеры округления чисел

>> % Округление к числу, ближайшего к нулю. Отбрасывание дробной части

>> % Функция fix (см. help fix)

>> [fix(6.78), fix(-6.78), fix(0.001), fix(-0.001)]

ans =

6 -6 0 0

>> % Округление к меньшему числу (в сторону минус бесконечность)

>> % Функция floor (см. help floor)

>> [floor(6.78), floor(-6.78), floor(-0.001), floor(1.678)]

ans =

6 -7 -1 1

>> % Округление в сторону ближайшего целого числа

>> % Функция round (см. help round)

>> [round(6.7),round(-6.7),round(-0.01),round(1.6),round(1.4)]

ans =

7 -7 0 2 1

>> %% Округление в сторону плюс бесконечность

>> %% Функция ceil (см. help ceil)

>> [ceil(6.1),ceil(-6.1),ceil(0.01),ceil(1.23),ceil(1.6)]

ans =

7 -6 1 2 2

Задание 6

  1. В качестве округляемого числа примите X.YY, где Х – номер месяца, когда вы родились, YY – день месяца. Сформируйте массив в виде вектора-столбца с элементами, состоящих из функций fix(X.YY), floor(X.YY), round(X.YY), ceil(X.YY). Выведите результат в командное окно MATLAB.

2.6. Функции вычисления остатка от деления mod, rem

Примеры вычисления остатков от деления

>> %% Функция вычисления остатка после деления, модуль – термин

>> %% из модулярной, целочисленной арифметики

>> %% Функция mod (см. help mod)

>> [mod(2,12), mod(-2,12), mod(-2,-12), mod(11,12), mod(13,12)]

ans =

2 10 -2 11 1

>> [mod(3,0), mod(0,3), mod(0,0)]

ans =

3 0 0

>> %% Функция вычисления остатка после деления

>> %% Функция rem (см. help rem)

>> [rem(2,12), rem(-2,12), rem(-2,-12), rem(11,12), rem(13,12)]

ans =

2 -2 -2 11 1

>> [rem(3,0), rem(0,3), rem(0,0)]

ans =

NaN 0 NaN

Последний результат со значением NaN означает, что это не число (от англ. Not–a–Number). Функции mod и rem дают одинаковый результат для положительных аргументов.

2.7. Функции для работы с простыми числами

Функция primes формирует список простых чисел. Функция isprime проверяет простое ли число. Функция factor разлагает число на простые множители.

Примеры с функциями primes, isprime, factor

>> primes(21) %% см. help primes

ans =

2 3 5 7 11 13 17 19

>> primes(-21)

ans =

Empty matrix: 1-by-0

>> isprime(123)

ans =

0

>> isprime(113)

ans =

1

>> isprime(1:9)

ans =

0 1 1 0 1 0 1 0 0

>> isprime([1,3,7,9,13,17,19,21]) % для вектора-строки

ans =

0 1 1 0 1 1 1 0

>> isprime([1,3,7,9,13,17,19,21]') % ' - транспонирование

ans =

0

1

1

0

1

1

1

0

>> primes(2^4)

ans =

2 3 5 7 11 13

>> factor(123) %% разложение числа 123 на простые множители

ans =

3 41

>> 3 * 41 %% для проверки

ans =

123

В одном из примеров получился ответ Empty matrix. Это означает, что результат есть пустая матрица.

Задание 7

  1. Проверьте, является ли год вашего рождения простым числом.

  2. Выполните разложение вашего года рождения на простые множители с последующей проверкой.

В системе MATLAB предусмотрены символьные операции, в частности, решение линейных и нелинейных уравнений. Рассмотрим некоторые примеры.

>> syms x

>> y = x^2 + 3*x + 1

y =

x^2 + 3*x + 1

>> whos y

Name Size Bytes Class Attributes

y 1x1 112 sym

>> x12 = solve(y)

x12 =

- 5^(1/2)/2 - 3/2

5^(1/2)/2 - 3/2

>> xx = double(x12)

xx =

-2.6180

-0.3820

>> x = xx(1)

x =

-2.6180

>> yd = subs(y)

yd =

0

>> x = xx(2)

x =

-0.3820

>> yd2 = subs(y)

yd2 =

0

Функция solve может быть использована и для выражения, заключенного в одинарные кавычки, например,

>> str = '3*p^2 + 5*p + 2'

str =

3*p^2 + 5*p + 2

>> whos str

Name Size Bytes Class Attributes

str 1x15 30 char

>> q = solve(str)

q =

-1

-2/3

>> whos q

Name Size Bytes Class Attributes

q 2x1 112 sym

>> x1 = double(q)

x1 =

-1.0000

-0.6667

В заключение ознакомимся с календарем:

>> calendar(2013, 2)

Feb 2013

S M Tu W Th F S

0 0 0 0 0 1 2

3 4 5 6 7 8 9

10 11 12 13 14 15 16

17 18 19 20 21 22 23

24 25 26 27 28 0 0

0 0 0 0 0 0 0

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]