声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2884|回复: 6

[编程技巧] 怎样对离散数据分段进行积分啊?

[复制链接]
发表于 2007-5-18 21:11 | 显示全部楼层 |阅读模式

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

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

x
就是有一个随机振动信号,画出功率谱曲线后,需要分段求其面积,即假如当X=0:20, 我要算出此段X范围曲线下对应的面积,该怎么弄啊??
高手指教,谢谢了。

哪位告诉指点小弟一下,现在毕业设计做到关键地方做不动了

[ 本帖最后由 ChaChing 于 2010-1-31 00:13 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-5-18 21:34 | 显示全部楼层
1: 使用分段三次保型厄米特插值逼近原来的函数;

2: 使用高斯-勒让德算法积分逼近函数;

评分

1

查看全部评分

 楼主| 发表于 2007-5-18 22:03 | 显示全部楼层
非常感谢, 我自己先搜搜分段三次保型。。函数
使用高斯-勒让德算法积分逼近函数;

function I = Gauss_q(f_name, a, b, n)  
p=legen_pw(n);
x = roots(p)\';x = sort(x);
for j=1:n
   y = zeros(1,n); y(j)=1;
   p = polyfit(x,y,n-1);
   P = poly_itg(p);
   w(j) = polyval(P,1) - polyval(P,-1);
end
x = 0.5*((b-a)*x + a + b);
y=feval(f_name, x);
I = sum(w.*y)*(b-a)/2;

function py = poly_itg(p)
n=length(p);
py = [p.*[n:-1:1].^(-1),0];

这个程序我有点不懂,比如a,b,n这些变量的意义是什么?还有最后的逼近函数是不是 “y"表示的(通过y=feval(f_name, x)得到),那后面的py是什么意思??还请指教

[ 本帖最后由 ChaChing 于 2010-1-31 00:15 编辑 ]
发表于 2007-5-18 22:09 | 显示全部楼层
原帖由 like_267 于 2007-5-18 21:11 发表
就是有一个随机振动信号,画出功率谱曲线后,需要分段求其面积,即假如当X=0:20, 我要算出此段X范围曲线下对应的面积,该怎么弄啊??
高手指教,谢谢了。


有个简单的方式: help polyarea ,不知道对你是否管用
 楼主| 发表于 2007-5-18 22:34 | 显示全部楼层
谢谢,元老出现了,我试试

L = linspace(0,2.*pi,6); xv = cos(L)';yv = sin(L)';
xv = [xv ; xv(1)]; yv = [yv ; yv(1)];
A = polyarea(xv,yv);
plot(xv,yv); title(['Area = ' num2str(A)]); axis image

这里的‘L’是不是代表我说的’X‘轴取的范围??

[ 本帖最后由 ChaChing 于 2010-1-31 00:17 编辑 ]
发表于 2007-5-18 23:25 | 显示全部楼层
是的,建议自己多尝试、多动手
 楼主| 发表于 2007-5-18 23:58 | 显示全部楼层
非常感谢eight!!!!!!!!!!!!!!!!!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-29 05:37 , Processed in 0.071283 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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