[求助] 一个曲线拟合的问题
y=a(1)+a(2)*sin(x)
x=[1:1:15]
y=[4.9927 5.2098 2.7516 -0.1218 -0.7686 1.4059 4.4024 5.4659 3.6188 0.5591 -0.9000 0.5830 3.6445 5.4699 4.3809]
用最小二乘 画出图形 不知各位谁能帮忙
function man()
clear all;
clc;
x0=[ 1 5.3610 ] ; % 初始值 按照第一次的结果进行修改
options=optimest('lsqnonlin');
[x,resnorm] = lsqnonlin(@myfun,x0);
y=x(1)+x(2).*sin(x);
hold on;
plot(y,'r-')
axis square
function F = myfun(x)
a=[1 5.3610
2 5.5916
3 2.9798
4 -0.0731
5 -0.7603
6 1.5500
7 4.7338
8 5.8638
9 3.9012
10 0.6503
11 -0.9000
12 0.6757
13 3.9286
14 5.8681
15 4.7110
]
X=a(:,1);
Y=a(:,2)
plot(X,Y,'b:')
axis square
k = 1:length(X);
F=x(1)+x(2)*sin(x(k)); % 所求最值表达式
麻烦一下能不能帮我修改一下这个程序 谢谢