斯巴达 发表于 2009-6-3 21:18

谁能帮忙编写函数文件,绘制曲线

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

xiezhh 发表于 2009-6-3 21:52

坐标转换有现成函数cart2pol,没必要自己编。
曲线方程没看明白,最好写规范一点,乘号和x区分开,科学计数和e的次方分开。

ChaChing 发表于 2009-6-3 22:10

估计这也是HW!

xiezhh 发表于 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);
运行下面代码即可画出图形并标注交点
clear
clc
x=linspace(-8,8,200);
y1 = 0.2*exp(1)-0.5*x.*cos(4*pi*x);
y2 = 2*exp(1)-0.5*x.*cos(pi*x);
plot(x,y1,'r')
hold on
plot(x,y2)
y1_y2 = diff((y1-y2)>=0);
id = find(y1_y2);
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

plot(xcross, ycross, 'o')

图形如下

ChaChing 发表于 2009-6-4 07:58

回复 楼主 斯巴达 的帖子

其实个人好像有看过求交点的旧帖!
建议楼主看下本版规则!
并养成好习惯, 发问前动手搜一下!
页: [1]
查看完整版本: 谁能帮忙编写函数文件,绘制曲线