how to use if-else for select transition matrix input

2 次查看(过去 30 天)
d = 1,2,5,10 will use tm = p_clear but d = 3,4,7 will use tm = p_partly and d = 6,8,9 will use tm = p_cloudy. what command that i should use? The below is code that i wrote but it has problem about transition matrix that used not match with day. pleas help me.
if d == 1 || d == 2 || d == 3 | d == 4 || d == 5 || d == 7 || d == 17;
p = cdf_partly;
elseif d == 6 || d == 8 || d == 9 || d == 10;
p = cdf_mostly;
end

采纳的回答

Julia
Julia 2015-2-3
Hi,
I do not completely understand your problem, but you can write your conditions with a switch-case statement:
function p = test2(y)
switch y
case {1, 2, 5, 10};
p=0;
case {3, 4, 7};
p=1;
case {6, 8, 9};
p=2;
otherwise
p=-1;
end
end
  6 个评论
Anuchit Wibun
Anuchit Wibun 2015-2-4
I have file in worksheet its name "day". In this file is array of number [1; 1; 1; 2; 2; 2; 3; 3; 3; 4; 4; 4....,10]. From my code, i define "d" is value that read from day file in each row. That mean d=1,d=1,d=1,d=2,d=2,d=2...] and i create loop if d==1, i will determine p = cdf_clear(cdf_clear is matrix 10*10) but d==2, i will determine p=cdf_parlty(it not same cdf_clear). The result that i want is
output file : @ day 1 >> 0.34 [value that was got from *cdf_clear* (i,j)]
1 >> 0.85 [value that was got from *cdf_clear* (i,j)]
......
2 >> 0.23 [value that was got from *cdf_partly* (i,j)]
.....
3 >> 0.26 [value that was got from *cdf_mostสั* (i,j)]
Are you understand with i explain?. I used if-else
if d==1 || d==3 || d==7;
p = cdf_clear;
elseif d==4 || d== 5;
p = cdf_partly;
end.
It not work. I'm beginner, i try to watch technique from internet but i don't know keyword for thing that i want. Thank you every much.
Michael Haderlein
Ok, but what is the problem with Julia's answer? If you replace p=0 with p=cdf_clear and so on, it should work.

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by