How to make a 2D plot of a function with an additional parameter, which I can change "live"?

3 次查看(过去 30 天)
Hello, guys!
Imagine that we have a simple function y=x+1+C. I'd like to have a 2D plot for x-y and add an additional "bar" to change the parameter "C". Any ideas how I can do it?

回答(2 个)

Jorge Mario Guerra González
there is option to link plot when you open figure
for example:
C=0;
x=1:1:100;
y=x+1;
plot(x,y)
then enable plot linking
linkdata on
Check what happends when you change C value and reassign Y:
C=1000;
y=x+1+C;
It can be enabled from that button as well.

Vlad Matjuschkin
Vlad Matjuschkin 2017-1-23
Hi Jorge,
It works, BUT, to change the "C" you need to type
C=1000;
y=x+1+C;
every time.
Let's say, we want to check one hundred values C=1:1:100. We will spend lots of time by typing that again and again ... Is there any other method or app? I simply want "shift" the C-value up and down and see how the function will change.*
*I saw one guy could do it in Excel. He said he installed a special "macro" ... People do it in Maple as well. If excel can do it, why not MATLAB?
  2 个评论
Jorge Mario Guerra González
Well, typing C=... is just an example, if you are working on a GUI
then add the command
linkdata on %which enables linkdata on your axes.
put that into the callback of the slider. Then instead of typing C, you put something like...
handles.C=get(handles.slider1,'Value');
y=1+x+C;
axes(hanldes.axes1) %Select the axes you want to plot it on
plot(x,y)

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Interactive Control and Callbacks 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by