How to apply function in vector form variable?

1 次查看(过去 30 天)
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

采纳的回答

Matt J
Matt J 2018-10-16
编辑:Matt J 2018-10-16
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...

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by