{
    "bhaskara": {
        "file": "bhaskara.m",
        "caption": {
            "en": "Quadratic equation",
            "es": "Ecuación cuadrática",
            "pt": "Equação quadrática"
        },
        "description": {
            "en": "Solve a quadratic equation and plot the function near its roots.",
            "es": "Resolver una ecuación cuadrática y graficar la función cerca de sus raíces.",
            "pt": "Resolver uma equação quadrática e traçar o gráfico da função perto das raízes."
        }
    },
    "compound-interest": {
        "file": "compound-interest.m",
        "caption": {
            "en": "Compound interest",
            "es": "Interés compuesto",
            "pt": "Juros compostos"
        },
        "description": {
            "en": "Compare simple and compound growth for a small investment.",
            "es": "Comparar crecimiento simple y compuesto para una pequeña inversión.",
            "pt": "Comparar crescimento simples e composto para um pequeno investimento."
        }
    },
    "matrix-basics": {
        "file": "matrix-basics.m",
        "caption": {
            "en": "Matrix basics",
            "es": "Matrices básicas",
            "pt": "Matrizes básicas"
        },
        "description": {
            "en": "Create matrices, transpose them, multiply them, and inspect their dimensions.",
            "es": "Crear matrices, transponerlas, multiplicarlas e inspeccionar sus dimensiones.",
            "pt": "Criar matrizes, transpor, multiplicar e inspecionar suas dimensões."
        }
    },
    "linear-system": {
        "file": "linear-system.m",
        "caption": {
            "en": "Linear system",
            "es": "Sistema lineal",
            "pt": "Sistema linear"
        },
        "description": {
            "en": "Solve a 3-by-3 linear system and verify the residual.",
            "es": "Resolver un sistema lineal de 3 por 3 y verificar el residuo.",
            "pt": "Resolver um sistema linear 3 por 3 e verificar o resíduo."
        }
    },
    "statistics": {
        "file": "statistics.m",
        "caption": {
            "en": "Statistics",
            "es": "Estadística",
            "pt": "Estatística"
        },
        "description": {
            "en": "Compute mean, variance, standard deviation, and cumulative sums for a data set.",
            "es": "Calcular media, varianza, desviación estándar y sumas acumuladas de un conjunto de datos.",
            "pt": "Calcular média, variância, desvio padrão e somas acumuladas de um conjunto de dados."
        }
    },
    "plot-points": {
        "file": "plot-points.m",
        "caption": {
            "en": "Point plot",
            "es": "Gráfico de puntos",
            "pt": "Gráfico de pontos"
        },
        "description": {
            "en": "Display two point series with Plotly-backed graphics.",
            "es": "Mostrar dos series de puntos con gráficos basados en Plotly.",
            "pt": "Mostrar duas séries de pontos com gráficos baseados em Plotly."
        }
    },
    "histogram": {
        "file": "histogram.m",
        "caption": {
            "en": "Histogram",
            "es": "Histograma",
            "pt": "Histograma"
        },
        "description": {
            "en": "Display a bar-style histogram for a small frequency table.",
            "es": "Mostrar un histograma de barras para una pequeña tabla de frecuencias.",
            "pt": "Mostrar um histograma de barras para uma pequena tabela de frequências."
        }
    },
    "plot-trig": {
        "file": "plot-trig.m",
        "caption": {
            "en": "Plot a function",
            "es": "Graficar una función",
            "pt": "Graficar uma função"
        },
        "description": {
            "en": "Plot a trigonometric function over a selected interval.",
            "es": "Graficar una función trigonométrica en un intervalo seleccionado.",
            "pt": "Graficar uma função trigonométrica em um intervalo escolhido."
        }
    },
    "sampled-sine": {
        "file": "sampled-sine.m",
        "caption": {
            "en": "Sample a sine wave",
            "es": "Muestrear una onda seno",
            "pt": "Amostrar uma onda seno"
        },
        "description": {
            "en": "Use linearly spaced points to evaluate and plot a sine wave.",
            "es": "Usar puntos espaciados linealmente para evaluar y graficar una onda seno.",
            "pt": "Usar pontos linearmente espaçados para avaliar e traçar uma onda seno."
        }
    },
    "plot-3d": {
        "file": "plot-3d.m",
        "caption": {
            "en": "Plot 3D",
            "es": "Plot 3D",
            "pt": "Plot 3D"
        },
        "description": {
            "en": "Display a 3D spiral and a sinusoidal surface with Plotly-backed graphics.",
            "es": "Mostrar una espiral 3D y una superficie sinusoidal con gráficos basados en Plotly.",
            "pt": "Mostrar uma espiral 3D e uma superfície senoidal com gráficos baseados em Plotly."
        }
    },
    "random-simulation": {
        "file": "random-simulation.m",
        "caption": {
            "en": "Random simulation",
            "es": "Simulación aleatoria",
            "pt": "Simulação aleatória"
        },
        "description": {
            "en": "Simulate dice rolls and summarize the observed frequencies.",
            "es": "Simular lanzamientos de dados y resumir las frecuencias observadas.",
            "pt": "Simular lançamentos de dados e resumir as frequências observadas."
        }
    },
    "logarithmic-scale": {
        "file": "logarithmic-scale.m",
        "caption": {
            "en": "Logarithmic scale",
            "es": "Escala logarítmica",
            "pt": "Escala logarítmica"
        },
        "description": {
            "en": "Generate logarithmically spaced values and inspect their base-10 logarithms.",
            "es": "Generar valores espaciados logarítmicamente e inspeccionar sus logaritmos en base 10.",
            "pt": "Gerar valores espaçados logaritmicamente e inspecionar seus logaritmos na base 10."
        }
    },
    "matrix-sums": {
        "file": "matrix-sums.m",
        "caption": {
            "en": "Matrix sums",
            "es": "Sumas de matriz",
            "pt": "Somas de matriz"
        },
        "description": {
            "en": "Compute column sums, row sums, and the total of all elements in a matrix.",
            "es": "Calcular sumas por columna, sumas por fila y el total de todos los elementos de una matriz.",
            "pt": "Calcular somas por coluna, somas por linha e o total de todos os elementos de uma matriz."
        }
    },
    "reshape-sequence": {
        "file": "reshape-sequence.m",
        "caption": {
            "en": "Reshape a sequence",
            "es": "Reorganizar una secuencia",
            "pt": "Reorganizar uma sequência"
        },
        "description": {
            "en": "Turn a vector into a matrix and verify that the number of elements is preserved.",
            "es": "Convertir un vector en una matriz y verificar que se conserve el número de elementos.",
            "pt": "Transformar um vetor em matriz e verificar que o número de elementos é preservado."
        }
    },
    "distance-between-points": {
        "file": "distance-between-points.m",
        "caption": {
            "en": "Distance between points",
            "es": "Distancia entre puntos",
            "pt": "Distância entre pontos"
        },
        "description": {
            "en": "Compute the Euclidean distance between two points using vector operations.",
            "es": "Calcular la distancia euclidiana entre dos puntos usando operaciones vectoriales.",
            "pt": "Calcular a distância euclidiana entre dois pontos usando operações vetoriais."
        }
    },
    "temperature-conversion": {
        "file": "temperature-conversion.m",
        "caption": {
            "en": "Temperature conversion",
            "es": "Conversión de temperatura",
            "pt": "Conversão de temperatura"
        },
        "description": {
            "en": "Convert temperatures from Celsius to Fahrenheit and summarize the values.",
            "es": "Convertir temperaturas de Celsius a Fahrenheit y resumir los valores.",
            "pt": "Converter temperaturas de Celsius para Fahrenheit e resumir os valores."
        }
    },
    "population-growth": {
        "file": "population-growth.m",
        "caption": {
            "en": "Population growth",
            "es": "Crecimiento poblacional",
            "pt": "Crescimento populacional"
        },
        "description": {
            "en": "Model exponential growth over time and evaluate the final population.",
            "es": "Modelar crecimiento exponencial a lo largo del tiempo y evaluar la población final.",
            "pt": "Modelar crescimento exponencial ao longo do tempo e avaliar a população final."
        }
    },
    "meshgrid-distance": {
        "file": "meshgrid-distance.m",
        "caption": {
            "en": "Grid distance",
            "es": "Distancia en una cuadrícula",
            "pt": "Distância em uma grade"
        },
        "description": {
            "en": "Create a rectangular grid and compute distance from the origin at each point.",
            "es": "Crear una cuadrícula rectangular y calcular la distancia al origen en cada punto.",
            "pt": "Criar uma grade retangular e calcular a distância até a origem em cada ponto."
        }
    },
    "inventory-summary": {
        "file": "inventory-summary.m",
        "caption": {
            "en": "Inventory summary",
            "es": "Resumen de inventario",
            "pt": "Resumo de estoque"
        },
        "description": {
            "en": "Use matrix columns to summarize quantities, prices, and inventory value.",
            "es": "Usar columnas de matriz para resumir cantidades, precios y valor de inventario.",
            "pt": "Usar colunas de matriz para resumir quantidades, preços e valor em estoque."
        }
    },
    "unit-circle": {
        "file": "unit-circle.m",
        "caption": {
            "en": "Unit circle",
            "es": "Circunferencia unitaria",
            "pt": "Circunferência unitária"
        },
        "description": {
            "en": "Sample points on the unit circle and verify that their radius is one.",
            "es": "Muestrear puntos en la circunferencia unitaria y verificar que su radio es uno.",
            "pt": "Amostrar pontos na circunferência unitária e verificar que o raio é um."
        }
    },
    "polynomial-values": {
        "file": "polynomial-values.m",
        "caption": {
            "en": "Polynomial values",
            "es": "Valores polinomiales",
            "pt": "Valores polinomiais"
        },
        "description": {
            "en": "Evaluate a polynomial at several points using element-wise operations.",
            "es": "Evaluar un polinomio en varios puntos usando operaciones elemento a elemento.",
            "pt": "Avaliar um polinômio em vários pontos usando operações elemento a elemento."
        }
    },
    "normalization": {
        "file": "normalization.m",
        "caption": {
            "en": "Normalize data",
            "es": "Normalizar datos",
            "pt": "Normalizar dados"
        },
        "description": {
            "en": "Scale measurements to the interval from 0 to 1.",
            "es": "Escalar mediciones al intervalo de 0 a 1.",
            "pt": "Escalar medições para o intervalo de 0 a 1."
        }
    },
    "moving-average": {
        "file": "moving-average.m",
        "caption": {
            "en": "Moving average",
            "es": "Media móvil",
            "pt": "Média móvel"
        },
        "description": {
            "en": "Compute a simple three-point moving average for a short signal.",
            "es": "Calcular una media móvil simple de tres puntos para una señal corta.",
            "pt": "Calcular uma média móvel simples de três pontos para um sinal curto."
        }
    },
    "projectile-height": {
        "file": "projectile-height.m",
        "caption": {
            "en": "Projectile height",
            "es": "Altura de un proyectil",
            "pt": "Altura de um projétil"
        },
        "description": {
            "en": "Model vertical projectile motion with a quadratic equation.",
            "es": "Modelar el movimiento vertical de un proyectil con una ecuación cuadrática.",
            "pt": "Modelar o movimento vertical de um projétil com uma equação quadrática."
        }
    },
    "vector-angle": {
        "file": "vector-angle.m",
        "caption": {
            "en": "Angle between vectors",
            "es": "Ángulo entre vectores",
            "pt": "Ângulo entre vetores"
        },
        "description": {
            "en": "Use dot products and vector norms to compute the angle between two vectors.",
            "es": "Usar productos punto y normas vectoriales para calcular el ángulo entre dos vectores.",
            "pt": "Usar produtos escalares e normas vetoriais para calcular o ângulo entre dois vetores."
        }
    },
    "complex-numbers": {
        "file": "complex-numbers.m",
        "caption": {
            "en": "Complex numbers",
            "es": "Números complejos",
            "pt": "Números complexos"
        },
        "description": {
            "en": "Compute magnitude, angle, real part, imaginary part, and conjugate of a complex number.",
            "es": "Calcular magnitud, ángulo, parte real, parte imaginaria y conjugado de un número complejo.",
            "pt": "Calcular módulo, ângulo, parte real, parte imaginária e conjugado de um número complexo."
        }
    },
    "image-grid": {
        "file": "image-grid.m",
        "caption": {
            "en": "Image grid",
            "es": "Cuadrícula de imagen",
            "pt": "Grade de imagem"
        },
        "description": {
            "en": "Create a small numeric image and compute row, column, and total intensities.",
            "es": "Crear una pequeña imagen numérica y calcular intensidades por fila, columna y totales.",
            "pt": "Criar uma pequena imagem numérica e calcular intensidades por linha, coluna e totais."
        }
    },
    "function-basics": {
        "file": "function-basics.m",
        "caption": {
            "en": "Function basics",
            "es": "Funciones básicas",
            "pt": "Funções básicas"
        },
        "description": {
            "en": "Define a function, call it with arguments, and reuse it.",
            "es": "Definir una función, llamarla con argumentos y reutilizarla.",
            "pt": "Definir uma função, chamá-la com argumentos e reutilizá-la."
        }
    },
    "multiple-returns": {
        "file": "multiple-returns.m",
        "caption": {
            "en": "Multiple returns",
            "es": "Múltiples retornos",
            "pt": "Múltiplos retornos"
        },
        "description": {
            "en": "Create a function that returns two values from the same input.",
            "es": "Crear una función que devuelve dos valores a partir de la misma entrada.",
            "pt": "Criar uma função que retorna dois valores a partir da mesma entrada."
        }
    },
    "anonymous-functions": {
        "file": "anonymous-functions.m",
        "caption": {
            "en": "Anonymous functions",
            "es": "Funciones anónimas",
            "pt": "Funções anônimas"
        },
        "description": {
            "en": "Build compact function handles and apply them to vectors.",
            "es": "Crear manejadores de función compactos y aplicarlos a vectores.",
            "pt": "Criar function handles compactos e aplicá-los a vetores."
        }
    },
    "if-else-grading": {
        "file": "if-else-grading.m",
        "caption": {
            "en": "If and elseif",
            "es": "If y elseif",
            "pt": "If e elseif"
        },
        "description": {
            "en": "Classify a value by choosing one branch from several conditions.",
            "es": "Clasificar un valor eligiendo una rama entre varias condiciones.",
            "pt": "Classificar um valor escolhendo um ramo entre várias condições."
        }
    },
    "for-loop-accumulator": {
        "file": "for-loop-accumulator.m",
        "caption": {
            "en": "For loop",
            "es": "Bucle for",
            "pt": "Laço for"
        },
        "description": {
            "en": "Use a loop and an accumulator to sum selected values.",
            "es": "Usar un bucle y un acumulador para sumar valores seleccionados.",
            "pt": "Usar um laço e um acumulador para somar valores selecionados."
        }
    },
    "while-loop-search": {
        "file": "while-loop-search.m",
        "caption": {
            "en": "While loop",
            "es": "Bucle while",
            "pt": "Laço while"
        },
        "description": {
            "en": "Advance through a vector until a search condition is satisfied.",
            "es": "Avanzar por un vector hasta satisfacer una condición de búsqueda.",
            "pt": "Avançar por um vetor até satisfazer uma condição de busca."
        }
    },
    "command-selection": {
        "file": "command-selection.m",
        "caption": {
            "en": "Command selection",
            "es": "Selección de comando",
            "pt": "Seleção de comando"
        },
        "description": {
            "en": "Select one calculation from a simple numeric command menu.",
            "es": "Seleccionar un cálculo desde un menú numérico simple de comandos.",
            "pt": "Selecionar um cálculo a partir de um menu numérico simples de comandos."
        }
    },
    "switch-menu": {
        "file": "switch-menu.m",
        "caption": {
            "en": "Switch menu",
            "es": "Menú switch",
            "pt": "Menu switch"
        },
        "description": {
            "en": "Select one calculation with a switch and case command menu.",
            "es": "Seleccionar un cálculo con un menú de comandos switch y case.",
            "pt": "Selecionar um cálculo com um menu de comandos switch e case."
        }
    },
    "try-catch-validation": {
        "file": "try-catch-validation.m",
        "caption": {
            "en": "Try and catch",
            "es": "Try y catch",
            "pt": "Try e catch"
        },
        "description": {
            "en": "Handle invalid input and return a fallback value.",
            "es": "Manejar una entrada inválida y devolver un valor alternativo.",
            "pt": "Tratar uma entrada inválida e retornar um valor alternativo."
        }
    },
    "structure-records": {
        "file": "structure-records.m",
        "caption": {
            "en": "Structure records",
            "es": "Registros estructurados",
            "pt": "Registros com struct"
        },
        "description": {
            "en": "Use structure fields to represent a simple record.",
            "es": "Usar campos de estructura para representar un registro simple.",
            "pt": "Usar campos de estrutura para representar um registro simples."
        }
    },
    "classdef-account": {
        "file": "classdef-account.m",
        "caption": {
            "en": "Class definition",
            "es": "Definición de clase",
            "pt": "Definição de classe"
        },
        "description": {
            "en": "Describe object state with properties and behavior with methods.",
            "es": "Describir el estado del objeto con propiedades y el comportamiento con métodos.",
            "pt": "Descrever o estado do objeto com propriedades e o comportamento com métodos."
        }
    },
    "vehicle-inheritance": {
        "file": "vehicle-inheritance.m",
        "caption": {
            "en": "Class inheritance",
            "es": "Herencia de clases",
            "pt": "Herança de classes"
        },
        "description": {
            "en": "Define vehicle, car, and truck classes to demonstrate inheritance.",
            "es": "Definir las clases vehicle, car y truck para demostrar herencia.",
            "pt": "Definir as classes vehicle, car e truck para demonstrar herança."
        }
    }
}
