[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