Main Content

FitFractionalOrderModel

R2026b

Fractional order model for fitting parameters from frequency-based electrochemical impedance spectroscopy data

Since R2025a

Description

Use FitFractionalOrderModel to create a fit fractional order model (FOM) object. Use this object to fit battery FOM parameters from electrochemical impedance spectroscopy (EIS) data.

This object helps you estimating parameters from a single EIS data set or a sequence of several EIS experiments. To use the methods in this object, you must provide real and imaginary impedance data over different frequencies.

Note

To perform parameter estimation for a battery EISModel object from EIS data, use the fitEISModel function instead.

Creation

Description

Note

To use this object, at the MATLAB® Command Window, run this command at least once each MATLAB session:

import simscape.battery.parameters.*; 
All properties are exposed as name-value arguments in this object.

fitFom = FitFractionalOrderModel creates a FitFractionalOrderModel object with default property values.

fitFom = FitFractionalOrderModel(PropertyName=Value) creates a FitFractionalOrderModel object and sets Properties using one or more name-value arguments.

Properties

expand all

Fractional-order equivalent circuit model used to fit the EIS data, specified as an EISModel object.

Initial parameter values of the fractional-order equivalent circuit model used in the first iteration of the optimization, specified as a vector of positive elements.

Data Types: double

Lower parameter bounds of the fractional-order equivalent circuit parameters used in the optimization, specified as a vector of nonnegative elements.

Data Types: double

Upper parameter bounds of the fractional-order equivalent circuit parameters used in the optimization, specified as a vector of nonnegative elements.

Data Types: double

Lower and upper cut-off values used to filter the frequency-based impedance data, specified as a vector of two positive elements.

Data Types: double

Option to remove all high-frequency data points that display inductive behavior, specified as "false", "true", or as numeric or logical 1 (true) or 0 (false).

Data Types: logical

Indices to remove from the frequency-based impedance data, specified as a scalar or vector.

Data Types: double

Optimization weighting factors applied to every point in the frequency-based impedance data, specified as a column vector with the same length as the impedance data.

Data Types: double

Optimization options that the optimization or fitting method uses, specified as a structure or an options object. For more information about options object, see Set Optimization Options (Optimization Toolbox).

Data Types: struct

Optimization or fitting method used to find the parameters of the EISModel object that best fit the frequency-based impedance data, specified as "fminsearch", "fmincon", "lsqnonlin", or "patternsearch".

Data Types: char | string

Sign convention for the imaginary impedance relative to the high-frequency inductive behavior, specified as "standard" or "reversed". The default convention treats the high-frequency inductive behavior as positive.

Data Types: string | char

Whether to initialize each optimization sequentially or reuse the initial estimates, specified as "sequential" or "reuseInitialEstimates". For sequential initialization, the FitFractionalOrderModel object uses the output values from the first optimization for the next iteration.

Data Types: string | char

Since R2026b

Option to perform parallel optimization for multiple datasets using a parallel pool of workers, specified as one of these values:

  • "off" — Run in serial on the MATLAB client.

  • "auto" — Use a parallel pool if one is open or if MATLAB can automatically create one. If a parallel pool is not available, run in serial on the MATLAB client.

  • "on" — Use a parallel pool if one is open or if MATLAB can automatically create one. If a parallel pool is not available, throw an error.

If you do not have a parallel pool open and automatic pool creation is enabled, MATLAB opens a pool using the default cluster profile. To use a parallel pool to run computations in MATLAB, you must have Parallel Computing Toolbox™.

Parallel optimization does not support sequential initialization strategy. If you set this argument to "on" or "auto", you must set the InitializationStrategy property to "reuseInitialEstimates".

Data Types: string | char

Object Functions

fiteisfomFit single electrochemical impedance spectroscopy profile
fitEisfomToEisTestFit series of electrochemical impedance spectroscopy profiles

Version History

Introduced in R2025a

expand all