MATLAB: Reformat data into B(H,σ) to H(B,σ)


I have data on Magnetic Induction B and Magnetostriction λ. Both depend on magnetic field H, and stress (σ) [B(H,σ), λ(H,σ)]. For solving magnetostriction problem using vector potential approach one needs to reformat data into B(H,σ) to H(B,σ) and λ(H,σ) to λ(B,σ). Can you please help me out how do I reformat data? Which function is useful in MATLAB?

Best Answer

  • Figure out the way i could do with data using MATLAB interp1 command.
    Here is the code attached. myfile.mat needed for this code is attached below. Hope that will help you all.
    %% Code
    clear all
    Bref = B(:,1)';
    % Lambda=Lambda';
    for i = 1 : length(T)
    H2(:,i) = interp1(B(:,i), H, Bref, 'pchip', 'extrap');
    Lambda2(:,i) = interp1(B(:,i), Lambda(:,i), Bref, 'pchip', 'extrap');
    B = Bref;
    H = H2;
    Lambda = Lambda2;
  • Related Question