手机版

matlab上机试题(14)

发布时间:2021-06-06   来源:未知    
字号:

9. 拟合形如

f(x)

a bx1 cx

的函数的一种快速的方法是将最小二乘法用于下列问题:

f(x)(1 cx) a bx

,使用这种方法拟合下表给出的人口数据

function [err,a,b,c]=nlfit(x,y)

if nargin<3 %判断输入变量个数

x=[1953 1964 1982 1990 2000]'; %输入数据 y=[5.82 6.95 10.08 11.34 12.66]'; end

c=fminsearch(@fitfun1,[0;0;0],optimset,x,y); %a,b,c都从0开始搜索 fprintf('The nonlinear least square fitting y=(a+bx)/(1+cx) for data\n\n'); fprintf('%6.1f ',x);

fprintf('\n'); %换行

fprintf('%6.1f ',y); %6位浮点数表示保留1位小数 fprintf('\n\n is\n\t y=(%7.4f +%7.4f x)/(1+%7.4f x) \n\n',c(1),c(2),c(3));

z=linspace(x(1),x(end),100); %x(1)至x(end)分隔100份,为了画出曲线 p=(c(1)+c(2)*z)./(1+c(3)*z); plot(x,y,'r+',z, p,'b-.');

function err=fitfun1(d,x,y) a=d(1); b=d(2); c=d(3);

err=y.*(1+c*x)-a-b*x; err=err'*err;

matlab上机试题(14).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)