myfit1.m

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

M
25
字号
%myfit1([2 3 4 5],1)
%用一次多项式来拟合函数曲线上的各点
function y=myfit1(X,n)
syms x a b;
m=length(X);
for i=1:m
    Y(i)=fun(X(i));    
end
if n==1
    jz=[sum(X) sum(Y) dot(X,X) dot(X,Y)];
    f1=(m+1)*a+jz(1)*b-jz(2);
    f2=jz(1)*a+jz(3)*b-jz(4);
    s=solve(f1,f2,'a','b');
    %dot(X,X)表示X与X的点积
    y=s.a+s.b*x;
    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 + -
显示快捷键?