- 积分
- 12
- 注册时间
- 2008-1-3
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2009-6-3 23:01:12
|
显示全部楼层
来自 天津
我写一个例子,振荡曲线方程为:
y = 1-0.5*x.*cos(2*pi*x);
运行下面代码求穿过直线y=1的次数和交点
- x=linspace(-8,0,4000);
- y1 = 1-0.5*x.*cos(2*pi*x);
- y2 = ones(size(y1));
- y1_y2 = diff((y1-y2)>=0);
- id = find(y1_y2);
- cross_num = length(id) %穿越次数
- plot(x,y1,'r')
- hold on
- %求交点
- xcross = [];
- ycross = [];
- if ~isempty(id)
- fenmu = y2(id)-y2(id+1)+y1(id+1)-y1(id);
- xcross = (x(id+1).*(y2(id)-y1(id))+x(id).*(y1(id+1)-y2(id+1)))./fenmu;
- ycross = (y1(id+1).*y2(id)-y1(id).*y2(id+1))./fenmu;
- end
- [xcross' ycross']
- plot(xcross, ycross, 'o')
复制代码
效果图如下 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
评分
-
1
查看全部评分
-
|