- разработать функцию для формирования двоичного файла, содержащего таблицу исходных данных для построения кривой линии в полярной системе координат;
function TrMaklorenaBin(xl,xr,xs,filename)
%TRMAKLORENABIN- формирование в двоичным файле таблици значаений
%трисектрисы маклорнеа
% Таблица формируется для значениё на отрезке [xl; xr]
% с шагом xs
%filename - строка содержащая имя создоваемого текстового файла
%Автор: И.А. Абрамов
%версия: 1.0. Дата: 9.05.2012
if nargin ~=4
error (' Функция должна иметь 4 входных параметра!')
end
if ~ischar(filename)
errar(' Имя файла должно записываться в формате char')
end
fid = fopen (filename,'wt');
if fid == -1
error(' Ошибка при создании файла! ')
end
h=xl:xs:xr'; r=1./cos(h/3);
fwrite(fid,[ h; r],'single');
fclose(fid);
- Написать функцию для ввода данных из созданного файла и построения графика.
function [h,r] = tbl2num_bin(filename)
%TBL2NUM_BIN - преобразование таблицы в массивы чисел с использованием
%ввода данных из двоичного файла
%filename - имя файла, который содержит таблицу данных
% х, у - считанные из таблицы данные (предаставляются в виде векторов)
|
|
%Автор: И.А. Абрамов
%версия: 1.0. Дата: 9.05.2012
if ~ischar(filename)
errar(' Имя файла должно быть строкой!')
end
fid=fopen(filename, 'rt');
if fid == -1
error(' Ошибка при открытии файла! ')
end
status =0; h=[];r=[];
class_name = 'single';
class_size = 4;
while (~feof(fid))&(status~=-1)
h=[h fread(fid,1,class_name)];
status=fseek(fid,class_size,'cof');
end
frewind(fid);
while ~feof(fid)
status=fseek(fid,class_size,'cof');
if status~=-1
r=[r fread(fid,1,class_name)];
else
break
end
end
polar(h,r), axis equal, grid on,xlabel('x'),ylabel('y'),hold on
fclose(fid);