声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1201|回复: 4

[混合编程] 谁能帮忙编写函数文件,绘制曲线

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

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

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

x
谁能帮忙编2个程序啊,
1.用matlab软件,编写函数文件,实现直角坐标(x,y)与极坐标(ρ,θ)之间的转换。
2.在同一坐标内,分别用不同线型和颜色绘制曲线    y1=0.2e-0.5xcos(4πx) 和y2=2e-0.5xcos(πx),标记两曲线交叉点,并作出标注。
回复
分享到:

使用道具 举报

发表于 2009-6-3 21:52 | 显示全部楼层
坐标转换有现成函数cart2pol,没必要自己编。
曲线方程没看明白,最好写规范一点,乘号和x区分开,科学计数和e的次方分开。

评分

1

查看全部评分

发表于 2009-6-3 22:10 | 显示全部楼层
估计这也是HW!
发表于 2009-6-3 22:51 | 显示全部楼层
我就认为两条曲线方程分别为
y1 = 0.2*exp(1)-0.5*x.*cos(4*pi*x);
y2 = 2*exp(1)-0.5*x.*cos(pi*x);
运行下面代码即可画出图形并标注交点
  1. clear
  2. clc
  3. x=linspace(-8,8,200);
  4. y1 = 0.2*exp(1)-0.5*x.*cos(4*pi*x);
  5. y2 = 2*exp(1)-0.5*x.*cos(pi*x);
  6. plot(x,y1,'r')
  7. hold on
  8. plot(x,y2)
  9. y1_y2 = diff((y1-y2)>=0);
  10. id = find(y1_y2);
  11. xcross = [];
  12. ycross = [];
  13. if ~isempty(id)
  14.     fenmu = y2(id)-y2(id+1)+y1(id+1)-y1(id);
  15.     xcross = (x(id+1).*(y2(id)-y1(id))+x(id).*(y1(id+1)-y2(id+1)))./fenmu;
  16.     ycross = (y1(id+1).*y2(id)-y1(id).*y2(id+1))./fenmu;
  17. end
  18. [xcross' ycross']
  19. plot(xcross, ycross, 'o')
复制代码


图形如下
jiaodian.jpg

评分

1

查看全部评分

发表于 2009-6-4 07:58 | 显示全部楼层

回复 楼主 斯巴达 的帖子

其实个人好像有看过求交点的旧帖!
建议楼主看下本版规则!
并养成好习惯, 发问前动手搜一下!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-5-13 13:51 , Processed in 0.098490 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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