Matlab非线性多元拟合nlinfit函数出问题clearx=[1,1;2,2;-1,-2;0,-1;3,6]y=[10;23;-8;-3;19]a=[0.5 0.5 0.5 0.5 0.5]f=@(x,y)a(1)+a(2)*x(:,1)+a(3)*x(:,2)+a(4)*x(:,1)*x(:,2)+a(5)*x(:,1)^2;nlinfit(x,y,f,[0.5 0.5 0.5 0.5 0.5])结果Error using ==> n

来源:学生作业帮助网 编辑:作业帮 时间:2024/10/06 01:07:03
Matlab非线性多元拟合nlinfit函数出问题clearx=[1,1;2,2;-1,-2;0,-1;3,6]y=[10;23;-8;-3;19]a=[0.5 0.5 0.5 0.5 0.5]f=@(x,y)a(1)+a(2)*x(:,1)+a(3)*x(:,2)+a(4)*x(:,1)*x(:,2)+a(5)*x(:,1)^2;nlinfit(x,y,f,[0.5 0.5 0.5 0.5 0.5])结果Error using ==> n
xSn@Y&a-# &ҴuHƉlrvZZPJy U ,Cx HmSZܙsj;PlvwgIVxOߑ֪TR ց+~)2LiZ8r"@N@Y8YhJY]E\ X) 68!$/ᄘL8aOj0U,S%5iU $)ܬiBI5Xz$otaT5 L1+fnNݾu.պ24٨k*`Q3(Za`+uYFY:~(EVr,t-`rkt5cO{{n)J:AuzӣbGͤv`:l|vl xF4̢:<5;ڦsg-7vK铖͐ݍ5?^Љa;bMX)@BcV [h04m8+װ>o

Matlab非线性多元拟合nlinfit函数出问题clearx=[1,1;2,2;-1,-2;0,-1;3,6]y=[10;23;-8;-3;19]a=[0.5 0.5 0.5 0.5 0.5]f=@(x,y)a(1)+a(2)*x(:,1)+a(3)*x(:,2)+a(4)*x(:,1)*x(:,2)+a(5)*x(:,1)^2;nlinfit(x,y,f,[0.5 0.5 0.5 0.5 0.5])结果Error using ==> n
Matlab非线性多元拟合nlinfit函数出问题
clear
x=[1,1;2,2;-1,-2;0,-1;3,6]
y=[10;23;-8;-3;19]
a=[0.5 0.5 0.5 0.5 0.5]
f=@(x,y)a(1)+a(2)*x(:,1)+a(3)*x(:,2)+a(4)*x(:,1)*x(:,2)+a(5)*x(:,1)^2;
nlinfit(x,y,f,[0.5 0.5 0.5 0.5 0.5])
结果
Error using ==> nlinfit at 127
MODELFUN should return a vector of fitted values the same length
as Y.

Matlab非线性多元拟合nlinfit函数出问题clearx=[1,1;2,2;-1,-2;0,-1;3,6]y=[10;23;-8;-3;19]a=[0.5 0.5 0.5 0.5 0.5]f=@(x,y)a(1)+a(2)*x(:,1)+a(3)*x(:,2)+a(4)*x(:,1)*x(:,2)+a(5)*x(:,1)^2;nlinfit(x,y,f,[0.5 0.5 0.5 0.5 0.5])结果Error using ==> n
拟合函数的输入有两个参数,
第一个应该是你要拟合的参数,对应于这里a
第二个是输入的自变量,对应于这里的x
多维的可以用多列数据,注意行数和y相同
还要注意,函数式里向量间的*,\,^,要用.*,.\,.^
x=[1,1;2,2;-1,-2;0,-1;3,6];
y=[10;23;-8;-3;19];
a=[0.5 0.5 0.5 0.5 0.5];
f=@(a,x)a(1)+a(2)*x(:,1)+a(3)*x(:,2)+a(4)*x(:,1).*x(:,2)+a(5)*x(:,1).^2;
nlinfit(x,y,f,[0.5 0.5 0.5 0.5 0.5])