用matlab写一个可以求最小二乘抛物线函数系数的代码,不使用函数,最后会给出点和拟合线的图像
时间: 2024-02-06 15:11:53 浏览: 164
测试过的利用最小二乘算法实现对三维平面的拟合matlab开发代码
好的,下面是一个可以用最小二乘法求解抛物线函数系数,并画出原始数据点和拟合曲线的 MATLAB 代码:
```matlab
% 输入数据
x = [1, 2, 3, 4, 5];
y = [2.2, 3.7, 6.5, 10.6, 15.0];
% 构造矩阵
n = length(x);
A = zeros(n, 3);
for i = 1:n
A(i,1) = 1;
A(i,2) = x(i);
A(i,3) = x(i)^2;
end
% 最小二乘法求解
ATA = A' * A;
ATy = A' * y';
coeff = ATA \ ATy;
% 输出结果
a = coeff(1);
b = coeff(2);
c = coeff(3);
fprintf('y = %.4f + %.4fx + %.4fx^2\n', a, b, c);
% 画图
xx = linspace(min(x), max(x), 1000);
yy = a + b*xx + c*xx.^2;
figure;
plot(x, y, 'o', xx, yy, '-');
xlabel('x');
ylabel('y');
legend('数据点', '拟合曲线');
```
运行代码后,会输出求解得到的系数 $a,b,c$,并画出原始数据点和拟合曲线的图像。图像中的蓝色点表示原始数据点,红色线表示拟合曲线。可以根据实际情况修改输入的数据点和画图的参数。
阅读全文