matlab 多元非线性拟合出问题,急求

主函数X=[22.1,17.5,7.1,7.1,9.6;15.6,15.0,4.5,6.0,7.9;10.1,9.4,3.1,4.9,5.5;13.2,11.5,4.2,... 主函数
X=[22.1, 17.5, 7.1, 7.1, 9.6;
15.6, 15.0, 4.5, 6.0, 7.9;
10.1, 9.4, 3.1, 4.9, 5.5;
13.2, 11.5, 4.2, 5.3, 5.6;
21.4, 17.9, 7.2, 6.8, 7.1;
23.5, 18.7, 7.9, 7.7, 7.4;
20.3, 16.9, 6.7, 6.9, 7.3;
24.2, 18.8, 7.9, 7.2, 8.1;
9.5, 9.3, 3.2, 3.2, 3.9;
11.3, 10.5, 3.9, 4.1, 4.9;
15.9 ,14.9, 5.4, 5.3, 6.7;
17.2, 16.8, 6.6, 6.9, 8.7;
19.8, 17.1, 6.9, 6.7, 7.9;
21.1, 17.3, 7.0, 6.8, 7.7;
23.4, 17.9, 7.7, 7.5, 9.5;
25.1, 18.4, 8.1, 8.3, 9.9;
10.2, 9.9, 3.2, 3.4, 4.5;
12.4, 12.0, 4.1, 4.3, 5.7;
24.1, 18.2, 7.9, 7.4, 9.8;
16.5, 14.1, 5.2, 5.5, 7.7;
17.9, 15.3, 5.9, 5.6, 7.5;
21.0, 16.8, 6.7, 6.8, 8.8;
23.2, 17.6, 7.3, 7.1, 9.4;
25.0, 19.1, 8.2, 8.3, 10.5;
10.7, 10.4, 3.5, 3.2, 4.3;
12.1, 11.8, 3.7, 3.8, 5.1;
14.5, 13.9, 4.3, 4.5, 6.5;
16.8, 15.5, 5.5, 5.3, 7.2;
19.9, 16.9, 6.4, 6.8, 8.4;
21.6, 17.2, 7.1, 7.5, 9.7;
23.3, 17.7, 7.4, 7.1, 9.5;
25.7, 19.3, 8.2, 8.0, 9.9;
10.8, 10.5, 3.3, 3.4, 4.8;
12.4, 12.1, 3.8, 4.0, 5.9;
15.6, 15.0, 5.2, 5.5, 6.8;
17.9, 16.7, 5.7, 5.6, 7.2;
19.8, 16.9, 6.3, 6.0, 8.4;
21.2, 17.3, 6.8, 6.7, 8.3;
23.4, 18.1, 7.4, 7.1, 9.6;
24.7, 18.1, 7.9, 8.2, 10.3];
y=[2.35 0.90 0.79 0.82 2.27 2.44 2.21 2.43 0.73 0.87 1.03 1.51 2.05 2.27 2.44 2.57 0.78 0.82 2.53 1.54 1.48 2.26 2.41 2.67 0.88 0.80 1.01 1.43 2.02 2.29 2.45 2.69 0.77 0.83 1.05 1.82 2.05 2.21 2.47 ];
beta0=[3 1 1 0.3 1.5 0.7];(数据不全,写不下了)
beta=nlinfit(X,y,'model',beta0);
model.m文件如下
function yy=model(beta,X)
a=beta(1);
b=beta(2);
c=beta(3);
d=beta(4);
e=beta(5);
f=beta(6);
x1=X(:,1);
x2=X(:,2);
x3=X(:,3);
x4=X(:,4);
x5=X(:,5);
yy=a+b*x1+c*x2+d*3+e*x4+f*x5;
end
运行出错

出错 dynh (line 54)
beta=nlinfit(X,y,'model',beta0);
求解,matlab水平有限,见谅
展开
 我来答
三野深月11
2016-05-16 · TA获得超过360个赞
知道小有建树答主
回答量:338
采纳率:100%
帮助的人:57.3万
展开全部
使用“lsqcurvefit”
clear
clc
x=[40 50 60 70 80 90 100 110 120 135 150];
y=[0.0096 0.0145 0.0194 0.0348 0.0501 0.0751 0.1000 0.1497 0.1993 0.2496 0.2999];
z=[0.2400 0.2865 0.3330 0.3600 0.3870 0.4010 0.4150 0.4390 0.4630 0.4875 0.5120];
X0=[1 1 1 1 1 1];
%只要这样写就可以了
f=@(p,x)( p(1) + p(2)*x(1,:) + p(3)*x(2,:) + p(4)*x(1,:).^2 + p(5)*x(1,:).*x(2,:) + p(6)*x(2,:).^2);
p=lsqcurvefit(f,X0,[x;y],z)
江苏华简晟01
2024-10-14 广告
色谱检测服务热线18721007633, 江苏华简晟检测科技是研究性测试服务机构,基于多年的分析表征专业技术积累和辐射全国的服务网络,每年出具数万分技术报告,累计服务客户数千万家。... 点击进入详情页
本回答由江苏华简晟01提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式