Why is System ID using tfest inconsistent between different computers

1 view (last 30 days)
I am using tfest to get the transfer function coefficients and I am getting different results depending on the computer that I am using. I have used 3 different computers and tfest outputs different results on each computer, although the results are consistent on a single computer. The code that I am using is identical, being saved on a cloud folder and accessed directly for each computer.
I am including the iddata (named IOdat) and the accompanying time data if needed (named IOt). Here is a simplified version of my TF estimation and how I noticed the differences.
load('IDsample.mat')
ord = 20:23; % The polynomial order for TF estimation
FIT = NaN(1,length(ord)); % Preallocate vector for fit quality
for i = 1:length(ord)
sys = tfest(IOdat,ord(i),ord(i)); % Estimate the TF coefficients
[~,FIT(i),~] = compare(IOdat,sys); % Save the fit quality
end
Without changing anything else, my FIT results change depending on the computer that I am using. Here are the fit results for the 3 computers that I have used (for these 20 - 23 order cases).
  1. [89.211, -65.00, 90.142, 74.776] --- Home Desktop
  2. [87.721, 72.485, 89.156, -965.5] --- Laptop
  3. [83.374, 72.484, 90.157, 71.398] --- School Library Desktop
What is it about tfest that produces different results? Are there settings that I can change in tfest to get consistent results across different devices?
The specs for each computer are as follows:
Home Desktop
  • Processor: AMD Ryzen 7 2700X 3.7 GHz 8-Core
  • RAM: 32 GB (2 x 16 GB DDR4-3200)
Laptop (Windows Surface Pro 7+)
  • Processor: 11th Gen Intel® Core™ i5-1135G7 @ 2.4 GHz, 2419 Mhz, 4 core, 8 Logical Processors
  • RAM: 8 GB (unknown form)
Library Desktop
  • Processor: 12th Gen Intel(R) Core(TM) i7-12700 2.10 GHz
  • RAM: 16 GB (unknown form)

Accepted Answer

Santosh Fatale
Santosh Fatale on 19 May 2023
Hi Emma,
I understand that you are using System Identification Toolbox to estimate the order of the system from the data and getting three different answers on three different systems.
It is my understanding that the primary reason could be different versions of BLAS installed on these systems. Kindly refer to the following links to learn more about BLAS and its usage in MATLAB.
Additionally, please make sure that the data for which you plan to estimate the system order is properly conditioned. Due to floating-point representation on three distinct systems, the incorrectly conditioned data could provide a variety of outcomes.

More Answers (0)

Products


Release

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!