请Matlab高手看看我的程序问题出在哪用Levenberg-Marquardt法进行非线性拟合,运行发现前后维数不匹配,方程是D=a*t^b,其中D和b的数据在开头引用了,syms a b y x real;f=a*(x^b);Jsym=jacobian(f,[a b])A=textread('dat

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 22:40:19

请Matlab高手看看我的程序问题出在哪用Levenberg-Marquardt法进行非线性拟合,运行发现前后维数不匹配,方程是D=a*t^b,其中D和b的数据在开头引用了,syms a b y x real;f=a*(x^b);Jsym=jacobian(f,[a b])A=textread('dat
请Matlab高手看看我的程序问题出在哪
用Levenberg-Marquardt法进行非线性拟合,运行发现前后维数不匹配,方程是D=a*t^b,其中D和b的数据在开头引用了,
syms a b y x real;
f=a*(x^b);
Jsym=jacobian(f,[a b])
A=textread('data.txt');
data_1=A(1:100,1:1);
obs_1=A(1:100,2:2);
a0=10; b0=0.5;
Ndata=length(obs_1); %the number of data
Nparams=2; %dimension of parameters
n_iters=50;
lamda=0.01; %fudge factor
updateJ=1; %variable assignment
a_est=a0;
b_est=b0;
for it=1:n_iters
if updateJ==1
J=zeros(Ndata,Nparams);
for i=1:length(data_1)
J(i,:)=[(data_1(i)^b_est)+a_est*data_1(i)*(data_1(i)^b_est)]; %compute Jacobian Matrix
end
y_est = a_est*(data_1^b_est);
d=obs_1-y_est; %compute the error
H=J'*J; %compute Hessian Matrix
if it==1 % if it is the first iteration,calculate the error
e=dot(d,d);
end
end
H_lm=H+(lamda*eye(Nparams,Nparams));
dp=inv(H)*(J'*d(:)); %compute the step
g = J'*d(:);
a_lm=a_est+dp(1);
b_lm=b_est+dp(2);
y_est_lm = a_lm*(data_1^b_lm); %compute the new y and error corresponding to the estimate value
d_lm=obs_1-y_est_lm;
e_lm=dot(d_lm,d_lm);
if e_lm

请Matlab高手看看我的程序问题出在哪用Levenberg-Marquardt法进行非线性拟合,运行发现前后维数不匹配,方程是D=a*t^b,其中D和b的数据在开头引用了,syms a b y x real;f=a*(x^b);Jsym=jacobian(f,[a b])A=textread('dat
你没有正确使用点乘,y_est = a_est*(data_1^b_est)应改为y_est = a_est*(data_1.^b_est);y_est_lm = a_lm*(data_1^b_lm)改为y_est_lm = a_lm*(data_1.^b_lm)就OK了.中间一定要加“.”.

请Matlab高手看看我的程序问题出在哪用Levenberg-Marquardt法进行非线性拟合,运行发现前后维数不匹配,方程是D=a*t^b,其中D和b的数据在开头引用了,syms a b y x real;f=a*(x^b);Jsym=jacobian(f,[a b])A=textread('dat 二分法MATLAB实现在书上看见一个关于二分法的MATLAB程序,按照书上程序却无法计算.总是显示程序错误,请高手看看这个程序是不是有问题.function [c,err,yc]=bisect(f,a,b,delta)% f是所要求解的函数% a和 极限与积分的计算请高手帮我看看问题究竟出现在哪里? 请高手们帮我用MATLAB程序实现求概率问题请高手们帮我用MATLAB程序实现下面这个概率式:在70个球中随机抽取,求出第n+1次,抽到第i个球的概率,给出概率式为:p(n+1,i)=p(n,i)+u(n+1)(d(n+1,i)-p(n,i)),其 如何用matlab在给定的坐标轴上画圆和跟踪运动轨迹我对MATLAB初学,很多东西不懂.请高手帮我写点程序看看,比如在给定的x=10,y=10的坐标轴上任意画个圆,半径为r=1;假如y=sin(3x)+3,如何图像跟踪他 matlab程序问题,程序没有结果,请大侠帮看看是不是程序出了什么问题?程序如下:clear all;G=6.67; r=4;%球体半径为4公里h=9;%球体埋深为9公里p=0.2;%球体剩余密度为0.2g/cm3M=128;%M、N为区域内的网格点N matlab带入参数解方程怎么操作?就比如:a*pi-(a*pi^3*x^2)/2-1=0这个方程,要带入x=0,然后解出a的值,a应该等于1/pi,但是程序有问题,麻烦大侠帮我看看问题出在哪里!clear allsyms a x pi;x=input('0');[a]=solve('a matlab 最优化我对matlab不太了解,有一个简单的问题如下:求f=x^3+y^4,在x^2+y^2==1的条件下的最大值.请高手给出程序.另外,orth(A)返回的不是对A做schmidt正交化得到的那组基底吧? matlab 非线性最优化我对matlab不太了解,有一个简单的问题如下:求f=x^3+y^4,在x^2+y^2==1的条件下的最大值.请高手给出程序,谢谢!用fmincon怎么写呢? 由于初学者,不懂matlab,请高手用malab帮我编一个程序:三角函数的波形合成与分解 matlab的遗传算法程序【问题】在-5 Matlab高手请进!在Matlab程序中怎样用颜色来表示速度场的大小?在Matlab程序中速度场作图怎样用颜色来表示速度的大小?请高手帮忙改一下如下程序的输出语句(原程序是用箭头大小表示的速度 matlab牛顿迭代法求解三元三次方程组我已经写好了原方程组,导数,牛顿迭代函数.我的目标是将算出来的值当做原方程组新的mx0,my0,mz0输入,不断的循环下去.请高手们帮我看看怎么更改程序. 请各位大神看看我的球面积公式推导问题出在那里? 求matlab高手 关于直方图均衡的能帮我看看这个程序哪错了么 不知道为神马运行出来的图会有一块块黑的 看着好像是原来白色的地方经过程序出来就直接显示黑色了 > matlab运行出现问题,Attempted to access e(1,0); index must be a positive integer or logical.高手帮我看看以下程序吧,dijkstra算法,记录任意两点之间的最短路径,if netCostMatrix(t,farthestPreviousHop(t)) < netCostMatrix(t,p) 帮我看看我的matlab程序出了什么问题,为什么第三个图出现不了fm=20*10^6;%medium frequencybm=5*10^6;%signal bandts=100*10^(-6);%sweeping periodfs=60*10^6;%sampling frequencyfd=2e6;%doppler frenquencyt=0:1/fs:ts;s=cos(2*pi*(fm-0.5* Matlab的问题:这是什么意思啊?我没有定义crtbp这个变量么?如何解决呢?请高手指点!感谢!