matlab 画曲线切线,用于绘制曲线切线的Matlab代码

Rody Oldenhu..

6

尝试以下功能.当然,需要进行大量的调整以适用于您的情况,但我认为这是您想要的.

function test

hh = figure(1); clf, hold on

grid on

x = 0:0.01:2*pi;

f = @(x) sin(x);

fprime = @(x) cos(x);

plot(x, f(x), 'r')

axis tight

D = [];

L = [];

set(hh, ...

'WindowButtonMotionFcn', @mouseMove,...

'WindowButtonDownFcn', @mouseClick);

function mouseMove(varargin)

coords = get(gca, 'currentpoint');

xC = coords(1);

if ishandle(D)

delete(D); end

D = plot(xC, f(xC), 'ko');

end

function mouseClick(obj, varargin)

switch get(obj, 'selectiontype')

% actions for left mouse button

case 'normal'

coords = get(gca, 'currentpoint');

xC = coords(1);

yC = f(xC);

a = fprime(xC);

b = yC-a*xC;

if ishandle(L)

delete(L); end

L = line([0; 2*pi], [b; a*2*pi+b]);

case 'alt'

% actions for right mouse button

case 'extend'

% actions for middle mouse button

case 'open'

% actions for double click

otherwise

% actions for some other X-mouse-whatever button

end

end

end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值