Skip to content

An University project for Numerical methods in which I implement some algorithms for functions in Matlab

Notifications You must be signed in to change notification settings

alex1bondoc/NumericalMethods2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Task 2
parse_data: deschidem fisierul, citim pe n, citim n+1 elemente salvam in x, citim n+1 elemente salvam in y, inchidem fisierul
spline_c2: pentru primele n linii punem pe coloana (i-1) * 4 + 1 cate un unu. Pe linia n+1 calculam diferenta aux = xn - xn-1 si punem pe ultimele patru elemente
de pe linia n+1 valorile 1, aux, aux^2, aux^3. Urmatorii 3 pasi i-am facut intr-un singur for intrucat derivarea o putem face pur si simplu cu ajutorul elementului de pe diagonala.
Astfel vorbim de liniile n+1+3*(n-1) +1 pana la +3 si practic doar pentru prima din fiecare calculam elementele pentru restul le inmultim cu elementul diagonala stanga sus.
Pentru ultimele 2 linii punem elementele 2, 2 si 6 * (xn - xn-1). Dupa folosim linsolve pentru a calcula coef.
P_spline: bun parcurgem toate x_interp si o luam asa, daca este egal cu primul element din x folosim prima functie spline, daca este egal cu ultimul folosim ultima functie spline,
in rest folosim un for ca sa vedem care functie spline o folosim comparam x_interp > x pentru a gasi ce functie folosim. Dupa calculam dupa formula unei astfel de functii
vandermonde: folosim x urile pentru a calcula fiecare coeficient. Dupa folosim linsolve pentru a rezolva sistemul si a obtine solutia functiei polinomiale.
P_vandermonde: asemnator cu spline_c2 doar ca mult mai simplu deoarece nu avem nevoie de verificari in plus si nu trebuie sa facem si diferente pentru a calcula auxiliar.

Task 3
preprocess: un algorimt simplu care verifica daca o linie e buna si astefel o adauga in matrice pentru a returna raspunsul corect.
cosine_similarity: prima data le normalizam, dupa pentru ca ambii vectori sunt vericali il transpunem pe primul ca sa obtinem un scalar si dupa impartim cu normele.
read_mat: csvread(path, 1, 1)
recommendations: facem un vector pe care salvam similaritatea cu fiecare linie. Sortam descrescator vectorul. Si cum la un element o sa fie similaritate perfecta pentru ca e acelasi vector
luam de la al doilea vector si vedem carei linii ii corespunde si il adaugam la solutii pentru a returna vectorul de indici ai liniei.

Task 1
Spectogramele de dupa aplicarea unui low_pas va arata o reducere a semnalelor inalte si se vor evidentia semnalele joase. Reverbul va adauga niste dungi mai lungi, deoarece energia semnalului se intinde pe un timp mai lung

About

An University project for Numerical methods in which I implement some algorithms for functions in Matlab

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages