matlab画出一条曲线后,作一条垂线,求与曲线交点的纵坐标。曲线是多值函数。

 我来答
tianxiawulang
2016-05-19 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2651万
展开全部

刚才在另一个问题(编号266293087015963285)回答,写了好半天,提交不成功又无法取消了复制文字(恶心的度娘),懒得再重新打字了,直接给答案吧,相信看注释差不多能看懂。

 

写了一段代码,供参考。

 

% 测试数据
y = 0:.1:5;
x = sin(y).*sin(2*y).*cos(3*y);
xi = -0.2;   % 垂线坐标

% 绘图
cla
plot(x,y)
hold on
plot([xi xi], ylim, 'k--')

% 查找各段曲线拐点
inx = [0 find(diff(x(1:end-1)).*diff(x(2:end))<=0) length(x)-1];
N = length(inx) - 1;

% 对每段单调变化的曲线插值
yi = zeros(N,1);
for ii = 1 : N
    Y = y(inx(ii)+1:inx(ii+1)+1);
    X = x(inx(ii)+1:inx(ii+1)+1);
    yi(ii) = interp1(X,Y,xi);
end

% 剔除重复(拐点可能重复)以及无效值(该段无交点)
yi = unique(yi(~isnan(yi)));
plot(xi,yi,'ro')

 

追问
能加个企鹅么,还有些问题想问,我先采纳了
我行我素850915
2016-05-19 · TA获得超过8241个赞
知道大有可为答主
回答量:5788
采纳率:77%
帮助的人:1760万
展开全部
要有曲线的方程和直线的方程或数据,才能画图和求解交点。请补充下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式