myfit2.m

来自「自己编写的matlab程序 数值分析里的程序」· M 代码 · 共 26 行

M
26
字号
%myfit2([2 3 4 5],2)
%用二次多项式来拟合函数曲线上的各点
function y=myfit2(X,n)
syms x a b c;
m=length(X);
for i=1:m
    Y(i)=fun(X(i));    
end
if n==2
    A=[m+1 sum(X) dot(X,X);..
        sum(X) dot(X,X) sum(X.*X.*X);...
        dot(X,X) sum(X.*X.*X) sum(X.*X.*X.*X)];
    %dot(X,X)表示X与X的点积,与sum(X.*X)的含义相同
    B=[sum(Y);dot(X,Y);sum(X.*X.*Y)];
    C=A\B;    
    y=C(1)+C(2)*x+C(3)*x^2;
    y=vpa(y,6);
    ezplot(y,[0 6])
    hold on
    fplot('fun(s)',[0 6],'r')
    hold on
    plot(X,Y,'ks')
    hold off
else
    disp('Input error');
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?