matlab多项式拟合代码
时间: 2023-08-30 12:08:57 浏览: 141
在MATLAB中,进行多项式拟合比较简单,可以使用polyfit函数。下面是两个示例代码:
示例代码1:
```matlab
clc;
clear;
close all;
len = 20; % 数据长度
x = 1:1:len; % 时间轴坐标
y = x.^6; % 生成6次多项式
figure,plot(x,y,'o');
xlabel('Position / s');
ylabel('Intencity / cd');
title('Input Signal');
% 多项式拟合
coef = polyfit(x,y,4); % 拟合4阶多项式
coee = polyval(coef,x); % 使用拟合系数生成以x为坐标的多项式
hold on,plot(x,coee); % 绘图命令
legend('Initial Curve','Fitting Curve');
```
示例代码2:
```matlab
function [] = test()
%%载入数据
data = importdata('linear_regression.txt');
x = data(:, 1);
y = data(:, 2);
f = polyfit(x, y, 10); %多项式拟合, 10为设置的多项式系数
xi = min(x) : 0.02 : max(x);
yi = polyval(f, xi); %计算多项式的值
plot(xi, yi, x, y, 'r*');
end
```
这些示例代码演示了如何使用polyfit函数对数据进行多项式拟合,并且将拟合结果与原始数据一起绘制在图像上。你可以根据自己的需求调整拟合的多项式阶数或者增加更多的数据点进行拟合。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [MATLAB多项式拟合](https://blog.csdn.net/ruredfive/article/details/122997102)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [Matlab数据拟合](https://blog.csdn.net/weixin_44575152/article/details/107543186)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文