npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

custom-matrix-generator

v1.1.0

Published

Biblioteka je osmisljena sa ciljem da korisnicima pruži mogućnost generisanja matrica sa raznim verovatnoćama, obrascima i ograničenjima, kao i izvođenja složenih matematičkih operacija.

Downloads

299

Readme

Welcome to custom-matrix-generator 👋

Verzija Dokumentacija Licenca: MIT

🏠 Homepage

Opis

Biblioteka je osmišljena sa ciljem da korisnicima pruži mogućnost generisanja matrica sa raznim verovatnoćama, obrascima i ograničenjima, kao i izvođenja složenih matematičkih operacija.

Instalacija

npm i custom-matrix-generator

Pokretanje testova

npm run tests

createMatrixInRange()

Opis

Funkcija createMatrixInRange kreira N-dimenzionalnu matricu sa nasumično generisanim vrednostima unutar datog raspona. Ova funkcija je korisna za generisanje matrica koje se mogu koristiti u različitim matematičkim, statističkim ili simulacionim scenarijima.

Parametri

  • dimensions: number[]
    Niz koji predstavlja dimenzije matrice. Na primer, za 3D matricu dimenzija 2x3x4, prosledite [2, 3, 4].

  • range: [number, number]
    Raspon brojeva [min, max] koji mogu biti nasumično generisani u matrici. Na primer, za generisanje brojeva između 1 i 10, prosledite [1, 10].

Primer upotrebe

// Kreiraj 3D matricu dimenzija 2x3x4 sa vrednostima u rasponu od 1 do 10
const dimensions = [2, 3, 4];
const range = [1, 10];
const randomMatrix = createMatrixInRange({ dimensions, range });

createMatrixWithPattern()

Opis

Funkcija createMatrixWithPattern kreira matricu sa zadatim dimenzijama i nasumičnim vrednostima, uz opcionalno postavljanje vrednosti prema definisanom obrascu. Obrasci mogu biti postavljanje vrednosti na gornjoj ili donjoj dijagonali, popunjavanje celog reda ili kolone određenom vrednošću.

Parametri

  • dimensions: number[] Niz koji predstavlja dimenzije matrice. Prvi element je broj redova, a drugi broj kolona.

  • options: MatrixPatternOptions Objekat koji definiše obrazac za popunjavanje matrice:

    • pattern: 'upper-diagonal' | 'lower-diagonal' Tip dijagonale koja će biti popunjena datom vrednošću.
    • value: number Vrednost koja će se postaviti na dijagonalama ili u zadatom redu/koloni.
    • row: number (opciono) Indeks reda koji treba da se popuni sa value.
    • col: number (opciono) Indeks kolone koja treba da se popuni sa value.
  • min: number (opciono) Minimalna vrednost za generisanje nasumičnih brojeva u matrici.

  • max: number (opciono) Maksimalna vrednost za generisanje nasumičnih brojeva u matrici.

Primer upotrebe

// Kreiraj matricu 4x4 sa nasumičnim vrednostima između 1 i 10, popuni gornju dijagonalu sa vrednošću 5
const dimensions = [4, 4];
const options: MatrixPatternOptions = {
  pattern: "lower-diagonal",
  value: 5,
  row: 2,
  col: 3,
};
const randomMatrix = createMatrixWithPattern({
  dimensions,
  options,
  min: 1,
  max: 9,
});

createMatrixByDistribution()

Opis

Funkcija createMatrixByDistribution kreira N-dimenzionalnu matricu sa nasumično generisanim brojevima prema specificiranim opcijama distribucije. Možete birati između uniformne i normalne distribucije, sa dodatnim opcijama poput granica raspona ili standardne devijacije, a postoji i mogućnost zaokruživanja brojeva na celobrojne vrednosti.

Parametri

  • dimensions: number[]
    Niz brojeva koji definiše dimenzije matrice. Prvi element predstavlja broj redova, a drugi broj kolona, dok dodatni elementi definišu više dimenzije (ukoliko su potrebne).

  • options: DistributionOptions
    Objekat koji definiše opcije distribucije:

    • distribution: 'Uniform' | 'Normal'
      Tip distribucije koji će se koristiti.
    • min: number (za uniformnu distribuciju)
      Minimalna vrednost za nasumične brojeve kada je distribucija 'Uniform'.
    • max: number (za uniformnu distribuciju)
      Maksimalna vrednost za nasumične brojeve kada je distribucija 'Uniform'.
    • mean: number (za normalnu distribuciju)
      Srednja vrednost (mean) za nasumične brojeve kada je distribucija 'Normal'.
    • stdDev: number (za normalnu distribuciju)
      Standardna devijacija (stdDev) za nasumične brojeve kada je distribucija 'Normal'.
    • wholeNumbers: boolean (opciono)
      Da li bi brojevi trebalo da budu celobrojni. Podrazumevano je false.

Primeri upotrebe

Uniformna distribucija

// Kreiraj matricu 3x3 sa nasumičnim vrednostima između 1 i 10, u uniformnoj distribuciji
const dimensions = [3, 3];
const options: UniformDistribution = {
  distribution: DistributionType.Uniform,
  min: 1,
  max: 10,
  wholeNumbers: true,
};
const uniformMatrix = createMatrixByDistribution({ dimensions, options });

// Kreiraj 4x4 matricu sa normalnom distribucijom (mean: 0, stdDev: 1)
const dimensions = [4, 4];
const options: NormalDistribution = {
  distribution: DistributionType.Normal,
  mean: 0,
  stdDev: 1,
};
const normalMatrix = createMatrixByDistribution({ dimensions, options });

createMatrixByProbability()

Kreira n-dimenzionalnu matricu sa vrednostima koje su odabrane na osnovu verovatnoće ili proizvoljnih vrednosti.

Parametri:

  • dimensions: number[]: Niz koji definiše dimenzije matrice.
  • values?: number[]: (Opciono) Niz vrednosti koje se mogu pojaviti u matrici.
  • probabilities?: number[]: (Opciono) Niz verovatnoća koje odgovaraju vrednostima. Mora biti iste dužine kao values.
  • min?: number: (Opciono) Minimalna vrednost za nasumično generisane brojeve (ako se ne koriste values i probabilities).
  • max?: number: (Opciono) Maksimalna vrednost za nasumično generisane brojeve (ako se ne koriste values i probabilities).

Primer upotrebe:

// Kreira 3x3 matricu sa vrednostima 1 ili 5 sa verovatnoćom 0.7 za 1 i 0.3 za 5
const dimensions = [3, 3];
const values = [1, 5];
const probabilities = [0.7, 0.3];
const matrix = createMatrixByProbability({ dimensions, values, probabilities });

// Ako nisi definisao vrednosti i verovatnoće, koristi se opseg za nasumične brojeve

// Kreira 4x4 matricu sa nasumičnim vrednostima između 10 i 20
const dimensions = [4, 4];
const matrix = createMatrixByProbability({ dimensions, min: 10, max: 20 });

MatrixToJSON

Ova klasa omogućava kreiranje i čuvanje matrice u JSON formatu, zajedno sa osnovnim podacima.

Konstruktor:

  • constructor(fileName: string, objectTemplate: JsonObject): Inicijalizuje sesiju sa imenom fajla i osnovnim podacima.
    • fileName: Ime JSON fajla gde će se podaci čuvati.
    • objectTemplate: Osnovni podaci koji se dodaju uz svaki unos (npr. metapodaci).

Metode:

  • write(matrix: Matrix<number>): Upisuje novi unos sa matricom u JSON fajl.

    • matrix: Matrica koja se dodaje u fajl.
  • private saveEntry(entry: JsonObject): Interna metoda koja čuva dati unos u JSON fajl.

Primer upotrebe:

const objectTemplate = {
  name: "Test polje",
  description: "Matrica za test",
};

const matrixToJson = new MatrixToJSON("matrix_data.json", objectTemplate);

const matrix: Matrix<number> = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9],
];
// Upisivanje matrice u JSON fajl
matrixToJson.write(matrix);

Autor

👤 Dimitrije Manić

📝 Licenca

Copyright © 2024 Dimitrije Manić.

Ovaj projekat je licenciran od strane MIT.