数学建模社区-数学中国

标题: matlab最小二乘法拟合抛物线问题请教 [打印本页]

作者: Reciprocal    时间: 2014-8-7 15:24
标题: matlab最小二乘法拟合抛物线问题请教
各位大家好,我想用下列t,N的数据去拟合一条形如y=b0+b1*x+b2*x^2的抛物线,但不知道为什么,matlab会显示成这样???请教各路大神!!急求讲解!!!!!
8 |! h1 n8 Q- }' f2 K& x% i t=[0 40 50 60 90 120]';
5 f% ^4 Z' i  G, c9 \   N=[80 200 1000 700 150 0]';% w/ {- m5 C7 X, U) z7 G1 A
   r=[ones(6,1),x.^2];
6 {9 m# ~5 o* o) Y, g   ab=r\y. z4 v# J+ C3 n
   t0=0:0.1:120;9 y6 p1 @# R! G8 a! C% x
   N0=ab(0)+ab(1)*t0+ab(2)*t0.^2;9 |$ u# v5 W" d- z
   plot(t,N,'o',t0,N0,'r')
; k) Q3 G6 G- \! ]; NUndefined function or variable 'x'.3 V- T$ ]4 }' H" A1 K
7 }- ~$ o  b% y2 Q
' [2 j% G6 _) q" M( o. J# {
7 C) y) w; \/ y$ F

作者: KOF97    时间: 2014-8-7 17:27
Undefined function or variable 'x'.  没有给X定义一个函数
作者: KOF97    时间: 2014-8-7 17:31
MATLAB拟合的一般比较简单的多项式函数,有的时候,我会把一些非多项式函数转化为多项式函数来解决
作者: wujianjack2    时间: 2014-8-7 18:31
   用Curve Fitting Tool吧,比较方便,在Command Window内输入cftool即可打开,不过,你事先把t和N输入到MATLAB工作环境中以便在Curve Fitting Tool中加载变量。( Y6 ~- n" q% }$ \
   你的数据直接用二次多项式拟合效果并不好,如果需要M文件代码,File->Generate Code即可。
作者: Reciprocal    时间: 2014-8-7 19:25
先谢谢各位了,我刚刚自己解决了




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5