Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-04-24
年龄: 43
帖子: 5
声望力: 0 ![]() |
![]()
已知数学模型为Q=k1*(P-(1/d)^k3)^k2
且已知p,d,Q多组数据.怎么能求出系数k1,k2,k3的值 p d Q 0.22 0.02 44.95 0.2 0.02 42.61 0.18 0.02 38.60 0.16 0.02 35.28 0.15 0.02 34.19 0.14 0.02 32.49 0.12 0.02 31.25 0.1 0.02 28.04 0.08 0.02 19.07 0.06 0.02 13.50 0.05 0.02 10.13 0.04 0.02 7.39 0.147 0.025 29.04 0.14 0.025 27.8 0.12 0.025 24.88 0.1 0.025 21.03 0.08 0.025 17.54 |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-04-02
年龄: 47
帖子: 175
声望力: 21 ![]() |
![]()
这个问题可以这样看:
每一组数据都通过数学模型建立了一个方程,在这个方程中只有k1,k2,k3是未知数。 如果求k1,k2,k3的值,只要三组数据就可以了。 现在存在多于三组的数据,因此可以看作是一个优化问题。 根据优化目标不同,结果是不同的。 用matlab解决优化问题,不多讲了,有现成的函数调用,不明白的,多看帮助。 这里讲一下如何获取优化目标函数。 以Q的方差最小为例,k1,k2,k3是待求未知数,那么每一对(Pi,di)可以确定一个Qi,同时根据数学模型有Qi*=k1*(Pi-(1/di)^k3)^k2,这里i表示一组数据。现在要使Q的方差最小,即Sum[(Qi-Qi*)^2]最小,所以最优目标为: Sum[(Qi-k1*(Pi-(1/di)^k3)^k2)^2] :smile: |
![]() |
![]() |
![]() |
#3 |
高级会员
注册日期: 2007-12-02
年龄: 44
帖子: 303
声望力: 31 ![]() ![]() ![]() ![]() |
![]() |
![]() |
![]() |
![]() |
#4 |
初级会员
注册日期: 2008-04-23
年龄: 48
帖子: 10
声望力: 18 ![]() |
![]()
>> solve('k1*(0.22-(1/0.02)^k3)^k2-44.95=0','k1*(0.2-(1/0.02)^k3)^k2-42.61','k1*(0.18-(1/0.02)^k3)^k2-38.60')
x =63.581666294730701890019133676754 y =.12004519863509000656600188169454 z =-.46158940341158178454742966007143 第四排以后的数据好像有问题底数是负数 |
![]() |
![]() |
![]() |
#5 |
高级会员
注册日期: 2007-06-24
年龄: 70
帖子: 188
声望力: 21 ![]() |
![]()
[k1, k2, k3]= [ 124.899979, .613898557, .879510231]
R^2 =.973757 |
![]() |
![]() |
![]() |
#6 |
普通会员
注册日期: 2008-04-28
年龄: 35
帖子: 63
声望力: 19 ![]() |
![]()
好:smile:
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
人脸识别分类的问题 | feiyan2000000 | MATLAB论坛 | 0 | 2008-06-06 11:43 |
【文章】仿真动画软件设计作品--活塞运动 | yesman | MATLAB论坛 | 1 | 2008-04-21 18:31 |
【求助】matlab读取文件问题 | tecpenguin | MATLAB论坛 | 2 | 2008-02-03 14:04 |
【求助】急~~~请高手指点两个问题 | 陆羽樊 | MATLAB论坛 | 0 | 2008-01-02 01:14 |
【求助】怎样对N个点拟合特定的概率分布 | Palacio | MATLAB论坛 | 0 | 2007-08-29 20:54 |