%解代数方程
[x1,x2]=size(x);
a=[ones(x2,1),x'];
b=a\y'
%线性回归
b=regress(y',a)
y1=b(1)+b(2).*x
n=1;%一阶多项式模型
P=polyfit(x,y,n)
y2=polyval(P,x)
%指数模型转化为线性模型
yl=log(y);
Pl=polyfit(x,yl,1)
y3=exp(Pl(2)).*exp(Pl(1).*x)
b2=exp(Pl(2))
%指数模型非线性拟合(失败)
fun=inline('b(1).*exp(b(2).*x)','b','x');
b0=[0.0001,-30],
[deta,r,j]=nlinfit(x',y',fun,b0);
%非线性拟合
xx=[25 50 100 200 500];
yy=[1.9 3.4 4.9 5.6 6.1];
beta0=[2,3];
fun1=inline('b(1).*xx./(b(2)+xx)','b','xx');
[beta,r,j]=nlinfit(xx,yy,fun1,beta0)
plot(x,y1,x,y2,x,y3,x,y,'.r','MarkerSize',20),xlabel('x')
解方程零点的MATLAB语言
零点
% 解方程 51=30*0.5/w+sqrt(0.5^2-w^2)
%用内联函数求零点
fun=inline('51-30*0.5/w-sqrt(0.5^2-w^2)','w');
w0=fzero(fun,0.3)
%用函数文件求零点
function y=fun(w)
y=51-30*0.5/w-sqrt(0.5^2-w^2);
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新人文社科人口问题数据拟合的MATLAB程序(3)全文阅读和word下载服务。
相关推荐: