matlab函数lsqnonlin用法,已知函数Y=a(1) +a(2)*H+a(3)*H*H+a(4)*H*H*H+a(5)*sin((2*pi*t)/365)+a(6)*sin((4*pi*t)/365)+a(7)*cos((2*pi*t)/365)+a(8)*cos((4*pi*t)/365)+a(9)*t+a(10)*log(1+t)+a(11)/(t+1).现有N组(H,t,y)值,用最小二乘法子求

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 01:46:33

matlab函数lsqnonlin用法,已知函数Y=a(1) +a(2)*H+a(3)*H*H+a(4)*H*H*H+a(5)*sin((2*pi*t)/365)+a(6)*sin((4*pi*t)/365)+a(7)*cos((2*pi*t)/365)+a(8)*cos((4*pi*t)/365)+a(9)*t+a(10)*log(1+t)+a(11)/(t+1).现有N组(H,t,y)值,用最小二乘法子求
matlab函数lsqnonlin用法,
已知函数Y=a(1) +a(2)*H+a(3)*H*H+a(4)*H*H*H+a(5)*sin((2*pi*t)/365)+a(6)*sin((4*pi*t)/365)+a(7)*cos((2*pi*t)/365)+a(8)*cos((4*pi*t)/365)+a(9)*t+a(10)*log(1+t)+a(11)/(t+1).现有N组(H,t,y)值,用最小二乘法子求出a(1)至a(11)的值.请写出M文件.

matlab函数lsqnonlin用法,已知函数Y=a(1) +a(2)*H+a(3)*H*H+a(4)*H*H*H+a(5)*sin((2*pi*t)/365)+a(6)*sin((4*pi*t)/365)+a(7)*cos((2*pi*t)/365)+a(8)*cos((4*pi*t)/365)+a(9)*t+a(10)*log(1+t)+a(11)/(t+1).现有N组(H,t,y)值,用最小二乘法子求
N = 45; % 每个变量的数据的个数
H = rand(N,1); % 将H整理为列向量,在此输入H的值
t = rand(N,1); % 将t整理为列向量,在此输入t的值
y = rand(N,1); % 将y整理为列向量,在此输入y的值
YY = @(a) a(1)+a(2).*H+a(3).*H.*H+a(4).*H.*H.*H+a(5)*sin((2*pi.*t)/365)+a(6)*sin((4*pi.*t)/365)+a(7)*cos((2*pi.*t)/365)+a(8)*cos((4*pi.*t)/365)+a(9).*t+a(10)*log(1+t)+a(11)./(t+1) - y
x0 = [0.3 0.4 0.3 0.4 0.3 0.4 0.3 0.4 0.3 0.4 0.3] % Starting guess
[x,resnorm] = lsqnonlin(YY,x0) % Invoke optimizer x即为用最小二乘法求出的a(1)至a(11)的值
如有问题,请继读联系