You are on page 1of 6

semana 6

function out= picker(condition, in1, in2)


if condition == true
out= in1;
elseif condition == false
out= in2;
end
end

function admit = eligible (v,q)


a = (v+q)/2;
if a >= 92 && v > 88 && q > 88
fprintf('true\n');
admit = true;
else
fprintf('false\n');
admit = false;
end
end

function [too_young] = under_age(age,limit)


if nargin<2
limit = 21;
end
if age < limit
too_young = true;
else too_young = false;
end

function valid = valid_date (year, month, day)


if ~isscalar(year) || year ~= fix(year)||year<=0
valid = false ;
elseif ~isscalar(month) || month >12 || month<=0 || month ~= fix(month)
valid = false;
elseif ~isscalar(day) || day >31 || day ~= fix(day)|| day<=0
valid = false;
elseif day >29 && month == 2 && rem(year,4) == 0 && rem(year,100)~=0
valid = false;
elseif day>29 && month == 2 && rem(year,400) == 0
valid =false;
elseif day>30 && (month == 4 ||month == 6||month == 9 ||month == 11)
valid =false;
elseif day>28 && month==2 && rem(year,100) == 0 && rem(year,4)==0 &&
rem(year,400)~=0
valid =false;
elseif day >28 && month==2 && rem(year,4)~=0 && rem(year,400)~=0
valid = false;
else
valid = true;
end
end

SEMANA 7

function summa = halfsum(A)


[row col] = size(A);
summa = 0;
for i = 1:row
for j = i:col
summa = summa + A(i,j);
end
end
end

function k = next_prime(n)
k=n+1;
while ~isprime(k)
k=k+1;
end
end
function numfreeze = freezing (A)
A1 = A(A<32);
numfreeze = length(A1);
end

function [summa, index] = max_sum(v,n)


A= length(v);
B= zeros(1,A-n+1);
if n>A
summa= 0;
index= -1;
return
else
for i= 1:(A-n+1)
B(i)= sum(v(i:(i+n-1)));
end
summa= max(B);
ind= find(B == summa);
index= min(ind);
end
end

SEMANA 8

function coded = caesar(A, B)


a = double(A);
b = a;
N = B-95*fix(B/95);
for i = 1:length(a)
if a(i)+N <32
b(i)= 126-(31-a(i)- N);
elseif a(i)+N >126
b(i)= 32+(a(i)+N-127);
else
b(i)= a(i)+N;
end
coded= char(b);
end

function matrix =sparse2matrix(incell)


T = size(incell);
a = T(2)-2;
msize= incell{1};
mdef= incell{2};
matrix= repmat(mdef, msize);
while a>0
matrix(incell{a+2}(1), incell{a+2}(2)) = incell{a+2}(3);
a = a-1;
end
end

SEMANA 9

function [distance] = get_distance(A,B)


[~,~,raw] = xlsread('Distances.xlsx');
[x y]=size(raw);
x1=0;
x2=0;
for i = 2:x
if strcmp(raw{i,1},A)==1
x1=i;
end
end
for j = 2:y
if strcmp(raw{1,j},B)==1
x2=j;
end
end
if x1>1 && x2>1
distance = raw{x1,x2};
else
distance = -1;
end

function [charnum] = char_counter (frame, character)


fid= fopen(frame,'r');
if fid < 0
charnum= -1;
return
end
if ischar (character) == 0
charnum = -1;
return
end
inhalt= fscanf(fid, '%c');
charnum= count(inhalt,character);
end

FINALS PROBLEMS

function [indices] = saddle (M)


T = size (M);
indices = [];
for i = 1 : T(1)
a = max ( M(i,:) );
for j = 1 : T(2)
if M(i,j) == a;
b = min (M(:,j));
if M(i,j) == b;
indices = [indices; i j];
end
end
end
end
end

function [output] = blur(img,w)


Imagen=double(img);
[a,b] = size(Imagen);
F=2*w+1;
for i = 1:a
for j = 1:b
p=i-fix(F/2);
q=i+fix(F/2);
r=j-fix(F/2);
s=j+fix(F/2);
if p<1
p=1;
end
if q>a
q=a;
end
if r<1
r=1;
end
if s>b
s=b;
end
A= Imagen([p:q],[r:s]);
C(i,j)= mean(A(:));
end
end
output= uint8(C);
end

function [output]= echo_gen(input,fs,delay,amp)


[r,c] = size(input);
a = round(delay*fs);
b = zeros(r+a,1);
c = b ;
for i=1:r
b(a+i,1) =input(i,1)*amp ;
c(i) = input(i);
end
c = c + b ;
range = abs(c) ;
maxrange = max(range);
if maxrange>1
c = c/maxrange;
end
output = c ;
end

You might also like