Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-07-09
年龄: 23
帖子: 8
声望力: 0 ![]() |
![]()
本人做试验得到一组数据想用MATLAB处理下,刚上手很多不明白恳请各位大虾帮忙.
有8个坐标点 要求其包围的面积 如和求? (1,1)(2,3)(3,6)(4,9)(5,7)(6,4)(7,3)(8,1) 想尽量准确的求出与X轴包围的面积有什么好方法不? 能上传个例子或是就对这个例子写个matlab程序吗?谢谢! |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2008-07-09
年龄: 23
帖子: 8
声望力: 0 ![]() |
![]()
大伙帮忙顶下呀
|
![]() |
![]() |
![]() |
#3 |
初级会员
注册日期: 2008-07-09
年龄: 23
帖子: 8
声望力: 0 ![]() |
![]()
大虾们 帮帮忙呀 用你的智慧帮助一个渴望知识的菜鸟!
|
![]() |
![]() |
![]() |
#4 |
高级会员
注册日期: 2008-05-31
年龄: 38
帖子: 104
声望力: 19 ![]() |
![]()
先用三次样条插值模拟出闭合曲线,再用matlab中计算闭合图形面积函数计算,给你程序:
clc; clear; x=[1 2 3 4 5 6 7 8]; y=[1 3 6 9 7 4 3 1]; x=[x,x(1)]; y=[y,y(1)]; plot(x,y,'r.','markersize',9); hold on; n=length(x); t=1:n; ti=linspace(1,n,100); xi=spline(t,x,ti); yi=spline(t,y,ti); plot(xi,yi,'b'); grid on; area=polyarea(xi,yi); disp(area); 结果是29.4119 我以前做过类似问题,呵呵 |
![]() |
![]() |
![]() |
#5 |
初级会员
注册日期: 2008-07-09
年龄: 23
帖子: 8
声望力: 0 ![]() |
![]()
不对呀 是要计算X轴上半部分和曲线包围的面积啊,不能是这样的闭合曲线吧
|
![]() |
![]() |
![]() |
#6 |
初级会员
注册日期: 2008-07-09
年龄: 23
帖子: 8
声望力: 0 ![]() |
![]() |
![]() |
![]() |
![]() |
#7 |
高级会员
注册日期: 2008-05-31
年龄: 38
帖子: 104
声望力: 19 ![]() |
![]()
哦,我看走眼了,原来是这样啊,我以为你要计算闭合曲线的面积,那就更简单了,用数值积分计算好了
程序稍稍改一下: clc; clear; x=[1 2 3 4 5 6 7 8]; y=[1 3 6 9 7 4 3 1]; plot(x,y,'r.','markersize',9); hold on; n=length(x); t=1:n; ti=linspace(1,n,100); xi=spline(t,x,ti); yi=spline(t,y,ti); fill(xi,yi,'b'); grid on; area=trapz(xi,yi); disp(area); |
![]() |
![]() |
![]() |
#8 |
初级会员
注册日期: 2008-07-09
年龄: 23
帖子: 8
声望力: 0 ![]() |
![]()
问题解决啦,谢谢哈!
|
![]() |
![]() |