{"id":23051517,"url":"https://github.com/averissimo/model_blackbox","last_synced_at":"2026-01-17T07:13:58.468Z","repository":{"id":4012864,"uuid":"5111733","full_name":"averissimo/model_blackbox","owner":"averissimo","description":"Octave/Matlab toolbox that performs parameters estimation on algebraic or differential equations","archived":false,"fork":false,"pushed_at":"2017-02-27T19:59:02.000Z","size":268,"stargazers_count":1,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-03T04:15:11.276Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"oracle.inesc-id.pt","language":"Matlab","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/averissimo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-07-19T15:24:41.000Z","updated_at":"2020-11-11T03:53:17.000Z","dependencies_parsed_at":"2022-09-02T17:14:41.118Z","dependency_job_id":null,"html_url":"https://github.com/averissimo/model_blackbox","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/averissimo/model_blackbox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/averissimo%2Fmodel_blackbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/averissimo%2Fmodel_blackbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/averissimo%2Fmodel_blackbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/averissimo%2Fmodel_blackbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/averissimo","download_url":"https://codeload.github.com/averissimo/model_blackbox/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/averissimo%2Fmodel_blackbox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28503249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T06:57:29.758Z","status":"ssl_error","status_checked_at":"2026-01-17T06:56:03.931Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-15T23:46:14.328Z","updated_at":"2026-01-17T07:13:58.442Z","avatar_url":"https://github.com/averissimo.png","language":"Matlab","funding_links":[],"categories":[],"sub_categories":[],"readme":"# == Model Blackbox ==\n\nThis matlab package intends to work as a blackbox for parameter estimation and model simulation\n\nIt supports three different backends:\n* Octave (optim package)\n* Matlab (optimization toolbox)\n* Matlab (SBTOOLBOX2 toolbox)\n\nWe reccomend to use either Octave or Matlab own toolboxes, as the SBTOOLBOX2 might become unstable if the data scale is increased.\n\nThe models in the models base directory are compatible with both Octave and Matlab.\n\n### Requirements for Octave-based models\n\n* Octave environment (tested with 3.6.2)\n* Optim package (http://octave.sourceforge.net/optim/)\n\n### Requirements for Matlab-based models\n\n* Matlab environment\n* Optimization toolbox\n* Compiler toolbox\n\n### Requirements for SBTOOLBOX2-based models\n\n* Matlab environment\n* Compiler toolbox\n* SBTOOLBOX2 toolbox\n* SBPD toolbox\n\n## Structure\n\nThe usage of any model is dependant of having three files:\n* model: where the model's equation is defined\n* estimator : .m file that defines the necessary steps to estimate parameters\n* simulator : .m file that simulates a curve with given parameters\n\nThese files allow to generate a cgi script for the model that can be accessed online or in a local computer\n\n## Create a new model blackbox\n\n### Octave / Matlab model\n\n1. Clone the repository\n\n1. Navigate to the models folder\n\n1. Navigate to the algebraic or differential folder, depending on the model type. If it is defined as an algebraic equation or as an differential, choose the right folder\n\n1. Copy the TEMPLATE folder and name it to the model name\n\n1. Open each of the .m files and change it accordingly\n* model: write the equation, if it is a differential equation don't forget the initial condition\n* estimator: change the 'model' variable to the name of the model\n* simulator: change how the params are set in alphabetical order and the 'model' variable\n\n#### for octave:\n\nnavigate to the base dir and run\n\n    make octave\n\n#### for matlab:\n\nnavigate to the base dir\nadd to the Makefile file a target using any of the existing as a template\n\n    make %model_name%\n\n### SBTOOLBOX2 model\n\n1. create a SBTOOLBOX2 model (SBModel) and copy it the directory:\n\n        source/models/\n\n1. compile the model calling the compile_model.m function, ex:\n\n        compile_model('models/baranyi')\n\n1. copy the following files to the same directory and name it after the model, preserving the suffix (just to help organizing the files' function\n\n        source/estimators/TEMPLATE_est.m\n\n        source/simulators/TEMPLATE_sim.m\n\n1. change the source code to reflect the name of the model by replacing all the occurences of Gompertz to \"Yourmodel\"\n\n        IMPORTANT: the first letter must be Uppercase\n\n1. in the simulators/Yourmodel_sim.m you must change the code to handle the model's parameters\n1. add the makefile target following the existing templates\n1. run\n\n        make yourmodel_est yourmodel_sim clean\n\n## Test the model\n\nYou can simulate the query by calling in Octave/Matlab the respective function with the arguments:\n* simulate flag: if 1 then it will use te test data defined at the top of the function\n* draw plot: draws a plot of the results\n\n## Deploy\n\nThese functions can be deployed as cgi scripts throught a REST API and return a json response. The parameters can be passed in the url or as POST.\n\n### Octave\n\nThe cgi scripts must be accessible from the web server and this toolbox must be in the path (defined in the query when generated)\n\n### Matlab or SBTOOLBOX2\n\nThe makefile will generate a standalone that only needs the Matlab libraries to run.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faverissimo%2Fmodel_blackbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faverissimo%2Fmodel_blackbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faverissimo%2Fmodel_blackbox/lists"}