声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1350|回复: 2

[编程技巧] 各位大师请帮帮忙!matlab最小二乘法拟合问题

[复制链接]
发表于 2011-3-16 19:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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);
执行时,出不来数,好像不是初值的问题。不知道这样定义的函数是不是不收敛。

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2011-3-16 23:55 | 显示全部楼层
>> d=1;y=((d-1)*(-1)).^(-1)

y =

  -Inf
 楼主| 发表于 2011-3-17 08:36 | 显示全部楼层
本帖最后由 sunfuyong123 于 2011-3-17 08:38 编辑

回复 2 # ChaChing 的帖子

谢谢啊!那我的这个公示能用吗?把d的值改一下,应该就不会出错了吧?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-13 15:35 , Processed in 0.058607 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表