Matlab通过多项式拟合求贝塞尔函数的导函数
2009-05-15 22:57
260 查看
%产生拟合曲线,并求某点导数
% hObject handle to btn_ployder (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
x=0.01:0.01:14;
steps=str2num(get(handles.edit_steps,'string')) ;
if length(steps)==1%必须是单个曲线
switch get(handles.popupmenu_pick,'value')
case 1
y=BESSELJ(steps(1),x);
case 2
y=BESSELY(steps(1),x);
end
a=polyfit(x,y,str2num(get(handles.edit_polyStep,'string')));%获取拟合多项式系数
a1=polyder(a);%多项式一阶导数
a2=polyder(a1);%多项式二阶导数
t=polyval(a,x);
hold on;
plot(x,y,'b');%绘制贝塞尔曲线
plot(x,t,'r:');%绘制拟合曲线
hold off;
xValue=str2num(get(handles.edit_xValue,'string')) ;
yValue=polyval(a,xValue);%函数值
dy1Value=polyval(a1,xValue);%一阶导数值
dy2Value=polyval(a2,xValue);%二阶导数值
set(handles.edit_yValue,'string',num2str(yValue));%显示
set(handles.edit_dy1Value,'string',num2str(dy1Value));
set(handles.edit_dy2Value,'string',num2str(dy2Value));
end
% hObject handle to btn_ployder (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
x=0.01:0.01:14;
steps=str2num(get(handles.edit_steps,'string')) ;
if length(steps)==1%必须是单个曲线
switch get(handles.popupmenu_pick,'value')
case 1
y=BESSELJ(steps(1),x);
case 2
y=BESSELY(steps(1),x);
end
a=polyfit(x,y,str2num(get(handles.edit_polyStep,'string')));%获取拟合多项式系数
a1=polyder(a);%多项式一阶导数
a2=polyder(a1);%多项式二阶导数
t=polyval(a,x);
hold on;
plot(x,y,'b');%绘制贝塞尔曲线
plot(x,t,'r:');%绘制拟合曲线
hold off;
xValue=str2num(get(handles.edit_xValue,'string')) ;
yValue=polyval(a,xValue);%函数值
dy1Value=polyval(a1,xValue);%一阶导数值
dy2Value=polyval(a2,xValue);%二阶导数值
set(handles.edit_yValue,'string',num2str(yValue));%显示
set(handles.edit_dy1Value,'string',num2str(dy1Value));
set(handles.edit_dy2Value,'string',num2str(dy2Value));
end
相关文章推荐
- matlab练习程序(最小二乘多项式拟合)
- Matlab——多项式拟合
- Matlab中数据处理和多项式插值与曲线拟合
- Matlab直接求贝塞尔函数的导函数
- 通过多项式来拟合股票收盘价的趋势图
- 多项式拟合——用Matlab实现并分析
- MATLAB 多项式拟合
- 机器学习-统计学习方法中多项式拟合偏导函数推导
- MATLAB在多项式插值及曲线拟合方面的应用
- Matlab考察多项式拟合不同阶次误差,并输出到Excel
- 使用matlab进行多项式的拟合
- Matlab中数据处理和多项式插值与曲线拟合
- 用离散正交多项式求三次拟合多项式[MATLAB版本]
- MATLAB下的多项式拟合
- Matlab 多项式拟合、稳健滤波等实用函数
- Matlab中数据处理和多项式插值与曲线拟合
- MATLAB学习--多项式拟合(1)
- Matlab 线性拟合 & 非线性拟合
- MATLAB学习笔记(六)——MATLAB数据分析与多项式计算
- Matlab之化简多项式