运用最小二乘法 分别进行 乘幂函数 y=a *x^b 指数函数y=b*exp(a*x) 曲线拟合 分别求出a,b,并作图

求助高手 matlab写程序
x=[0.34 0.35 0.36 0.37 0.38 0.39 0.40 0.41 0.42 0.43];
y=[0.211 0.313 0.466 0.692 1.03 1.532 2.190 3.250 4.823 7.158];
运用最小二乘法
分别进行
乘幂函数 y=a *x^b
指数函数y=b*exp(a*x)
曲线拟合 分别求出a,b,并作图 谢谢

第1个回答  推荐于2020-03-06
x=[0.34 0.35 0.36 0.37 0.38 0.39 0.40 0.41 0.42 0.43];
y=[0.211 0.313 0.466 0.692 1.03 1.532 2.190 3.250 4.823 7.158];

拟合第一个:
function f = first(c, x, y)
f = y - c(1) .* x .^ c(2);
保存为first.m文件。
命令行下运行:
c = lsqnonlin('first', [0 0], [], [], [], x, y);
a = c(1)
b = c(2)

拟合第二个:
function f = first2(c, x, y)
f = y - c(2) .* exp(c(1) .* x);
保存为first2.m文件。
命令行下运行:
c2 = lsqnonlin('first2', [0 0], [], [], [], x, y);
a2 = c2(1)
b2 = c2(2)本回答被提问者采纳
相似回答