|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
各位大侠,我是一个matlab小白,刚入门就遇到了一个棘手的问题。请各位大侠帮帮忙!!!
y=1-(1-x^b)^a;
江湖救急!!!这个怎么编程啊!!
最小二乘法,a,b 为拟合数值
这是我的程序
function F=myfun(a,x,y);
%a为包含两个元素的向量
%其中a(1)=a1,a(2)=a2
F=y.^(a(1))+x.^(a(2))-1;
clear
clc
x=[0.05 0.10 0.15 0.30 0.90 0.99];
d=[0.287671233 0.348173516 0.413242009 0.526255708 0.916666667 1];
y=((d-1)*(-1)).^(-1);
a0=[0.61 0.29];
options=optimset('lsqnonlin');
[a,resnorm]=lsqnonlin(@myfun,a0,[],[],options,x,y);
执行时,出不来数,好像不是初值的问题。不知道这样定义的函数是不是不收敛。
|
|