已知xyz都是一维319*1的数组,用matlab拟合z=b(1)*(x.^2)+b(2).*(y.^2)+b(3)*x+b(4)*y+b(5),求b

[复制链接]
查看11 | 回复2 | 2011-9-12 17:32:53 | 显示全部楼层 |阅读模式
x=[];%列向量y=[];%列向量xy=[x y];%列向量z=[];%列向量f=@(b,xy)(b(1)*(xy(:,1).^2)+b(2).*(xy(:,2).^2)+b(3)*xy(:,1)+b(4)*xy(:,2)+b(5));b=nlinfit(xy,z,f,[b1 b2 b3 b4 b5]);%%%方程系数矩阵的初值[b1 b2 b3 b4 b5],这个值自己先给定disp(b)...
回复

使用道具 举报

千问 | 2011-9-12 17:32:53 | 显示全部楼层
f=@(b,x)b(1)*(x(:,1).^2)+b(2).*(x(:,2).^2)+b(3)*x(:,1)+b(4)*x(:,2)+b(5);[b,resnorm]=lsqcurvefit(f,b0,x,z);%其中b为所求参数,x为含有x,y的矩阵,第一列为x的值,第二列为y的值,b0为b的初值,可以为[0,0,0,0,0],z为z的值...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行