Лабораторная работа №1
(Оформляется в MS WORD. Титульный лист должен содержать ФИО, № группы, вариант)
ЛР1. Основы Scilab. Задачи с одномерными массивами
plot(x,y) | построение графика функции y(x) |
plot(x,y1,x,y2) | построение графиков функций y1(x) и y2(x) в одной системе координат |
xbasc(),xclear() | очистить графическое окно |
plot2d2(x,y) | построение графика в виде ступенчатой линии |
polarplot(fi,ro) | построение графиков в полярной системе координат |
plot3d(x,y,z) | построение графика z=z(x,y) |
[x,y]=meshgrid([]) | создание прямоугольной сетки |
Задания.
В заданиях n – номер студента в списке.
1.Построить графики функций в прямоугольной декартовой системе координат (некоторые графики построить в одной системе координат и в виде ступенчатой линии. y=sinx/x
1. y=xn-10-5x+n;
2. y=tg(nx)+n;
3. y=x+sin(x)+ctgx+lnx+e2x;
4. y=x3cos2x
5. y=x2
Построить график параметрической кривой
Построить графики функций в полярной системе координат.
1. r=n
2. r=n
3. r=2-4sin ;
4. r=sin ;
5. r=sin 1.75
;
6. r= ;
7. r= ;
8. r= ;
Построить график функции , x меняется от –
до
с шагом
.
3. Даны матрицы:
,
, C
Найти (3*(A B+C))*(A-C), (A+B)*(A+C), (A-B)*(B+C).
4. Для всех уравнений отделить корни графически. То есть, с помощью графика функции для каждого корня уравнения подобрать отрезок, содержащий только этот корень. Решить уравнения:
+8x
10=0;
-8x
2=0;
+8x
7=0;
4x
5=0;
+18x=1;
Матричные операции линейной алгебры в Scilab.
length(x) | количество элементов в массиве |
[n, m]=size (A) | количество строк(n), столбцов(m) матрицы А |
A(:,j) | j-й столбец матрицы A |
A (i,:) | i-я строка матрицы A |
A(j:k) | элементы aj, aj+1, …, ak |
A (:) | записывает все элементы матрицы A в виде столбца |
A (m,:) = [ ] | удаляет из матрицы A строку с номером m |
A’ | транспонированная матрица |
prod(x) | произведение всех элементов массива A |
prod(A,dim) | произведение элементов столбцов (dim=1) или строк (dim=2) |
sum(A) | сумма всех элементов массива A |
sum(A,dim) | сумма элементов столбцов (dim=1) или строк (dim=2) |
det(A) | определитель квадратной матрицы A |
rank(A) | ранг матрицы A |
inv (A) | матрица, обратная матрицеA |
5. Применить рассмотренные операции для матриц:
6. Решить системы линейных уравнений:
а) ; б)
;
Основы программирования в системе Scilab
1. Условные операторы и операторы цикла
а) Условный оператор if имеет следующую структуру:
if < логическое выражение> then <инструкции>
elseif < логическое выражение> then <инструкции>,
else <инструкции>,
End
б) Цикл типа for – end:
for var = < выражение >
<инструкция 1;>
<инструкция 2;>
……………….
<инструкция т,>
End
в) Цикл типа while – end:
while < условие >
< инструкции, >
End
2. Файлы-функции
Файлы-функции играют роль подпрограмм. Имеют следующую структуру:
function [y1,…,yn]= fun (x1,…,xm)
тело функции
Endfunction
Здесь fun – имя функции, xi – входные аргументы функции, yi – выходные значения.
Нужно набрать текст в любом текстовом редакторе и сохранить в файле с именем fun. Затем следует вызвать этот файл с помощью команды exec.
Примеры.
1) if x>5 then y=8, t =6; else y=x^2, end
2) a=[];
for i=1:2
for j=1:2
a(i,j)=i+j;
end
end
3) x=1; while x<14, x=x*2,end
4) function[y]=def(x)
x=real(x)
if x>=0 then y=x*x, end
if x<0 then y=x*x*x, end
endfunction
Задачи для самостоятельного решения
1. Построить файл-функцию для вычисления факториала
2. Составить программу для вычисления значения y при заданном значении х.
а) ;
б) ;
3. C использованием одномерных массивов составить программу для решения следующих задач: дана последовательность из 15 чисел.
3.1 Подсчитать количество отрицательных элементов последовательности.
3.2 Найти сумму элементов последовательности с нечетными и сумму элементов с четными порядковыми номерами.
3.3 Найти сумму отрицательных и сумму положительных элементов последовательности.
3.4 Найти минимальный и максимальный элементы последовательности.
3.5 Вывести на экран элементы последовательности в возрастающем порядке.
3.6 Подсчитать количество элементов последовательности кратных трем.