View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Interactive curve class

3.7 | 3 ratings Rate this file 8 Downloads (last 30 days) File Size: 51.5 KB File ID: #35056 Version: 1.2
image thumbnail

Interactive curve class


Maxim Vedenyov (view profile)


13 Feb 2012 (Updated )

change curve by markers drag-and-drop

Editor's Notes:

This file was selected as MATLAB Central Pick of the Week

| Watch this File

File Information

See how it works on this video:

All class is interactive_curve.m file.
See help about this class:
1) set current directory to directory where interactive_curve.m place
2) type
doc interactive_curve
in command window and push enter.

It is possible to change markers style, interpolation method, generate m-file ect.


This file inspired Waveform Generator Gui 2 and Vibrating String Simulator.

Required Products MATLAB
MATLAB release MATLAB 7.11 (R2010b)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (8)
14 Nov 2016 Amit

Amit (view profile)


Excellent work! But I have a question.

How can I define a userdefined function for interpolation? For example, defining a exponential decay function with ends as control points? (y=y0*exp^(-d*t)); where y0 is initial quantity, t is time, d is decay per unit time.

So when I drag the control points the curvature of the curve is controlled by exponential decay function and d gets calculated based on initial and final position of the control points (d = [log(y2) - log(y1)]/[x2-x1]).

Thanks in advance.

16 Mar 2012 Maxim Vedenyov

Maxim Vedenyov (view profile)

robert howrd, main thing here is not GUI, it is object that you can insert to any GUI. For example waveform generator:

Comment only
15 Mar 2012 robert howrd

confusing, GUI not well done, hard to use, not user friendly.

27 Feb 2012 Maxim Vedenyov

Maxim Vedenyov (view profile)

Jiro Doke, I made this

Comment only
24 Feb 2012 Jiro Doke

Jiro Doke (view profile)

You can make a property (SetAccess = protected). Then I can still type:

m = ic.method

But I can't do this:

ic.method = 'BadMethod';

Comment only
23 Feb 2012 Maxim Vedenyov

Maxim Vedenyov (view profile)

But what is the user want to know what method of interpolation is used curently than it will use m=ic.method; ic.setMehtod(...) change the method of interpolation and redraw line.

Comment only
23 Feb 2012 Jiro Doke

Jiro Doke (view profile)

Oops, my original comment got deleted.

At first, I didn't realize you had all of these set* methods. I was trying to change the properties directly, because they were all public. My suggestion was to make some of the properties protected or hidden (if it's only used internally)

Comment only
23 Feb 2012 Jiro Doke

Jiro Doke (view profile)

After playing with it some more, I realized that I was supposed to use the set* methods for change different properties. I see that if I use "setMethod" method, it updates the plot correctly.

I think that means the "method" property should be (setAccess = protected), so that people cannot change it.

23 Feb 2012 1.1

Update No. 1: marker color bug fixed, aditional dilte, new method: setMarkersPositions(), new property additionalDeleteFunctionHandle and other improvements.

27 Feb 2012 1.2

Update No.2: set protected property for .method, mouse methods and figure close methsod now protected methods.

Contact us