Tafel曲线外推法求自腐蚀电流,自腐蚀电位-Matlab函数

根据下面B站的教程,计算腐蚀电位和腐蚀电流。为了计算方便,使用matlab求解。

如何从电化学测试所得的原始数据得到Tafel曲线以及如何用外推法求得自腐蚀电位和自腐蚀电流密度

Matlab 函数如下

function [E_corr, Log_I_corr] = E_I_corr(potential, logi)
    % 获取logi最小值时对应的potential数值
    [~, idx] = min(logi);
    Min_potential = potential(idx);
    
    % 获取YangJi_data数据
    YangJi_idx = find(potential >= Min_potential + 0.06 & potential <= Min_potential + 0.12);
    YangJi_potential = potential(YangJi_idx);
    YangJi_logi = logi(YangJi_idx);
    
    % 获取YinJi_data数据
    YinJi_idx = find(potential >= Min_potential - 0.12 & potential <= Min_potential - 0.06);
    YinJi_potential = potential(YinJi_idx);
    YinJi_logi = logi(YinJi_idx);
    
    % 最小二乘法线性拟合YangJi_data
    YangJi_fit = polyfit(YangJi_potential, YangJi_logi, 1);
    YangJi_fit_func = @(x) YangJi_fit(1) * x + YangJi_fit(2);
    YangJi_R2 = calcR2(YangJi_potential, YangJi_logi, YangJi_fit_func);
    
    % 最小二乘法线性拟合YinJi_data
    YinJi_fit = polyfit(YinJi_potential, YinJi_logi, 1);
    YinJi_fit_func = @(x) YinJi_fit(1) * x + YinJi_fit(2);
    YinJi_R2 = calcR2(YinJi_potential, YinJi_logi, YinJi_fit_func);
    
    % 打印拟合函数和R2
    fprintf('阳极区间拟合函数: y = %.4fx + %.4f, R² = %.4f\n', YangJi_fit(1), YangJi_fit(2), YangJi_R2);
    fprintf('阴极区间拟合函数: y = %.4fx + %.4f, R² = %.4f\n', YinJi_fit(1), YinJi_fit(2), YinJi_R2);
    
    % 计算两个拟合直线的交点
    E_corr = (YinJi_fit(2) - YangJi_fit(2)) / (YangJi_fit(1) - YinJi_fit(1));
    Log_I_corr = YangJi_fit_func(E_corr);
    fprintf('两个拟合直线交点为(%.4f,%.4f)\n', E_corr,Log_I_corr);
    fprintf('E_corr = %.4f V\n', E_corr);
    fprintf('I_corr = %.9f mA\n', 10^(Log_I_corr)*1000);
end

function R2 = calcR2(x, y, fit_func)
    y_fit = fit_func(x);
    SS_res = sum((y - y_fit) .^ 2);
    SS_tot = sum((y - mean(y)) .^ 2);
    R2 = 1 - (SS_res / SS_tot);
end


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值