classdef pt
%PT - Podstawy teleinformatyki
% przyk?ad pisania klas w kodzie matlab
properties
internal_fs %zmienna wewn?trz klasy
end
methods
function [ obj ] = pt( fs )
%konstruktor
if nargin > 0
if isnumeric(fs)
obj.internal_fs = fs;
else
error('Bad input data')
end
end
%...
end
function [ xt ] = wzor_prostokatny(obj,A,f,t,fi)
xt=((4*A)/pi)*((sin(2*pi*f*t+fi))+(sin(3*2*pi*f*t+fi)/3)+(sin(5*2*pi*f*t+fi)/5)+(sin(7*2*pi*f*t+fi)/7)+(sin(9*2*pi*f*t+fi)/9));
end
function [ xtt ] = wzor_piloksztaltny(obj,A,f,t,fi)
xtt=((2*A)/pi)*(sin(2*pi*f*t+fi)-(sin(2*2*pi*f*t+fi)/2)+(sin(3*2*pi*f*t+fi)/3)-(sin(4*2*pi*f*t+fi)/4)+(sin(5*2*pi*f*t+fi)/5));
end
function [ xttt ] = wzor_trojkatny(obj,A,f,t,fi)
xttt=((8*A)/(pi^2))*(sin(2*pi*f*t+fi)-(sin(3*2*pi*f*t+fi)/(3^2))+(sin(5*2*pi*f*t+fi)/(5^2))-(sin(7*2*pi*f*t+fi)/(7^2))+(sin(9*2*pi*f*t+fi)/(9^2)));
end
function [ t, x ] = prostokatny(obj,A,f,sim_time,fi)
dt = (1/obj.internal_fs); % delta czasu
t = 0 : dt : sim_time - dt;
x=obj.wzor_prostokatny(A,f,t,fi);
end
function [ t, x ] = pila(obj,A,f,sim_time,fi)
dt = (1/obj.internal_fs); % delta czasu
t = 0 : dt : sim_time - dt; % wektor czasu <0, sim_time) z krokiem dt
x = obj.wzor_piloksztaltny(A,f,t,fi);
end
function [ t, x ] = trojkatny(obj,A,f,sim_time,fi)
dt = (1/obj.internal_fs); % delta czasu
t = 0 : dt : sim_time - dt;
x=obj.wzor_trojkatny(A,f,t,fi);
end
end
end
Tutaj kod. Generalnie nie dotyczy matlaba, tylko taki screen. Chodzi o koncepcje czy można to jakoś uprościć pętlą czy czymś innym, przykładowo w C++. Ja już poradzę sobie konwertując to na matlaba.