I'm having a bit of a problem to integrate the if-loop with plot handles. So the program I'm writing has this structure:
It has this menufile in which you choose what you want to do (This is only a small part of it):
plot_handles = createPlot(plot_handles);
In case 1 you'll be able to index a figure and write the function which is plotted and you're being returned to the menu.
function plot_handles = createPlot(plot_handles) clc
try figureid = input('Input figure-ID: '); func= input('Input function f(x): ','s');
figure(figureid); h=ezplot(func); plot_handles(figureid)=h;
catch lasterr error('Nonvalid function!');
Back in the menu I enter case 2 where the thought is that it'll ask you which figure you want to edit.Once you've choosen that you're supposed to be able to edit that figures' linewidth:
figureid = input('Input figure-ID: '); h = plot_handles(figureid);
if exist(figureid)== 0 % Here's the problem, I don't know how to test if ... % the ID is correct or not. error('Invalid figure-ID')
else width=input('Input new width: '); set(h, 'linewidth', width)
The problem is that I don't know how to check if figure-ID is correct in the IF-loop, elsewhere I want the errormessage so be written out.
Would really appreciate some help!
"check if figure-ID is correct "
There is a function:
ishandle Test for valid graphics object handle
I think code cells are useful when experimenting with code, see Evaluate Subsections of Files Using Code Cells. One small step at a time, check the result and proceed to next step.
h = ezplot(...) returns the handle to all the plot objects in h.
My first step:
%% h = ezplot( @sin ); get( h, 'Type' )
ans = line
Thus, ezplot returned the handle of the line object. Did you expect that?