找回密码
 注册
Simdroid-非首页
查看: 490|回复: 16

用matlab怎样实现曲面(线)的拟合

[复制链接]
发表于 2007-5-4 20:36:48 | 显示全部楼层 |阅读模式 来自 天津
本帖最后由 ljelly 于 2010-1-13 12:52 编辑

我是新手,谢谢各位了,最好能给我一个实例 谢谢
我的邮箱是zhy_dai@163.com
非常感谢
发表于 2007-5-4 22:18:03 | 显示全部楼层 来自 甘肃兰州
Simdroid开发平台
这方面的例子书上很多
你最好能把你要实现的情况说说
把数据传上来
发表于 2007-5-4 22:43:06 | 显示全部楼层 来自 英国
如果数据都提供的话,拟合曲面只要用mesh命令就可以了
发表于 2007-5-4 23:23:29 | 显示全部楼层 来自 北京
相比于Matlab的曲线、曲面拟合,1stOpt来的更简单、拟合能力也更强,建议试试。
发表于 2007-5-6 16:43:06 | 显示全部楼层 来自 大连理工大学
比如y=a+b/x
怎么样用上面的公式拟和一堆数据???

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2007-5-7 17:17:18 | 显示全部楼层 来自 大连理工大学
要把实验得到的数据拟合出曲面关系,我的数据如下:
x y z
2.2        10        0.012099
2.3        10        0.011551
2.4        10        0.011003
2.5        10        0.010461
2.6        10        0.009935
2.7        10        0.0094313
2.8        10        0.0089579
2.9        10        0.0085226
3        10        0.0081331
3.1        10        0.007797
3.2        10        0.0075223
3.3        10        0.0073164
3.4        10        0.0071873
3.5        10        0.0071425
3.6        10        0.0071429
3.7        10        0.0071446
3.8        10        0.0071489
3.9        10        0.0071567
4        10        0.0071691
4.1        10        0.0071871
4.2        10        0.007212
4.3        10        0.0072446
4.4        10        0.0072861
4.5        10        0.0073375
4.6        10        0.0074
4.7        10        0.0074745
4.8        10        0.0075621
4.9        10        0.0076639
5        10        0.007781
5.1        10        0.0079144
5.2        10        0.0080653
5.3        10        0.0082345
5.4        10        0.0084233
5.5        10        0.0086327
5.6        10        0.0088637
5.7        10        0.0091175
5.8        10        0.009395
5.9        10        0.0096974
6        10        0.010026
6.1        10        0.010381
6.2        10        0.010764
6.3        10        0.011177
6.4        10        0.011619
6.5        10        0.012093
6.6        10        0.012599
6.7        10        0.013139
6.8        10        0.013713
6.9        10        0.014322
7        10        0.014968
2.2        15        0.011789
2.3        15        0.011568
2.4        15        0.011349
2.5        15        0.011134
2.6        15        0.010925
2.7        15        0.010727
2.8        15        0.010541
2.9        15        0.010371
3        15        0.010219
3.1        15        0.010088
3.2        15        0.0099819
3.3        15        0.0099022
3.4        15        0.0098524
3.5        15        0.0098351
3.6        15        0.009836
3.7        15        0.0098388
3.8        15        0.0098441
3.9        15        0.0098521
4        15        0.0098633
4.1        15        0.0098781
4.2        15        0.0098968
4.3        15        0.0099199
4.4        15        0.0099477
4.5        15        0.0099807
4.6        15        0.010019
4.7        15        0.010064
4.8        15        0.010114
4.9        15        0.010172
5        15        0.010236
5.1        15        0.010308
5.2        15        0.010388
5.3        15        0.010477
5.4        15        0.010573
5.5        15        0.010679
5.6        15        0.010795
5.7        15        0.01092
5.8        15        0.011056
5.9        15        0.011202
6        15        0.011359
6.1        15        0.011528
6.2        15        0.011708
6.3        15        0.011901
6.4        15        0.012106
6.5        15        0.012325
6.6        15        0.012556
6.7        15        0.012802
6.8        15        0.013062
6.9        15        0.013336
7        15        0.013625
2.2        20        0.012862
2.3        20        0.012448
2.4        20        0.012031
2.5        20        0.011619
2.6        20        0.011216
2.7        20        0.010829
2.8        20        0.010465
2.9        20        0.010129
3        20        0.0098277
3.1        20        0.0095673
3.2        20        0.0093541
3.3        20        0.0091941
3.4        20        0.0090936
3.5        20        0.0090587
3.6        20        0.0090588
3.7        20        0.0090596
3.8        20        0.0090619
3.9        20        0.0090662
4        20        0.0090734
4.1        20        0.0090841
4.2        20        0.009099
4.3        20        0.0091188
4.4        20        0.0091443
4.5        20        0.0091762
4.6        20        0.009215
4.7        20        0.0092617
4.8        20        0.0093168
4.9        20        0.009381
5        20        0.0094551
5.1        20        0.0095398
5.2        20        0.0096358
5.3        20        0.0097438
5.4        20        0.0098644
5.5        20        0.0099984
5.6        20        0.010147
5.7        20        0.010309
5.8        20        0.010488
5.9        20        0.010683
6        20        0.010894
6.1        20        0.011123
6.2        20        0.011371
6.3        20        0.011637
6.4        20        0.011924
6.5        20        0.01223
6.6        20        0.012558
6.7        20        0.012908
6.8        20        0.01328
6.9        20        0.013676
7        20        0.014095
2.2        25        0.10979
2.3        25        0.10074
2.4        25        0.091412
2.5        25        0.081976
2.6        25        0.072599
2.7        25        0.06345
2.8        25        0.054699
2.9        25        0.046512
3        25        0.03906
3.1        25        0.03251
3.2        25        0.027032
3.3        25        0.022793
3.4        25        0.019963
3.5        25        0.018709
3.6        25        0.018308
3.7        25        0.017923
3.8        25        0.017553
3.9        25        0.017199
4        25        0.01686
4.1        25        0.016535
4.2        25        0.016225
4.3        25        0.015929
4.4        25        0.015647
4.5        25        0.015379
4.6        25        0.015125
4.7        25        0.014884
4.8        25        0.014656
4.9        25        0.01444
5        25        0.014237
5.1        25        0.014047
5.2        25        0.013868
5.3        25        0.013702
5.4        25        0.013547
5.5        25        0.013403
5.6        25        0.01327
5.7        25        0.013148
5.8        25        0.013037
5.9        25        0.012936
6        25        0.012845
6.1        25        0.012764
6.2        25        0.012693
6.3        25        0.01263
6.4        25        0.012577
6.5        25        0.012533
6.6        25        0.012498
6.7        25        0.01247
6.8        25        0.012451
6.9        25        0.01244
7        25        0.012436
2.2        30        0.010297
2.3        30        0.011107
2.4        30        0.011932
2.5        30        0.012757
2.6        30        0.01357
2.7        30        0.014356
2.8        30        0.015101
2.9        30        0.015792
3        30        0.016414
3.1        30        0.016955
3.2        30        0.017399
3.3        30        0.017734
3.4        30        0.017945
3.5        30        0.018018
3.6        30        0.018018
3.7        30        0.018017
3.8        30        0.018014
3.9        30        0.01801
4        30        0.018002
4.1        30        0.01799
4.2        30        0.017973
4.3        30        0.017951
4.4        30        0.017923
4.5        30        0.017888
4.6        30        0.017845
4.7        30        0.017793
4.8        30        0.017732
4.9        30        0.017661
5        30        0.017579
5.1        30        0.017485
5.2        30        0.017378
5.3        30        0.017259
5.4        30        0.017125
5.5        30        0.016976
5.6        30        0.016812
5.7        30        0.016632
5.8        30        0.016434
5.9        30        0.016218
6        30        0.015984
6.1        30        0.01573
6.2        30        0.015455
6.3        30        0.01516
6.4        30        0.014843
6.5        30        0.014503
6.6        30        0.014139
6.7        30        0.013752
6.8        30        0.013339
6.9        30        0.012901
7        30        0.012436
该如何做呢?

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2007-5-7 18:39:16 | 显示全部楼层 来自 山东淄博

回复 #6 handb 的帖子

%可用样条曲面拟合,最好对原数据整理一下,拟合的代码如下:
x0=2.2:0.1:7;y0=10:5:30;
z0 =[ 0.0121    0.0118    0.0129    0.1098    0.0103
    0.0116    0.0116    0.0124    0.1007    0.0111
    0.0110    0.0113    0.0120    0.0914    0.0119
    0.0105    0.0111    0.0116    0.0820    0.0128
    0.0099    0.0109    0.0112    0.0726    0.0136
    0.0094    0.0107    0.0108    0.0635    0.0144
    0.0090    0.0105    0.0105    0.0547    0.0151
    0.0085    0.0104    0.0101    0.0465    0.0158
    0.0081    0.0102    0.0098    0.0391    0.0164
    0.0078    0.0101    0.0096    0.0325    0.0170
    0.0075    0.0100    0.0094    0.0270    0.0174
    0.0073    0.0099    0.0092    0.0228    0.0177
    0.0072    0.0099    0.0091    0.0200    0.0179
    0.0071    0.0098    0.0091    0.0187    0.0180
    0.0071    0.0098    0.0091    0.0183    0.0180
    0.0071    0.0098    0.0091    0.0179    0.0180
    0.0071    0.0098    0.0091    0.0176    0.0180
    0.0072    0.0099    0.0091    0.0172    0.0180
    0.0072    0.0099    0.0091    0.0169    0.0180
    0.0072    0.0099    0.0091    0.0165    0.0180
    0.0072    0.0099    0.0091    0.0162    0.0180
    0.0072    0.0099    0.0091    0.0159    0.0180
    0.0073    0.0099    0.0091    0.0156    0.0179
    0.0073    0.0100    0.0092    0.0154    0.0179
    0.0074    0.0100    0.0092    0.0151    0.0178
    0.0075    0.0101    0.0093    0.0149    0.0178
    0.0076    0.0101    0.0093    0.0147    0.0177
    0.0077    0.0102    0.0094    0.0144    0.0177
    0.0078    0.0102    0.0095    0.0142    0.0176
    0.0079    0.0103    0.0095    0.0140    0.0175
    0.0081    0.0104    0.0096    0.0139    0.0174
    0.0082    0.0105    0.0097    0.0137    0.0173
    0.0084    0.0106    0.0099    0.0135    0.0171
    0.0086    0.0107    0.0100    0.0134    0.0170
    0.0089    0.0108    0.0101    0.0133    0.0168
    0.0091    0.0109    0.0103    0.0131    0.0166
    0.0094    0.0111    0.0105    0.0130    0.0164
    0.0097    0.0112    0.0107    0.0129    0.0162
    0.0100    0.0114    0.0109    0.0128    0.0160
    0.0104    0.0115    0.0111    0.0128    0.0157
    0.0108    0.0117    0.0114    0.0127    0.0155
    0.0112    0.0119    0.0116    0.0126    0.0152
    0.0116    0.0121    0.0119    0.0126    0.0148
    0.0121    0.0123    0.0122    0.0125    0.0145
    0.0126    0.0126    0.0126    0.0125    0.0141
    0.0131    0.0128    0.0129    0.0125    0.0138
    0.0137    0.0131    0.0133    0.0125    0.0133
    0.0143    0.0133    0.0137    0.0124    0.0129
    0.0150    0.0136    0.0141    0.0124    0.0124];
sp=csapi({x0 y0},z0);%可得到每片三次样条曲面的系数
fnplt(sp);              %可得到拟合曲面的效果图,见附件
  %也可以用最小二乘曲面拟合,代码为:
[m,n]=size(z0);k=9;
C=ones(m*n,1/2*(k+1)*(k+2));
x=reshape(ones(n,1)*x0,m*n,1);
y=reshape(y0'*ones(1,m),m*n,1);
z=reshape(z0,m*n,1);
for j=0:k
    for i=0:j
    C(:,1/2*(j+1)*(j+2)-j+i)=x.^(j-i).*y.^i;   
    end
end
coefficient=C\z;

%做出曲面效果图见附件2,此图与图1稍有不同,因为采集点较少,所以拟合次数对结果影响很大
syms x y
z=ones(1,1/2*(k+1)*(k+2));sum=0;
for j=0:k
    for i=0:j
    sum=sum+sym(x^(j-i)*y^i)*coefficient(1/2*(j+1)*(j+2)-j+i);
    end
end
figure;ezmesh(sum,[min(x0),max(x0),min(y0),max(y0)])

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2007-5-8 09:14:54 | 显示全部楼层 来自 大连理工大学
非常感谢liulei,样条拟合的结果与我的实验结果接近,如何得到拟合的关系式呢?而最小二乘法只在图上显示了部分关系式,要得到整个关系式该怎么做呢?再次感谢liulei!
回复 不支持

使用道具 举报

发表于 2007-5-8 16:11:43 | 显示全部楼层 来自 大连理工大学
还有个问题,下面的关系式是如何得到的?望解答,谢谢!
C(:,1/2*(j+1)*(j+2)-j+i)=x.^(j-i).*y.^i;
回复 不支持

使用道具 举报

发表于 2007-5-9 08:01:07 | 显示全部楼层 来自 大连理工大学
看到liulei在线,能否回答我的问题,谢谢!
回复 不支持

使用道具 举报

发表于 2007-5-10 17:09:22 | 显示全部楼层 来自 大连理工大学
系数是一个55*1矩阵,而i和j都是0:9,那么这个系数该怎么和x^(j-i)*y^i表达式匹配呢?还有上面的问题,困扰我几天了,恳请解答,谢谢.等待中.........
回复 不支持

使用道具 举报

发表于 2010-1-12 15:56:31 | 显示全部楼层 来自 宁波大学
为什么我这组数据用liulei的方法不行了,大家帮我曲面拟合看。
x        y      z
30000    0.1    26.089
40000    0.1    27.296
50000    0.1    28.674
60000    0.1    29.62
70000    0.1    30.683
80000    0.1    31.822
90000    0.1    33.085
100000    0.1    34.368
150000    0.1    39.658
200000    0.1    45.41
300000    0.1    55.944
400000    0.1    66.674
30000    0.2    40.601
40000    0.2    43.397
50000    0.2    45.556
60000    0.2    47.886
70000    0.2    50.016
80000    0.2    52.333
90000    0.2    54.723
100000    0.2    56.695
150000    0.2    67.77
200000    0.2    78.863
300000    0.2    101.39
400000    0.2    123.55
30000    0.3    59.612
40000    0.3    63.042
50000    0.3    67.501
60000    0.3    70.822
70000    0.3    74.365
80000    0.3    78.897
90000    0.3    82.267
100000    0.3    86.266
150000    0.3    104.91
200000    0.3    124.51
300000    0.3    160.11
400000    0.3    199
30000    0.4    80.046
40000    0.4    87.172
50000    0.4    93.218
60000    0.4    99.428
70000    0.4    104.68
80000    0.4    109.99
90000    0.4    116.52
100000    0.4    120.83
150000    0.4    149.83
200000    0.4    177.85
300000    0.4    233.38
400000    0.4    291.03
30000    0.5    105.36
40000    0.5    115.55
50000    0.5    123.92
60000    0.5    128.98
70000    0.5    138.13
80000    0.5    146.72
90000    0.5    154.47
100000    0.5    162.1
150000    0.5    202.44
200000    0.5    240.11
300000    0.5    321.26
400000    0.5    397.77
30000    0.6    134.41
40000    0.6    146.25
50000    0.6    157.26
60000    0.6    168.79
70000    0.6    176.4
80000    0.6    187.69
90000    0.6    196.03
100000    0.6    208.16
150000    0.6    261.79
200000    0.6    313.34
300000    0.6    416.67
400000    0.6    522.86
30000    0.7    166.6
40000    0.7    180.1
50000    0.7    193.71
60000    0.7    205.08
70000    0.7    220.02
80000    0.7    234.76
90000    0.7    247.32
100000    0.7    261.51
150000    0.7    322.72
200000    0.7    391.68
300000    0.7    527.84
400000    0.7    660.82
30000    0.8    202.92
40000    0.8    221.02
50000    0.8    234.81
60000    0.8    253.16
70000    0.8    270.62
80000    0.8    285.13
90000    0.8    298.29
100000    0.8    317.75
150000    0.8    402.81
200000    0.8    479.84
300000    0.8    643.82
400000    0.8    815.89
30000    0.9    239.51
40000    0.9    263.99
50000    0.9    281.77
60000    0.9    302.44
70000    0.9    323.15
80000    0.9    342.97
90000    0.9    362.54
100000    0.9    384.27
150000    0.9    483.48
200000    0.9    579.86
300000    0.9    765.01
400000    0.9    989.15
回复 不支持

使用道具 举报

发表于 2010-1-28 18:55:39 | 显示全部楼层 来自 江苏无锡
现在很多时候用的样条曲线拟合,二维曲面拟合还没碰到过,学到
回复 不支持

使用道具 举报

发表于 2010-3-3 11:26:59 | 显示全部楼层 来自 湖南长沙
太强了,学习中啊
回复 不支持

使用道具 举报

发表于 2010-3-4 18:45:00 | 显示全部楼层 来自 山东
不错,学习了
回复 不支持

使用道具 举报

发表于 2011-9-18 16:39:42 | 显示全部楼层 来自 江苏扬州
本帖最后由 stats01 于 2011-9-18 16:40 编辑

fx=@(b,x1,x2)(b(1)+b(2)*x1+b(3)*x2+b(4)*x1.^2+b(5)*x2.^2+b(6)*x1.^3+b(7)*x2.^3+b(8)*x1.*x2.^2+b(9)*x1.^2.*x2)./(1+b(10)*x1+b(11)*x2+b(12)*x1.^2+b(13)*x2.^2+b(14)*x1.*x2);

SSy =  0.040279
b =[0.007725923617  -0.001472326034  -0.0001851977995  0.0002468711426  -9.832741322e-006  -6.284858388e-006  2.425351746e-007  1.580698943e-006  -5.726338992e-006  -0.05384498043  -0.0700334673  0.001164426873  0.001213872182  0.001927287005]
RSS = 0.000163196709948
MSe =  7.0955e-007
R^2 =  0.99595

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

发表于 2011-9-18 17:23:01 | 显示全部楼层 来自 江苏扬州
zhouhuijie 发表于 2010-1-12 15:56
为什么我这组数据用liulei的方法不行了,大家帮我曲面拟合看。
x        y      z
30000    0.1    26.089

fx=@(b,x1,x2)(b(1)+b(2)*x1.^2+b(3)*x2.^2+b(4)*x1.*x2+b(5)*x1.^3+b(6)*x2.^3)./(1+b(7)*x1+b(8)*x2);
SSy =  3.4526e+006
b =[20.2674407  -2.830195944e-010  242.1573394  0.00127319366  3.983686835e-016  -153.1929632  -6.56294333e-008  -0.471159738]
RSS = 760.134613302
MSe =  7.6781
R^2 =  0.99978

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-6 08:41 , Processed in 0.089414 second(s), 19 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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