MATLAB Answers

R7 DR
0

How to make this code as a function?

Asked by R7 DR
on 25 Mar 2015
Latest activity Commented on by Star Strider
on 27 Mar 2015
Hi
I want to make the following code as a function. I want to call this code as function in another code to get the 'T' values.
[T_20]=xlsread('20.xlsx','sheet2','C2:C2243')
[alpha_20]=xlsread('20.xlsx','sheet2','F2:F12243')
for i=1:8
x(1)=0.1
x(2)=0.2
x(i+1)=x(i)+0.1
for j=2:2242
if x(i)>alpha_20(j)
X2_20(i)=alpha_20(j+1)
X1_20(i)=alpha_20(j)
Y2_20(i)=T_20(j+1)
Y1_20(i)=T_20(j)
end
end
T (i)=(((Y2_20(i)-Y1_20(i))/(X2_20(i)-X1_20(i)))*(x(i)-X1_20(i)))+Y1_20(i)
end
Thanks

  0 Comments

Sign in to comment.

Tags

1 Answer

Answer by Star Strider
on 25 Mar 2015

See the documentation for Function Basics to get you started.
You already know you want it to return ‘T’, so you need to define what (if any) inputs you want for your function

  8 Comments

My pleasure!
To return both ‘T’ and ‘D’, the first line of your function becomes:
function [T,D] = ExcelRead(prefix)
and your call to it becomes:
[T{k1},D{k1}] = ExcelRead(prefix);
That should work.
Those are the only changes needed.
R7 DR
on 27 Mar 2015
Thanks. Its working. I did a mistake by calling the 'T' and 'D' separately in the main code.
I came up with one more doubt. I need to plot the graph between the 'T_a' (loaded from excel) and 'D'(calculated in the loop) for each file in a single figure. As we are not storing the data loaded from excel files, how to make the graph?
we must store the 'T_a' values to plot the graph (or) we have some other alternative approach?
Thanks
You can always return the ‘T_a’ values just by adding it to the returned values:
function [T,D,T_a] = ExcelRead(prefix)
and as before:
[T{k1},D{k1},T_a{k1}] = ExcelRead(prefix);

Sign in to comment.