Explore BrainMass
Share

Explore BrainMass

    MATLAB polyfit find P50 in mmHg

    This content was COPIED from BrainMass.com - View the original, and get the already-completed solution here!

    How do I convert back to find P50 in mmHg and n given the best-fit?

    function po2()
    %This function tests the linearty of tetrameric bovine hemoglobin binding
    %to oxygen as a possible blood substitute for monomeric hemoglobin. An
    %oxygen dissociation curve is created, and a linear regression is performed
    %on the experimental data using the built in Matlab function, polyfit. A
    %best-fit model is plotted with the data to show that linearty exists.

    % this is the data provided
    pO2 = [ 10 20 30 40 50 60 70 80 90 100 110 120 ] ;
    Y = [0.18 0.4 0.65 0.8 0.87 0.92 0.94 0.95 0.95 0.96 0.96 0.97 ] ;

    % Test the linearity according to Henry's Law and the Hill equation
    %ln(Y/(1-Y)) = n*ln(pO2)+n*ln(P50) which captures the sigmoidal shape of
    %the oxygen dissociation curve

    x = log(pO2) ;
    yy = log( Y ./(1-Y) ) ;

    p = polyfit( x, yy, 1) ;

    fitted = p(1) * x + p(2) ; %define equation for best-fit line

    subplot(1,2,1) ;
    hold ;
    plot(pO2, Y, 'o', 'LineWidth',2) ;
    hold ;
    legend('Oxygen Dissociation Curve') ;
    xlabel('pO2 in mmHg', 'FontSize', 12, 'FontWeight', 'bold') ;
    ylabel('Fraction of Hb Saturation in %', 'FontSize', 12, 'FontWeight', 'bold') ;

    subplot(1,2,2) ;
    hold ;
    plot( x, yy, 'o', 'LineWidth', 2) ; % here plot the provided data
    plot( x, fitted, ':', 'LineWidth', 2) ; % here plot the linear fit
    xlabel('log(pO2) in mmHg', 'FontSize',12, 'FontWeight','bold') ;
    ylabel('log(Y /(1-Y))in % Saturation', 'FontSize',12, 'FontWeight','bold') ;
    legend('Linear Regression of Oxygen Dissociation Curve', 'Fitted line', 2) ;
    hold ;

    © BrainMass Inc. brainmass.com April 3, 2020, 2:54 pm ad1c9bdddf
    https://brainmass.com/computer-science/matlab/matlab-polyfit-p50-mmhg-49831

    Solution Preview

    We have the following relations:

    ln(Y/(1-Y)) = n*ln(pO2)+n*ln(P50) ---[1]---

    was given as the definition of what we want to fit, when we took ...

    Solution Summary

    The expert uses the MATLAB polyfit function to find P50 mmHg.

    $2.19

    ADVERTISEMENT