hi there
i need to do this if function
if a <= b
c = 1
else
c = realmin
but, a and b is a matrix (30x30)
and apparently i got only 1 value of c,
i want a the if function compare every cell of matrix a and b,
and gives me value in 30x30 matrix too
please help, thank you

 채택된 답변

madhan ravi
madhan ravi 2018년 11월 12일

0 개 추천

idx=a<b
c(idx)=1
c(~idx)=realmin

댓글 수: 8

Antoni Ho
Antoni Ho 2018년 11월 12일
it is actually works, but what is this idx actually? can i use it again on different variables?
madhan ravi
madhan ravi 2018년 11월 12일
편집: madhan ravi 2018년 11월 12일
use it is a logical index which stores the index of the variables when the condition is satisfied , yes you can use it on different variables also changing the variable name in the condition. see logical indexing for further explanation
Antoni Ho
Antoni Ho 2018년 11월 12일
편집: madhan ravi 2018년 11월 12일
thank you for your help
so the code is like this?
idx=a<b
c(idx)=1
c(~idx)=realmin
idx=d<e
f(idx)=1
f(~idx)=realmin
madhan ravi
madhan ravi 2018년 11월 12일
편집: madhan ravi 2018년 11월 12일
Anytime :),yes exactly , if it worked make sure to accept the answer
Antoni Ho
Antoni Ho 2018년 11월 12일
편집: madhan ravi 2018년 11월 12일
now i got this problem, i have (30x8 matrix). and the result i got from idx is 1 x 240 matrix. do you know how to make them 30 x 8 (i dont use normal matrix operation but elementwise only operation)
madhan ravi's reply : post a separate question by providing all the necessary details
Torsten
Torsten 2018년 11월 12일
c = ones(size(a))
idx = a>=b
c(idx) = realmin
madhan ravi
madhan ravi 2018년 11월 12일
+1 @Torsten - an absolut genius!!
Antoni Ho
Antoni Ho 2018년 11월 12일
wow @Torsten real genius, it worked

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Multidimensional Arrays에 대해 자세히 알아보기

제품

릴리스

R2018a

태그

질문:

2018년 11월 12일

댓글:

2018년 11월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by