You are on page 1of 13

function valid = valid_date(year,month,day)

if sum(rem([year,month,day],1))==0 && sum([year,month,day]>0)==3


if ismember(month,[1,3,5,7,8,10,12]) && day<32
valid=true;
elseif ismember(month,[4,6,9,11]) && day<31
valid=true;
elseif month==2 && ismember(sum(rem(year,[4,100,400])==0),[1,3]) && day<30
valid=true;
elseif month==2 && ismember(sum(rem(year,[4,100,400])==0),[0,2]) && day<29
valid=true;
else
valid=false;
end
else
valid=false;
end
function too_young = under_age(age,limit)
if nargin==1
limit=21;
end
if age<limit
too_young = true;
else
too_young = false;
end
function matrix = sparse2matrix(Cellvec)
aux=length(Cellvec);
matrix=Cellvec{2}*ones(Cellvec{1}(1),Cellvec{1}(2));
for i = 3:aux
matrix(Cellvec{i}(1),Cellvec{i}(2))=Cellvec{i}(3);
end
function indices = saddle(M)
[n,m]=size(M);
indices=zeros(0,2);
for i=1:n
for j=1:m
if M(i,j)==min(M(:,j)) && M(i,j)==max(M(i,:))
indices(end+1,:)=[i,j];
end
end
end
function k= next_prime(n)
k=n+1;
while isprime(k)==0
k=k+1;
end
function [summa,index] = max_sum(V,n)
if length(V)<n
summa=0;
index=-1;
else
for i=1:length(V)-n+1
aux(i)=sum(V(i:i+n-1));
end
summa=max(aux);
index=find(summa==aux, 1 );
end
function summa = halfsum(A)
[n,m]=size(A);
summa=0;
for i = 1:n
for j=i:m
summa=summa+A(i,j);
end
end
function distance = get_distance(state1,state2)
[~, ~, raw] = xlsread('Distances.xlsx');
index1=find_index(raw,state1);
index2=find_index(raw,state2);
if index1~=-1 && index2~=-1
distance=raw{index1,index2};
else
distance=-1;
end
function index = find_index(matrixcell,value)
index=-1;
for i=2:length(matrixcell)
if strcmp(matrixcell{1,i},value)
index=i;
end
end
function numfreeze = freezing(V)
numfreeze=sum(V<32);
end
function admit = eligible(v,q)
if mean([v q])>=92 && v>88 && q>88
admit = true;
else
admit = false;
end
function output = echo_gen(in,fs,delay,gain)
samples = round(fs * delay);
ds = floor(samples);
signal = zeros(length(in) + ds, 1);
signal(1:length(in)) = in;
echo_signal = zeros(length(in) + ds, 1);
echo_signal(ds + (1:length(in*gain))) = in * gain;
output = signal + echo_signal;
p = max(abs(output));
if p > 1
output = output ./ p;
end
end
function charnum = char_counter(file_name, character)
file = fopen(file_name, 'rt');
if file < 0 || ~ischar(character)
charnum = -1;
return;
end
charnum = 0;
line = fgets(file);
while ischar(line)
charnum = charnum + frequency(line, character);
line = fgets(file);
end
end
function count = frequency(line, character)
count = sum(line == character);
end
function coded = caesar(v,n)
aux=double(v)+rem(n,95);
coded=char(aux+95*((aux<32)-(aux>126)));
end

You might also like