matlab直线拟合的程序,MATLAB最小二乘法拟合直线的程序

最小二乘法拟合直线

程序:

function linear_fit %最小二乘法拟合直线clear;

clc;

prompt={'Name of data file'};

title='Linear_fit';

lineNo=2;

def={'Linearfit.dat'};

outval=inputdlg(prompt,title,lineNo,def);

if isempty(outval)==1,return,end

filename=outval{1};

data=load(filename);

x=data(:,1);

y=data(:,2);

[a,b]=linearfit(x,y);

yy=a+b*x;

func=['y=',num2str(a),'+',num2str(b),'*x']; plot(x,y,'bx','markersize',10);

hold on

plot(x,yy,'r-','linewidth',1.5)

xlabel('T(^oC)');

ylabel('R(\Omega)');

text(x(2),yy(length(yy)-1),func)

function [a,b]=linearfit(x,y)

xy=x.*y;

x2=x.^2;

x_mean=mean(x);

y_mean=mean(y);

xy_mean=mean(xy);

x2_mean=mean(x2);

b=(xy_mean-x_mean*y_mean)/(x2_mean-x_mean^2); a=y_mean-b*x_mean;

return

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值