网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月29日漏签0天
matlab吧 关注:291,856贴子:1,658,308
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 5回复贴,共1页
<<返回matlab吧
>0< 加载中...

贴吧大佬们 求助个关于lsqcurvefit多元函数拟合的问题

  • 只看楼主
  • 收藏

  • 回复
  • lindor007
  • 无名之辈
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
最近在做加速度计的椭球拟合 因为之前没做过 也就这一次要用一下 没有专门去学matlab 因为没有那么多时间
我用的是lsqcurvefit 算出椭球的6个参数 但遇到了个错误:
lsqcurvefit stopped because the final change in the sum of squares relative to
its initial value is less than the default value of the function tolerance.
还请高人解答


  • lindor007
  • 无名之辈
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这是我的代码
function[ox,oy,oz,gx,gy,gz]=chen(acc)x=acc(:,1);
y=acc(:,2);
z=acc(:,3);xdata=[x,y,z];
ydata=z.^2;
ori=ones(1,6);F=@(k,xdata) k(1)*xdata(:,1).^2+k(2)*xdata(:,2).^2+k(3)*xdata(:,1)+k(4)*xdata(:,2)+k(5)*xdata(:,3)+k(6);
[k,~]=lsqcurvefit(F,ori,xdata,ydata);ox=-k(3)/k(1)/2;
oy=-k(4)/k(2)/2;
oz=k(5)/2;
gz=sqrt(16384.^2/(oz.^2+k(6)-k(1)*ox.^2-k(2)*oy.^2));
gy=sqrt(k(2)*gz.^2);
gx=sqrt(k(1)*gz.^2);disp(ox);
disp(oy);
disp(oz);
disp(gx);
disp(gy);
disp(gz);end
ox oy oz 是偏移量 gx gy gz是缩放量 算出来结果居然是复数。。。


2025-07-29 13:55:00
广告
不感兴趣
开通SVIP免广告
  • lhmhz
  • 名震江湖
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
初值可能有问题


  • lhmhz
  • 名震江湖
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
一般可以先用随机数来初定,然后再调整。


  • 敷衍你的美6
  • 初涉江湖
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
大佬们,在做一个函数的拟合,根据数据然后得到参数。但是没学过matlab,模仿网上的程序,但是程序有问题,望指教。
下面是我的程序:
clc;close all;clear all
x=[
6.47;
6.36;
6.25;
6.15;
6.04;
5.95;
5.85;
5.76;
5.67;
5.58;
5.5;
5.42;
5.34;
5.27;
5.19;
5.12;
5.05;
4.98;
4.92;
4.85;
4.79;
4.73;
4.67;
4.61;
4.55;
4.49;
4.44;
4.39;
4.34;
4.29;
4.24;
4.19;
4.14;
4.09;
4.05;
4.01;
3.96;
3.92;
3.88;
3.84;
3.8;
3.76;
3.72;
3.69;
3.65;
3.61;
3.55;
3.51;
3.48;
3.46;
3.43;
3.39;
3.38;
3.35;
3.32;
3.31;
3.28;
3.25;
3.23;
3.21;
3.18;
3.16;
3.14;
3.11;
3.1;
3.07;
3.03;
3.01;
2.99;
2.97;
2.96;
];
y=[
0.00349 ;
0.02269 ;
0.04014 ;
0.05411 ;
0.06632 ;
0.07854 ;
0.08901 ;
0.09948 ;
0.10996 ;
0.11868 ;
0.12741 ;
0.13439 ;
0.14312 ;
0.15010 ;
0.15708 ;
0.16406 ;
0.17104 ;
0.17802 ;
0.18500 ;
0.19024 ;
0.19722 ;
0.20246 ;
0.20769 ;
0.21468 ;
0.21991 ;
0.22515 ;
0.23213 ;
0.23736 ;
0.24260 ;
0.24784 ;
0.25307 ;
0.25831 ;
0.26354 ;
0.26878 ;
0.27402 ;
0.27925 ;
0.28449 ;
0.28972 ;
0.29496 ;
0.30020 ;
0.30543 ;
0.30892 ;
0.31416 ;
0.31940 ;
0.32463 ;
0.32812 ;
0.33336 ;
0.33859 ;
0.34208 ;
0.34732 ;
0.34907 ;
0.35430 ;
0.35779 ;
0.36128 ;
0.36477 ;
0.37001 ;
0.37176 ;
0.37699 ;
0.38048 ;
0.38223 ;
0.38746 ;
0.39095 ;
0.39444 ;
0.39794 ;
0.40143 ;
0.40492 ;
0.40841 ;
0.41539 ;
0.41713 ;
0.42237 ;
0.42412 ;
0.42761 ;
];
Cp=[
0.4535;
0.4305;
0.4089;
0.3888;
0.37;
0.3524;
0.3359;
0.3204;
0.3058;
0.292;
0.2792;
0.2671;
0.2556;
0.2449;
0.2347;
0.225;
0.2158;
0.2073;
0.1991;
0.1913;
0.184;
0.1769;
0.1703;
0.164;
0.158;
0.1523;
0.1469;
0.1417;
0.1367;
0.132;
0.1275;
0.1232;
0.1191;
0.1152;
0.1114;
0.1078;
0.1044;
0.1011;
0.098;
0.092;
0.0892;
0.0865;
0.084;
0.0815;
0.0791;
0.0768;
0.0724;
0.0725;
0.0705;
0.0695;
0.0676;
0.0657;
0.0648;
0.0631;
0.0614;
0.0606;
0.059;
0.0574;
0.0567;
0.0552;
0.0538;
0.0531;
0.0518;
0.0505;
0.0498;
0.0486;
0.0468;
0.0457;
0.0446;
0.044;
0.0435;
];
a=[1 1 1 1 1 1];
x=[1];
f=@(a,x,y)a(1).*exp(-(x-a(2))^2/a(3))+a(4).*x^2+a(5).*y+a(6);
Nil=lsqcurvefit(f,a,x,y,Cp);
A1=Nil(1,1);
B1=Nil(1,2);
C1=Nil(1,3);
D1=Nil(1,4);
E1=Nil(1,5);
F1=Nil(1,6);
Pred_Cp=A1.*exp(-(x-B1)^2/C1)+D1.*x^2+E1.*y+F1;
报错:
出错 wwj4 (line 225)
Nil=lsqcurvefit(f,a,x,y,Cp);原因:
Failure in initial objective function evaluation. LSQCURVEFIT cannot continue.


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 5回复贴,共1页
<<返回matlab吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示