Fit Options — Control Systems/Curve Fitting
Control_Systems/Curve_Fitting/Fit_Options · 0 input / 0 output port(s) at insert · exports to Python, MATLAB, Java, Rust, C, C++, VHDL, Verilog, SystemVerilog, PLC Structured Text
Description#
The block's own DESCRIPTION_HTML, rendered verbatim — the same text the config dialog's info panel and the library navigator show. Fix a wrong sentence in the block's .cpp (R-D9), never here.
Fit Options
Control Systems / Curve Fitting
Holds fit options, as MATLAB’s fitoptions does: a fit block names this block in its
Options, and for the run every option set here replaces the fit’s own value – one
options block can serve several fits. An option left at default leaves the fit’s own
value, and an option the fit does not have is ignored. Nothing is written into the fit’s saved
parameters. Of fitoptions’ fields it carries the two the iterative fits read: the
bounds, the tolerances, Robust, Weights, Exclude and
Normalize have no fit block that implements them (Exclude Data is a block of its own).
It has no ports and computes nothing.
Ports
- None: a block names it in its Options; nothing is wired to it.
Parameters
- Start Point –
default(default), or where an iterative fit starts (StartPoint), a vector of its coefficients; read by Weibull Fit. - Maximum Iterations –
default(default), or the iterations an iterative fit may take (MaxIter); read by Weibull Fit and Rational Fit as their Iterations. - Sampling Time (s) – not read: an options carrier runs nothing.
A value that is neither default nor a number stops the run with this block’s
name, and so does an Options naming a block that is not a Fit Options block.
Code export
All ten targets: Python, MATLAB, Java, Rust, C, C++, VHDL, Verilog, SystemVerilog and PLC Structured Text, as a named body that does nothing. The options reach the exported code through the blocks that name it, which export the values they ran with.
Simulink bridge
None (Support::None). The Curve Fitting Toolbox ships no Simulink library and fitoptions is a MATLAB function, so there is no block to map onto; the bridge reports this block rather than dropping it silently.
Notes
- Stateless: it holds values, read when a run or an export loads the blocks that name it.
Code facts#
| Fact | Value |
|---|---|
| registered type | Control_Systems/Curve_Fitting/Fit_Options |
| family | Control_Systems/Curve_Fitting |
| solver environment class | ICoreBlock_0_Control_Systems_1_Curve_Fitting_2_Fit_Options |
| source | src/ICoreBlocks/ICoreBlockLibrary/Blocks/Control_Systems/Curve_Fitting/Fit_Options/ICoreBlock_0_Control_Systems_1_Curve_Fitting_2_Fit_Options.cpp |
| header | src/ICoreBlocks/ICoreBlockLibrary/Blocks/Control_Systems/Curve_Fitting/Fit_Options/ICoreBlock_0_Control_Systems_1_Curve_Fitting_2_Fit_Options.h |
| default size on canvas | 80 × 70 px |
| ports at insert | 0 in, 0 out |
| code generators implemented | Python, MATLAB, Java, Rust, C, C++, VHDL, Verilog, SystemVerilog, PLC Structured Text |
Ports#
The constructor creates no port explicitly — the port list comes from registerInitialPorts (0 in, 0 out) or from the block's configuration.
Configuration variables#
| Config variable | Default | Simulink parameter |
|---|---|---|
Start Point | default | — |
Maximum Iterations | default | — |
Every block also carries Sampling Time (s) from ICoreBlockSolverEnvironment: zero or less inherits the solver's rate, a positive value runs the block at that period.
Simulink bridge#
| support | Support::None |
| Simulink path | — |
| port-count rule | PortsParam::None |
SampleTime parameter | yes |
Caveat (shown to the user): the Curve Fitting Toolbox ships no Simulink library at all; fitoptions is a MATLAB function, and this block is ICore's own carrier of its values.
Catalog contract: src/ICoreBlocks/ICoreCoder/ICoreCommandSystem/SimulinkBridge/ICoreSimulinkBlockCatalog.h
Description vs code#
The checker has a blind spot here — it could not resolve something (a grouped port bullet, a computed config name), which is reported and never counted as a pass. A reader has to settle it:
B0no sample under docs/generated/samples/ — nothing to cross-check (P8.1)
The verdict above is
tools/docs/check_block_descriptions.py(P7.1), which compares LISTS. It cannot read a sentence: "stateless" on a block with a state, an initial-value semantic the recursion does not implement, a "not synthesizable" caveat the HDL banner contradicts. That is the agent audit (P7.3) on BLOCK_DESCRIPTION_AUDIT.md, and this tool's green is not a substitute for one.
Sample results#
No sample run is committed for this block. Samples come from the headless harness (DOCS_PLAN.md P8.1) into docs/generated/samples/; until one exists this block's behaviour is witnessed by the parity and export-verification suites, not by a plot here.