matlab中if和switch的差別是什麼

2021-03-04 04:51:59 字數 1355 閱讀 8886

1樓:匿名使用者

if轉移結構

if 表示式1

語句1elseif 表示式2

語句2...

else

語句nend

程式先判斷表示式1 ,若成立,執行語句1,終止(即使後面條件成立);若1不成立,對語句2判斷,...,若所有都不成立,執行語句n。當然else 語句n可省略。

switch開關結構

switch 表示式

case 常量表示式1

語句組1

case 常量表示式2

語句組2

...otherwise

語句組n+1

endmatlab中當其中乙個case為真時,switch-case不對下邊的case進行判斷,即使滿足條件。這樣不用c中的case後加break語句。

與if不同,各個case與otherwise先後順序不會影響程式結果。

2樓:匿名使用者

if是適用於比較簡單的選擇項,兩三個那種,switch適合多項的,六七個,十來個之類的

matlab中switch語句的用法例子

3樓:匿名使用者

if-else-end語句所對應的是多重判斷選擇,而有時也會遇到多分支判斷選擇的問題。

matlab語言為解決多分支判斷選擇提供了switch-case語句。

switch-case語句的一般表達形式為:

switch〈選擇判斷量〉

case 選擇判斷值1

選擇判斷語句1

case 選擇判斷值2

選擇判斷語句2

……otherwise

判斷執行語句

end與其他的程式語言的switch-case語句不同的是,在matlab語言中,當其中乙個case語句後的條件為真時,switch-case語句不對其後的case語句進行判斷,也就是說在matlab語言中,即使有多條case判斷語句為真,也只執行所遇到的第一條為真的語句。這樣就不必像c語言那樣,在每條case語句後加上break語句以防止繼續執行後面為真的case條件語句。

4樓:轉基因牛

你這是if的用法。。。case一般都是匹配用法,比如case 1 這個時候意思就是k=1條件下。。。

5樓:匿名使用者

switch ch

case 1

x = 20 * rand - 10;

case 2

x = 10 * rand - 5;

case 3

x = 2 * rand - 1;

case 4

x = randn;end

用matlab程式設計選擇if或者switch來實現下列函式表示

function z myfun1 x,y if y 1 z sin x elseif y 2 z cos x else z sin x cos x endfunction z myfun2 x if x a z 0 elseif x b z x a b a elseif x c z 1 elsei...

matlab中自相關函式,matlab中自相關函式xcorr

自相關函式是描述隨機訊號x t 在任意兩個不同時刻t1,t2的取值之間的相關程度.設原函式是f t 則自相關函式定義為r u f t f t 其中 表示卷積.給個例子 dt 1 t 0 dt 100 x cos t a,b xcorr x,unbiased plot b dt,a 上面 是求自相關函...

matlab中1什麼意思,matlab中a,13是什麼意思

1,表示 矩陣的第一行。2,表示 矩陣的第二行。依次類推 x,表示 矩陣的第x行。而 y 表示 矩陣的第y列。1 6 其中1 6是由123456六個數 組成的行向量,單引號轉置 所以是由123456六個數 組成的列向量,或者說乙個6 1矩陣 就是說取第一行的所有列 取乙個矩陣中第一行所有資料 表示x...