以下是一个示例代码,用于在MATLAB中建立一个for循环来拟合六条指数函数:

% 生成 x 数据
x = linspace(0, 10, 100);

% 生成 y 数据
y = zeros(length(x), 6);
for i = 1:6
    % 生成每个指数函数的参数
    a = randi([1, 5]);
    b = randi([1, 5]);
    c = randi([1, 5]);
    
    % 计算每个指数函数的 y 值
    y(:, i) = a * exp(b * x) + c;
end

% 拟合指数函数
fitParams = zeros(6, 3);
for i = 1:6
    % 使用指数函数模型进行拟合
    model = @(params, x) params(1) * exp(params(2) * x) + params(3);
    params0 = [1, 1, 1]; % 初始参数猜测
    fitParams(i, :) = lsqcurvefit(model, params0, x, y(:, i));
end

% 打印拟合参数
disp(fitParams);

这段代码首先生成了一个包含100个等间距值的 x 数据。然后,使用一个 for 循环生成了六个指数函数,并计算了每个指数函数在 x 数据上的 y 值。接下来,使用另一个 for 循环拟合了这六个指数函数,使用的拟合模型是 params(1) * exp(params(2) * x) + params(3)。最后,打印了拟合参数。


原文地址: http://www.cveoy.top/t/topic/i2yh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录