Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-05-27, 11:22   #1
esther0401
初级会员
 
注册日期: 2008-03-25
年龄: 39
帖子: 5
声望力: 0
esther0401 正向着好的方向发展
默认 非线性最小二乘拟合

大家好,最近在做非线性最小二乘拟合,到最后遇到一点问题,不知是否我的数据处理的不对,希望会的朋友能给与帮助。
x=lsqnonlin(@myfun,x0);

其中myfun.m如下:
function y=myfun(x,data)

SitaS=data(:,1);
SitaV=data(:,2);
FaiV=data(:,3);
BRDF=data(:,4);

CosSitaS=cos(SitaS);
CosSitaV=cos(SitaV);
SinSitaS=sin(SitaS);
SinSitaV=sin(SitaS);
CosFaiV=cos(FaiV);
Cos2SitaA=CosSitaS.*CosSitaV+SinSitaS.*SinSitaV.*CosFaiV;
CosSitaA=sqrt((Cos2SitaA+1)/2);
CosAlpha=(CosSitaS+CosSitaV)./(2*CosSitaA);
TanAlpha=sqrt(ones(size(CosAlpha))-CosAlpha.^2)./CosAlpha;

g=sqrt(x(1)^2*ones(size(CosSitaA))+CosSitaA.^2-ones(size(CosSitaA)));
F=1/2*((g-CosSitaA)./(g+CosSitaA)).^2*(1+((CosSitaA.*(g+CosSitaA)-ones(size(CosSitaA)))./((CosSitaA.*(g-CosSitaA)+ones(size(CosSitaA))))).^2);
D=exp(-(TanAlpha.^2)./(x(2)^2*ones(size(TanAlpha))))./(x(2)^2*ones(size(TanAlpha)).*CosAlpha.^4);

g1=ones(size(CosSitaA));
g2=2*CosAlpha.*CosSitaV./CosSitaA;
g3=2*CosAlpha.*CosSitaS./CosSitaA;
G=myMin(g1,g2,g3);

brdf_spec=F.*G.*D./(2*pi^2*CosSitaS.*CosSitaV);
brdf_diff=x(3)*ones(size(BRDF))/pi;
y=brdf_spec+brdf_diff-BRDF;
先谢了!
esther0401 当前离线   回复时引用此帖
旧 2008-05-29, 13:25   #2
fanxing39
高级会员
 
注册日期: 2007-12-02
年龄: 44
帖子: 303
声望力: 31
fanxing39 是一位成功的新星fanxing39 是一位成功的新星fanxing39 是一位成功的新星fanxing39 是一位成功的新星
默认

把你的数学式子传上来,看程序想式子还是不清楚你要做的是什么:sweat:
fanxing39 当前离线   回复时引用此帖
旧 2008-06-01, 13:38   #3
yinjj
初级会员
 
yinjj 的头像
 
注册日期: 2008-06-01
年龄: 47
帖子: 16
声望力: 17
yinjj 正向着好的方向发展
默认

学习中:tongue:
yinjj 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
[求助]请指教下面程序哪里不对 sfang9902 MATLAB论坛 3 2008-08-26 21:14
问高手画三维图的问题 rocflying MATLAB论坛 0 2008-05-23 11:02
[求助]用单片机采样,用PC显示波形 hhqq MATLAB论坛 1 2008-04-14 22:45
【求助】想问一下有没有不用考虑期望输出的自适应算法 klz MATLAB论坛 1 2008-04-05 12:55
MATLAB计算中的小问题,那位大神帮帮忙! stormbird MATLAB论坛 2 2007-06-19 23:57


所有时间均为北京时间。现在的时间是 05:27


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.