Я такие векторы и х у векторов, описанные в поле ниже:Matlab, чтобы найти соответствующие коэффициенты
x = [0 5 8 15 18 25 30 38 42 45 50];
y = [81.94 75.94 70.06 60.94 57.00 50.83 46.83 42.83 40.94 39.00 38.06];
с этими значениями, как я могу найти коэффициенты y = a*(b^x)
??
Я попробовал этот код, но он находит для y = a*e^(b*x)
clear, clc, close all, format compact, format long
% enter data
x = [0 5 8 15 18 25 30 38];
y = [81.94 75.94 70.06 60.94 57.00 50.83 46.83 42.83];
n = length(x);
y2 = log(y);
j = sum(x);
k = sum(y2);
l = sum(x.^2);
m = sum(y2.^2);
r2 = sum(x .* y2);
b = (n * r2 - k * j)/(n * l - j^2)
a = exp((k-b*j)/n)
y = a * exp(b * 35)
result_68 = log(68/a)/b
Я знаю методы интерполяции, но я не мог реализовать его к моим решениям ...
Большое спасибо заранее!
Мне нравится, что в то время как это на самом деле математический вопрос, более чем вопрос программирования, она была решена очень быстро. – Henrik
Я бы сказал, что я математик, больше, чем программист, поэтому этот вопрос явно хорошо подходит для меня! –
Почему я не могу реализовать, как вы упомянули, например log (y) = log (a) + x log (b)? Без регресса или бета-версии, возможно, я занимаюсь этим кодом, но на самом деле я не получил решение. Не могли бы вы описать это больше? – Hayra