function f=pwf(x)
if x<-1
f=1-exp(-1-x);
elseif x<=2
f=x^2-x-2;
else
f=2-x;
end
Оператор SWITCH: файл -функция mpsum
function [m,p,s]=mpsum(x)
m=0;
p=0;
s=0;
for i=1:length(x)
switch x(i)
case -1
m=m+1;
case 1
p=p+1;
otherwise
s=s+x(i);
end
end
%Ввод –вывод в текстовый файл
FileDataIn1='data1.txt';
disp(['=== Открыть файл для ввода данных ' FileDataIn1 ' ==='])
% === файл для ввода ===
fileID1 = fopen(FileDataIn1,'rt');
tmp1=fscanf(fileID1,'%g',3);
xB=tmp1(1); yB=tmp1(2); zB=tmp1(3);
fclose(fileID1);
FileDataOut1=’data2.txt’;
disp(['=== Открыть файл для вывода данных ' FileDataOut1 ' ==='])
fileID2 = fopen(FileDataOut1,'wt');
fprintf(fileID2,'%5d ',i1);
fprintf(fileID2,'%12.3f %12.3f %12.3f\n',R1,R2,R3);
fclose(fileID2);
Тип линии, цвет и маркеры определяются значением третьего дополнительного аргумента функции plot. Этот аргумент указывается в апострофах, например, вызов plot(x,f,'ro:') приводит к построению графика красной пунктирной линией, размеченной круглыми маркерами. Обратите внимание, что абсциссы маркеров определяются значениями элементов вектора x.
Всего в дополнительном аргументе может быть заполнено три позиции, соответствующие цвету, типу маркеров и стилю линии. Обозначения для них приведены в табл. 4.1. Порядок позиций может быть произвольный, допустимо указывать только один или два параметра, например, цвет и тип маркеров. Посмотрите на результат выполнения следующих команд: plot(x,f,'g'), plot(x,f,'ko'), plot(x,f,':').
Таблица 3 – Обозначения для цвета, типа маркеров и стиля линий
Цвет | Тип маркера | ||
y | Желтый | . | Точка |
m | Розовый | o | Кружок |
c | Голубой | x | Крестик |
r | Красный | + | Знак плюс |
g | Зеленый | * | Звездочка |
b | Синий | s | Квадрат |
w | Белый | d | Ромб |
k | Черный | v | Треугольник вершиной вниз |
Тип линии | ^ | Треугольник вершиной вверх | |
- | Сплошная | < | Треугольник вершиной влево |
: | Пунктирная | > | Треугольник вершиной вправо |
-. | Штрих-пунктирная | p | Пятиконечная звезда |
-- | Штриховая | h | Шестиконечная звезда |
% задержать вывод изображения
hold on
% нарисовать черный маркер-звездочка в точке
x0=0;
y0=0;
plot(x0,y0,'k*');
% нарисовать окружность синим цветом
x1=1;
y1=-1;
r1=3;
x=[x1-r1:0.01:x1+r1];
y01=y1+sqrt(r1*r1-(x-x1).^2);
y02=y1-sqrt(r1*r1-(x-x1).^2);
plot(x,y01,'b');
plot(x,y02,'b');
% нарисовать окружность красным цветом
x1=-1;
y1=2;
r1=1;
t=[-pi:pi/20:pi];
x01=x1+r1*cos(t);
y01=y1+r1*sin(t);
plot(x01,y01,'r');
axis square
hold off
Выполнить и оформить в виде отчета следующее задание:
1. Создать в редакторе новый m-файл. Сохранить созданный файл в свою папку под именем «lab1_номер варианта.m».
2. Ввести из текстового файла три числа (см. вариант) – значения границ отрезка интегрирования
и количество интервалов интегрирования N.
3. Построить блок-схему алгоритма вычисления значения определенного интеграла по методу прямоугольников
4. Создать m-файл (разработать программу) для вычисления значения определенного интеграла по методу прямоугольников (использовать цикл for):
,
где – значение подынтегральной функции (см. вариант) в точке
,
,
,
.
4. Построить график подынтегральной функции с помощью функции plot.
5. Используя синтаксис операций над матрицами в Matlab, повторить вычисление интеграла. Сравнить полученные значения.
6. Вывести в текстовый файл два вычисленных значения интеграла.
Распечатать отчет по работе, включающий схему-алгоритма, текст программы и файл с результатом.
Варианты:
Для всех вариантов N=20.
Функция для вариантов имеет следующий вид:
№ | f(x) | x0 | xN |
1 | ![]() | -10,0 | 0,5 |
2 | ![]() | -10,0 | 0,5 |
3 | ![]() | -10,0 | 0,5 |
4 | ![]() | -10,0 | 0,5 |
5 | ![]() | -10,0 | 0,5 |
6 | ![]() | -10,0 | 0,5 |
7 | ![]() | 5,0 | 0,5 |
8 | ![]() | 5,0 | 0,5 |
9 | ![]() | 5,0 | 0,5 |
10 | ![]() | -10,0 | 0,5 |
11 | ![]() | -1,0 | 0,1 |
12 | ![]() | -1,0 | 0,1 |
13 | ![]() | -1,0 | 0,1 |
14 | ![]() | -1,0 | 0,1 |
15 | ![]() | -1,0 | 0,1 |
Пример графика подынтегральной функции
Дата: 2019-02-24, просмотров: 293.