声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1297|回复: 4

[综合讨论] 求助,含积分的非线性拟合问题

[复制链接]
发表于 2009-6-8 19:44 | 显示全部楼层 |阅读模式

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

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

x
∫x^m*cosxdx=N,从0至w积分
已知w=[pi/2,pi,pi*1.5],N=[pi/2-1,-2,-1.5*pi-1] ,求m值。
请各位高人指教用什么函数?如果能给出具体计算程序,将不胜感激!

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

发表于 2009-6-9 09:25 | 显示全部楼层
用1stOpt很容易处理含积分的拟合问题:

Variable x,y;
Function y=int(t^m*cos(t),t=0:x);
Data;
1.570796327        0.5707963268
3.141592654        -2
4.71238898        -5.71238898

结果:
相关系数(R): 0.999999999999801
相关系数之平方(R^2): 0.999999999999603

参数                   最终估算
--------------------             --------------
m                          0.999999967360309

====== 输出结果 =====

No        目标y        计算y
1        0.5707963268        0.570795205847058
2        -2        -2.00001608966833
3        -5.71238898        -5.71243515763952

评分

1

查看全部评分

 楼主| 发表于 2009-6-9 10:18 | 显示全部楼层
谢谢dingd。
如果用matlab,用哪个函数?能不能写出具体的计算程序,谢谢。
发表于 2009-6-10 00:50 | 显示全部楼层
非线性拟合的算法之一就是用非线性最小二乘法进行拟合,给定一组观察值,非线性最小二乘拟合本质上是求系统与观察值之差的平方和的最小值问题。具体到楼主的问题即:求m,使得

  1. y = (quadl(@(t) t.^m.*cos(t),0,w(1))-N(1))^2 + (quadl(@(t) t.^m.*cos(t),0,w(2))-N(2))^2 ...
  2.         + (quadl(@(t) t.^m.*cos(t),0,w(3))-N(3))^2;
复制代码
取得最小值.
因此得到下面代码:

  1. function m = Findm
  2. w = [pi/2,pi,pi*1.5];
  3. N = [pi/2-1,-2,-1.5*pi-1];
  4. function y = ObjecFun(m)
  5.     y = (quadl(@(t) t.^m.*cos(t),0,w(1))-N(1))^2 + (quadl(@(t) t.^m.*cos(t),0,w(2))-N(2))^2 ...
  6.         + (quadl(@(t) t.^m.*cos(t),0,w(3))-N(3))^2;
  7. end
  8. m = fminbnd(@ ObjecFun,0,2);
  9. end
复制代码
运行这个函数:

  1. format long
  2. m = Findm
  3. m =
  4.    1.000000256506471
复制代码

评分

1

查看全部评分

 楼主| 发表于 2009-6-11 16:52 | 显示全部楼层
得到运算结果了,谢谢楼上
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-26 08:31 , Processed in 0.054294 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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