{"id":27,"date":"2026-06-18T11:02:20","date_gmt":"2026-06-18T15:02:20","guid":{"rendered":"https:\/\/blogs.mathworks.com\/engineering\/?p=27"},"modified":"2026-06-18T11:20:41","modified_gmt":"2026-06-18T15:20:41","slug":"on-parameter-estimation-sensitivity-analysis-and-design-optimization","status":"publish","type":"post","link":"https:\/\/blogs.mathworks.com\/engineering\/2026\/06\/18\/on-parameter-estimation-sensitivity-analysis-and-design-optimization\/","title":{"rendered":"On parameter estimation, sensitivity analysis, and design optimization"},"content":{"rendered":"<div class = rtcContent>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\" style=' font-style: italic;'>For this blog, I&#8217;ve worked extensively with <\/span><a href=\"https:\/\/www.linkedin.com\/in\/aycan-hacioglu-2604baa4\/\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\" style=' font-style: italic;'>Dr. Aycan Hacioglu<\/span><\/a><span class=\"_richTextNode\" style=' font-style: italic;'> &#8211; Chemical Engineering Academic Discipline Manager at MathWorks.<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">When designing any engineering system, there are parameters we don&#8217;t fully know. In mechanical systems it might be damping coefficients or contact stiffness. In thermal systems, heat transfer rates. In biological systems, cell growth kinetics. Your instinct may be to run multitude of experiments until the picture becomes clear but that approach is expensive, slow, and often tells you what matters only after you&#8217;ve already spent the resources finding out.<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">With design optimization, we can be more intentional. We build a mechanistic model of our system, interrogate it computationally to understand which parameters drive the behaviour we care about, then focus our experimental efforts where it will have the most impact. <\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">In this post, we walk through that workflow using a batch bioreactor brewing beer, but the approach is the same whether we are working with a chemical reactor, a mechanical drivetrain, a pharmacokinetic model, or a battery system. We have two goals (1) identify the most impactful parameters in our bioreactor (2) ensure our model matches our experimental data. <\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\"><\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\" style=' font-weight: bold;'>Start With a Model That Captures the Right Behaviour<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">A constant-volume batch bioreactor, one where nothing flows in or out during the run, can be described by tracking three quantities over time: cell concentration, substrate concentration, and product concentration. In beer-brewing terms: yeast, sugar, and alcohol.<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">The growth kinetics are described using the Monod equation [1], which relates growth rate to substrate availability and product inhibition. The model has eight parameters that govern this behaviour: yield coefficients (Ysc, Ypc) that describe how efficiently cells convert substrate into biomass and product, maximum growth rate (mumax), substrate affinity (Ks), cell death rate (kd), and inhibition terms (Cpstar, n, m) that capture the product&#8217;s effect on growth.<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/engineering\/files\/2026\/06\/biorecatorSDO_1-1.png\" width = \"760\" height = \"376\" alt = \"\" style = \"vertical-align: baseline; width: 760px; height: 376px;\"><\/img><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\" style=' font-weight: bold;'>What Actually Matters?<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">A common mistake when approaching parameter estimation is treating all parameters as equally important. In a model with eight or more parameters, estimating everything simultaneously leads to an ill-conditioned problem: the optimiser has too many degrees of freedom, your result is sensitive to initial guesses, and it becomes difficult to trust what you&#8217;ve found.<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">We systematically vary each parameter across a defined range (using the <\/span><a href=\"https:\/\/www.mathworks.com\/help\/sldo\/sensitivity-analysis.html\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\">Sensitivity Analyzer in Simulink Design Optimization<\/span><\/a><span class=\"_richTextNode\">), measure its effect on our model outputs, and presents the results as tornado plots that rank parameters by their influence on cell, substrate, and product concentration over time.<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/engineering\/files\/2026\/06\/biorecatorSDO_2-1.png\" width = \"773\" height = \"461\" alt = \"\" style = \"vertical-align: baseline; width: 773px; height: 461px;\"><\/img><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">If you&#8217;re the brewer, your question is concrete: <\/span><span class=\"_richTextNode\" style=' font-style: italic;'>what most influences alcohol yield over the fermentation window?<\/span><span class=\"_richTextNode\"> The answer shapes where your time and money get spent.<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">Since we don&#8217;t have a physical bioreactor to hand, we use simulated experimental data, model output with added noise to mimic real measurement variability. When your real data becomes available, it slots into the same framework directly.<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">By looking at the tornado plots, parameters like the yield coefficients (Ysc, Ypc) and maximum growth rate (mumax) consistently dominate the product and substrate concentration responses across multiple sensitivity methods: correlation, rank correlation, standardized regression. Substrate affinity and death rate show comparatively low influence. If you&#8217;re characterising a new yeast strain, this tells you where to focus your lab work: the yield coefficient and maximum growth rate are the numbers worth measuring carefully, not every parameter in the model equally.<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\" style=' font-weight: bold;'>Parameter Estimation: Turning Your Model Into an Answer<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">The model tracks substrate consumption reasonably well, but cell concentration peaks too early and alcohol yield is systematically underestimated. Likely because the yield coefficients and growth rate haven&#8217;t been tuned to this particular strain. Let&#8217;s deal with that next.<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/engineering\/files\/2026\/06\/biorecatorSDO_3-1.png\" width = \"435\" height = \"345\" alt = \"\" style = \"vertical-align: baseline; width: 435px; height: 345px;\"><\/img><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\"><\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">With the most influential parameters identified, we fit the model to our data. The result is a calibrated picture of how your specific yeast strain actually behaves, growth rate, yield, inhibition response, grounded in real measurements.<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><img class = \"imageNode\" src = \"http:\/\/blogs.mathworks.com\/engineering\/files\/2026\/06\/biorecatorSDO_4-1.gif\" width = \"776\" height = \"436\" alt = \"\" style = \"vertical-align: baseline; width: 776px; height: 436px;\"><\/img><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\"><\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">From that calibrated model, we can now simulate different starting conditions: varying initial cell density or sugar concentration, and identify the combination that maximises alcohol yield before running a single scaled-up batch. If you have a large parameter set this step can be parallelized across multiple cores or a cluster&#8230; something worth covering in its own post.<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\"><\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\" style=' font-weight: bold;'>Design Optimization as a Way of Working<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">We started with a question about beer, but the workflow we&#8217;ve followed here applies wherever a model needs to be reconciled with reality: a chemical reactor, a mechanical drivetrain, a pharmacokinetic model, a battery system. In each case the model does the same job. It turns physical experimentation from an act of exploration into an act of validation.<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\">When applied to a real physical plant, that same workflow becomes the foundation of a digital twin and a core part of model-based design.<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\"><\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\" style=' font-weight: bold; font-style: italic;'>Other resources<\/span><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><a href=\"https:\/\/www.mathworks.com\/discovery\/parameter-estimation.html\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\" style=' font-style: italic;'>Parameter Estimation<\/span><\/a><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><a href=\"https:\/\/www.mathworks.com\/products\/sl-design-optimization.html\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\" style=' font-style: italic;'>Simulink Design Optimization<\/span><\/a><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><a href=\"https:\/\/www.mathworks.com\/solutions\/chemical-engineering.html\" target=\"_blank\" rel=\"noopener\"><span class=\"_richTextNode\" style=' font-style: italic;'>MATLAB and Simulink for Chemical Engineering<\/span><\/a><\/div>\n<div  style = 'margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre; color: rgb(33, 33, 33); font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: 400; text-align: left; '><span class=\"_richTextNode\" style=' font-weight: bold; font-style: italic;'>References<\/span><\/div>\n<ol  style = 'margin: 10px 0px 20px; padding-left: 0px; font-family: Helvetica, Arial, sans-serif, Helvetica, Arial, sans-serif; font-size: 14px; '>\n<li  style = 'margin-left: 56px; line-height: 21px; min-height: 0px; text-align: left; white-space: pre-wrap; '><span class=\"_richTextNode\">Fogler, H. S. (2016). <\/span><span class=\"_richTextNode\" style=' font-style: italic;'>Elements of chemical reaction engineering<\/span><span class=\"_richTextNode\"> (5th ed.). Prentice Hall.<\/span><\/li>\n<\/ol>\n<\/div>\n<p><script type=\"text\/javascript\">var css = '._richTextNode {white-space: break-spaces;}'; var head = document.head || document.getElementsByTagName('head')[0], style = document.createElement('style'); head.appendChild(style); style.type = 'text\/css'; if (style.styleSheet){ style.styleSheet.cssText = css; } else { style.appendChild(document.createTextNode(css)); }<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"overview-image\"><img src=\"https:\/\/blogs.mathworks.com\/engineering\/files\/2026\/06\/biorecatorSDO_4.gif\" class=\"img-responsive attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\" decoding=\"async\" loading=\"lazy\" \/><\/div>\n<p>\nFor this blog, I&#8217;ve worked extensively with Dr. Aycan Hacioglu &#8211; Chemical Engineering Academic Discipline Manager at MathWorks.<br \/>\nWhen designing any engineering system, there are&#8230; <a class=\"read-more\" href=\"https:\/\/blogs.mathworks.com\/engineering\/2026\/06\/18\/on-parameter-estimation-sensitivity-analysis-and-design-optimization\/\">read more >><\/a><\/p>\n","protected":false},"author":242,"featured_media":21,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2,6,4,5,3],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.mathworks.com\/engineering\/wp-json\/wp\/v2\/posts\/27"}],"collection":[{"href":"https:\/\/blogs.mathworks.com\/engineering\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.mathworks.com\/engineering\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/engineering\/wp-json\/wp\/v2\/users\/242"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/engineering\/wp-json\/wp\/v2\/comments?post=27"}],"version-history":[{"count":4,"href":"https:\/\/blogs.mathworks.com\/engineering\/wp-json\/wp\/v2\/posts\/27\/revisions"}],"predecessor-version":[{"id":41,"href":"https:\/\/blogs.mathworks.com\/engineering\/wp-json\/wp\/v2\/posts\/27\/revisions\/41"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.mathworks.com\/engineering\/wp-json\/wp\/v2\/media\/21"}],"wp:attachment":[{"href":"https:\/\/blogs.mathworks.com\/engineering\/wp-json\/wp\/v2\/media?parent=27"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/engineering\/wp-json\/wp\/v2\/categories?post=27"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.mathworks.com\/engineering\/wp-json\/wp\/v2\/tags?post=27"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}