How to apply function in vector form variable?

1 view (last 30 days)
Hi guys, I want to modify below codes.
In respect to every value of T, I want to apply below logic. T is N by 1 matrix. (ex: T = [ -1 2 0 1 0 3 -3 5 ... 0 ]' )
function f1 = function_1(T)
if T <= 0
function_1 = T*T ;
elseif ( 0< T ) && ( 1 <T)
function_1 = T + 2 ;
else (T >= 1)
function_2 = T + 3 ;
The thing is that if I run that code, conditional statement does not work. How can I modify it?
Thanks in advance:D

Accepted Answer

Matt J
Matt J on 16 Oct 2018
Edited: Matt J on 16 Oct 2018
You should be using logical indexing expressions, like in the following.
function S = function_1(T)
S=nan(size(T)); %pre-allocate
cond1= T<0;
S(cond1)=T(cond1).^2;
cond2=T>0 & T<1;
S(cond2)=T(cond2)+2;
etc...

More Answers (0)

Community Treasure Hunt

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

Start Hunting!