Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: Pass string to function to increment figure number & figure title
Replies: 2   Last Post: Sep 14, 2013 1:23 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Kenneth Potter

Posts: 11
Registered: 2/24/05
Pass string to function to increment figure number & figure title
Posted: Sep 12, 2013 12:32 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

Dear Colleagues,

I have written a simple function which calculates the tangent to a curve at a single point (x1, y1) and in addition using the central difference method, taking points in front and behind the point of interest for comparison against noisy data (due to using the diff function)

As I will be calling this function many times for a large set of input files, I would like to add two additional inputs to the function, a number, 1,...,n which increments the command

figure( insert number here)

and also a string - i.e. device number which updates the title of the figure

h=title('Results for INPUT DEVICE NUMBER HERE')

I would appreciate any help and thank everyone in advance for theory time and suggestions. Apologies if this is trivial but my exposure to MATLAB is limited.

MATLAB R2012B, Windows 7.

The code is as follows:

__________________________________________________________

function [Central_diff, Exact_point] = Tangent(location, Cdata , Vdata)

%% y = mx + c -- Cdata = df*Vdata + C

% Simple central difference approach
y2 = Cdata(location+1);
y1 = Cdata(location-1);
x2 = Vdata(location+1);
x1 = Vdata(location-1);
y_x = (y2 - y1)/(x2-x1);
m1 = y_x;
c = Cdata(location) - m1*Vdata(location);
Central_diff = m1*Vdata+c;

% Exact point tangent
y = Cdata;
x = Vdata;
dy = diff(y);
dy = [dy dy(end)];
dx = diff(x);
dx = [dx dx(end)];
df = dy./dx;
m2 = df(location); % gradient at specified location
c = y(location) - x(location)*m2; % y intercept

Exact_point = m2*x + c;

%% Plot figures automatically each time the function is called

figure(1) %replace with string to increment figures per graph generation
set(gcf, 'units','normalized','outerposition',[0 0 1 1]); % Maximize figure
SetPlotFont('Times',18); %additional *.m file which must be included
axis auto
set(gca, 'XTick',[-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6])
%axis([-8 6 0 10e-5])
hold all
plot(Vdata, Cdata);
plot(Vdata, Central_diff,'-o');
plot(Vdata, Exact_point,'-x');
grid on
h=title('C-V Curve with Central Difference & Point Tangent INSERT WAFER STRING ');
ylabel('Capacitance')
xlabel('Gate Voltage [V]');
legend('C-V Curve','Central Difference Tangent', 'Exact Tangent')

__________________________________________________________________



Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.