Jiles–Atherton parameters
44 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
How can I calculate Jiles-Atherton parameters. What will be the equations and how to write them in MATLAB code. can anyone give me code or suggestions?
1 Kommentar
Rik
am 3 Feb. 2022
I don't think this is a Matlab problem yet. Would you be able to explain with pen and paper how to do it? You need to explain the actual Matlab problem, otherwise you reduce the number of people who can help you to only those who understand this specific problem as well.
Antworten (1)
Anshuman
am 29 Jan. 2024
Hi Ananta, the core equations of the Jiles-Atherton model describe the relationship between the magnetization ( M ), the applied magnetic field ( H ), and the anhysteretic magnetization ( M_a ). The Jiles-Atherton model parameters are:
- ( M_s ): Saturation magnetization
- ( a ): Exchange coupling constant
- ( k ): Anisotropy constant
- ( c ): Magnetization reversal constant
- ( alpha ): Parameter representing losses due to eddy currents and other effects
To calculate the Jiles-Atherton parameters, you typically perform a nonlinear curve fitting to experimental data. This can be done using MATLAB's optimization toolbox, specifically the "lsqcurvefit" function or similar. Here's a sample code of how you might set this up in MATLAB:
% Experimental data (H: applied magnetic field, M_exp: measured magnetization)
H = [...]; % Applied magnetic field vector
M_exp = [...]; % Measured magnetization vector
% Initial guesses for Jiles-Atherton parameters
params0 = [Ms0, a0, k0, c0, alpha0];
% Define the Jiles-Atherton model equation as a function
JA_model = @(params, H) ... % Implement the Jiles-Atherton equations here
% Set options for the fitting algorithm
options = optimoptions('lsqcurvefit', 'Display', 'iter', 'Algorithm', 'trust-region-reflective');
% Perform the curve fitting to find the best parameters
[params_fit, resnorm, residual, exitflag, output] = lsqcurvefit(JA_model, params0, H, M_exp, [], [], options);
% Extract the fitted parameters
Ms_fit = params_fit(1);
a_fit = params_fit(2);
k_fit = params_fit(3);
c_fit = params_fit(4);
alpha_fit = params_fit(5);
This is a general outline of how you can calculate Jiles-Atherton parameters using MATLAB.
1 Kommentar
Simon Gans
am 18 Feb. 2025 um 9:25
Hello. I do not think that the provided algorithm will do any good when estimating the parameter values of the Jiles-Atherton model, because the model itself consists of only one differential equation which has 5 parameters in it which have somewhat of a physical meaning. And the optimization function has many local minima so most "local" solvers just find the minimum of the cost function that is nearest to them which is very improbable to be the true global minimum.
There are some options, like the particle swarm optimization method (Link) which has been used succesfully for such problems. Any of the default optimization methods that resemble gradient descent are completely useless.
Hope this helps :)
Siehe auch
Kategorien
Mehr zu Problem-Based Optimization Setup finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!