声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1090|回复: 6

[编程技巧] 请教一个关于拟和的问题

[复制链接]
发表于 2006-9-3 11:14 | 显示全部楼层 |阅读模式

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

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

x
各位大虾
小弟刚开始接触matlab  遇到一点问题
y        x1        x2        x3        x4        x5        x6        x7        x8
152995.02        18547.9        114333        30191        31669        6383        749652        1028348        5513580
171367.74        21617.8        115823        30543        31427        6931        913739        1041136        6061149
219547.72        26638.1        117171        32372        32345        7119        1820439        1056707        6917354
291772.22        34634.4        118517        33351        32171        7288        3356947        1083476        8175835
362890.84        46759.4        119850        34301        32368        7618        4705619        1117821        9419517
467888.72        58478.1        121121        35174        32380        8110        6016038        1157009        10400029
452085.4        67884.6        122389        35950        31777        8489        6721347        1185789        11000764
841118.3        74462.6        123626        36989        30877        8769        9113287        1226405        12190902
508514        78345.2        124810        37942        30338        9275        15147435        1278474        13193034
565548.62        82067.5        125909        38892        30143        9611        15407380        1351691        14529413
711378        89468.1        126583        45844        29789        9330        17312953        1402698        16089101
832801.32        97314.8        127627        48064        28737        10000        19165334        1698012        18020408
886672.02        105172.3        128453        50212        27343        10486        32117339        1765222        20531677
877036.18        117390.2        129227        52376        26263        10995        37149064        1809828        23829254
744534.24        136875.9        129988        54283        25091        11131        47022773        1870661        26937137
我想得到  y=a1*x1+a2*x2+a3*x3....  求a1,a2,a3...请问应该用什么函数  还望指教  polyfit行不?
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-9-3 11:20 | 显示全部楼层

不好意思

好像是求解非线性方程组 呵呵
发表于 2006-9-3 12:46 | 显示全部楼层
data =
  1.0e+007 *
    0.0153    0.0019    0.0114    0.0030    0.0032    0.0006    0.0750    0.1028    0.5514
    0.0171    0.0022    0.0116    0.0031    0.0031    0.0007    0.0914    0.1041    0.6061
    0.0220    0.0027    0.0117    0.0032    0.0032    0.0007    0.1820    0.1057    0.6917
    0.0292    0.0035    0.0119    0.0033    0.0032    0.0007    0.3357    0.1083    0.8176
    0.0363    0.0047    0.0120    0.0034    0.0032    0.0008    0.4706    0.1118    0.9420
    0.0468    0.0058    0.0121    0.0035    0.0032    0.0008    0.6016    0.1157    1.0400
    0.0452    0.0068    0.0122    0.0036    0.0032    0.0008    0.6721    0.1186    1.1001
    0.0841    0.0074    0.0124    0.0037    0.0031    0.0009    0.9113    0.1226    1.2191
    0.0509    0.0078    0.0125    0.0038    0.0030    0.0009    1.5147    0.1278    1.3193
    0.0566    0.0082    0.0126    0.0039    0.0030    0.0010    1.5407    0.1352    1.4529
    0.0711    0.0089    0.0127    0.0046    0.0030    0.0009    1.7313    0.1403    1.6089
    0.0833    0.0097    0.0128    0.0048    0.0029    0.0010    1.9165    0.1698    1.8020
    0.0887    0.0105    0.0128    0.0050    0.0027    0.0010    3.2117    0.1765    2.0532
    0.0877    0.0117    0.0129    0.0052    0.0026    0.0011    3.7149    0.1810    2.3829
    0.0745    0.0137    0.0130    0.0054    0.0025    0.0011    4.7023    0.1871    2.6937
>>y=data(:,1)

y =
  1.0e+005 *
    1.5300
    1.7137
    2.1955
    2.9177
    3.6289
    4.6789
    4.5209
    8.4112
    5.0851
    5.6555
    7.1138
    8.3280
    8.8667
    8.7704
    7.4453

>> X=data(:,2:9)

X =

  1.0e+007 *

    0.0019    0.0114    0.0030    0.0032    0.0006    0.0750    0.1028    0.5514
    0.0022    0.0116    0.0031    0.0031    0.0007    0.0914    0.1041    0.6061
    0.0027    0.0117    0.0032    0.0032    0.0007    0.1820    0.1057    0.6917
    0.0035    0.0119    0.0033    0.0032    0.0007    0.3357    0.1083    0.8176
    0.0047    0.0120    0.0034    0.0032    0.0008    0.4706    0.1118    0.9420
    0.0058    0.0121    0.0035    0.0032    0.0008    0.6016    0.1157    1.0400
    0.0068    0.0122    0.0036    0.0032    0.0008    0.6721    0.1186    1.1001
    0.0074    0.0124    0.0037    0.0031    0.0009    0.9113    0.1226    1.2191
    0.0078    0.0125    0.0038    0.0030    0.0009    1.5147    0.1278    1.3193
    0.0082    0.0126    0.0039    0.0030    0.0010    1.5407    0.1352    1.4529
    0.0089    0.0127    0.0046    0.0030    0.0009    1.7313    0.1403    1.6089
    0.0097    0.0128    0.0048    0.0029    0.0010    1.9165    0.1698    1.8020
    0.0105    0.0128    0.0050    0.0027    0.0010    3.2117    0.1765    2.0532
    0.0117    0.0129    0.0052    0.0026    0.0011    3.7149    0.1810    2.3829
    0.0137    0.0130    0.0054    0.0025    0.0011    4.7023    0.1871    2.6937

>>A=B\y

A =

    7.9955
    6.3956
   16.8403
  -47.6754
   33.8615
   -0.0210
    0.1933
   -0.0217

这是最小二乘解的拟合结果

[ 本帖最后由 ericlin 于 2006-9-3 13:13 编辑 ]
untitled.jpg

评分

1

查看全部评分

发表于 2006-9-3 12:47 | 显示全部楼层
数据是单精度的。可以先format long
还有不好意思,没仔细弄。我拟合的形式是XA=y,你可以换成AX=y

[ 本帖最后由 ericlin 于 2006-9-3 13:36 编辑 ]
发表于 2006-9-3 12:59 | 显示全部楼层
下面是1stOpt拟合得出的结果:
a1                 -0.314885339151814
a2                 67.4088361573617
a3                 -101.868839276268
a4                 187.03386707848
a5                 220.443567450402
a6                 222.22295390547
a7                 0.197586694854645
a8                 1.93144367411355
发表于 2006-9-3 19:15 | 显示全部楼层
对不起,将y的数列看错了,结果应与ericlin的一样:

a1                 7.99548915877237
a2                 6.39556858065912
a3                 16.8403109437037
a4                 -47.6754436204909
a5                 33.861495383204
a6                 -0.020960481194282
a7                 0.193256752507244
a8                 -0.0217383336930015
 楼主| 发表于 2006-9-4 12:11 | 显示全部楼层
感谢各位大虾的帮助   非常感谢了!!!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-12-2 08:14 , Processed in 0.074569 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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