| 查看: 1436 | 回复: 3 | ||
[求助]
matlab最小二乘问题求助 怎么定义多变量
|
|
最小二乘问题: 非线性最小二乘问题:minf^2 其中, f=[x1+10*x2;sqrt(5)*(x3-x4);(x2-2*x3)^2;sqrt(10)*(x1-x4)^2];x0=[3,-1,0,1] 程序如下,可以求单变量,怎么定义x=[x1,x2,x3,x4],求解呢? 请高手指教 function fv = Funval( f,varec,varval ) %UNTITLED Summary of this function goes here % Detailed explanation goes here tic; var = findsym(f); varc = findsym(varec); s1=length(var); s2=length(varc); m=floor((s1-1)/3+1); varv=zeros(1,m); if s1~=s2 for i=0 (s1-1)/3)k=findstr(varc,var(3*i+1)); index=(k-1)/3; varv(i+1)=varval(index+1); end fv=subs(f,var,varv); else fv=subs(f,varec,varval); end end x=[x1,x2,x3,x4]; function [x,minf]= minGN(f,x0,var,eps)%目标函数;f;初始点:x0,自变量向量;var, %精度:eps,目标函数最小值时的x以及目标函数最小值 format long; if nargin==4 eps=1.0e-5; end S=transpose(f)*f; k=length(f); n=length(x0); x0=transpose(x0); tol=1; A=jacobian(f,var); while tol>eps Fx=zeros(k,1); for i=1:k Fx(i,1)=Funval(f(i),var,x0); end Sx=Funval(S,var,x0); Ax=Funval(A,var,x0); gSx=transpose(Ax)*Fx; dx=-transpose(Ax)*Fx; x0=x0+dx; tol=norm(dx); end x=x0; minf=Funval(S,var,x); format short; toc; Iterations; end |
» 猜你喜欢
垃圾破二本职称评审标准
已经有19人回复
职称评审没过,求安慰
已经有53人回复
毕业后当辅导员了,天天各种学生超烦
已经有5人回复
26申博自荐
已经有3人回复
A期刊撤稿
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
C语言变量问题,求助大侠!!
已经有17人回复
matlab非线性参数拟合问题
已经有7人回复
【求助】关于多相流mixture模型中材料定义问题
已经有12人回复
【求助】Matlab非线性最小二乘拟合活度系数模型(Willson、NRTL、UNIQUAC)
已经有17人回复
【求助】【已解决】Gaussview建分子内坐标使用变量出错
已经有15人回复
【求助】MATLAB多个mat中 数据画图问题
已经有7人回复
【求助】matlab 二次规划的优化的问题
已经有4人回复
【求助】最小二乘问题(急)
已经有5人回复
2楼2011-12-05 15:54:01
zhfzh
木虫 (正式写手)
- 应助: 19 (小学生)
- 金币: 6620.5
- 散金: 200
- 红花: 4
- 帖子: 685
- 在线: 665小时
- 虫号: 715595
- 注册: 2009-03-05
- 专业: 原子和分子物理
3楼2011-12-05 17:11:33
4楼2011-12-06 00:54:46













(s1-1)/3)
回复此楼