if i want select value by condition i can write
(a==1)*3+(a~=1)*5
when a will get 3 if a is 1 or 5 if not.
can i do somthing like this but the result is a string. foe example:
(a==1)*'Good'+(a~=1)*'bad'
when a will be 1 i will get 'good' else i will get 'bed'
i want it for sprintf. i want write a message that if a value is lower from 0 it will write 'loss' and if it higher it write 'profit'
sprintf('Are %s is %d', (v<0)loss (v>0)profit, v)

 채택된 답변

Geoff Hayes
Geoff Hayes 2015년 3월 8일

0 개 추천

Yona - I think that the closest you can get to doing what you want is to create an array of strings as
msgs = {'loss','profit'};
then access the one you want based on whether v is positive or negative
sprintf('Our %s is %d', msgs{(v>0)+1}, v)
Try the above and see what happens!

댓글 수: 1

Yona
Yona 2015년 3월 8일
good way. I didn't think about place in cell by condition

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Characters and Strings에 대해 자세히 알아보기

제품

질문:

2015년 3월 8일

댓글:

2015년 3월 8일

Community Treasure Hunt

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

Start Hunting!

Translated by