matlab中if和switch函式問題

2021-05-02 11:24:26 字數 2746 閱讀 9186

1樓:minquan一人

輸出不正常的原因:matlab 中case 不同於if else, case 後面跟的應該是變數確切的值,而不是邏輯判斷。詳細可以在command window中輸入doc case檢視。

舉例:function z=untitled(x)a=1;b=2;c=3;d=4;

z=0;

switch x

case 5

z=0;

case 6

z=1;

case 7

z=2;

case 8

z=3;

endend

在command視窗中,執行

>> untitled(2)

ans =

0>> untitled(5)

ans =

0>> untitled(6)

ans =

1>> untitled(7)

ans =

2補充:

求助乙個matlab關於switch case的問題

2樓:匿名使用者

最後乙個是不是應該換成default。

matlab 中if和switch的差別是什麼?

3樓:匿名使用者

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先後順序不會影響程式結果。

4樓:匿名使用者

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

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

5樓:匿名使用者

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;

elseif x<=d

z=(x-d)/(c-d);

else

z=0;end

matlab分段函式用switch程式設計(不要if語句的) 50

6樓:幽蘭書生

^clear

a=input('input a');

b=input('input b');

c=input('input c');

x=0.5:0.01:5.5;

for i=1:length(x);%%用循來環求對應的x(i)取整和對源應的y(i)

t=fix(x(i)-0.5);

switch(t)       %%switch開關bai來選du

擇y(i)表示式

case 0

y(i)=a*x(i)*x(i)+b*x(i)+c;

case 1

y(i)=a*sin(b)^c+x(i);

case 2

y(i)=a*sin(b)^c+x(i);

case 3

y(i)=log(abs(b+c/x(i)));

case 4

y(i)=log(abs(b+c/x(i)));

case 5

y(i)=log(abs(b+c/x(i))); %由於zhit=5存在,這個開關要留著,我dao隨便給的。

endend

plot(x,y);

7樓:匿名使用者

^不用baiif,也用不du

到switch請參zhi閱dao下面**內容:clear

a=input('input a')

b=input('input b')

c=input('input c')

x=0.5:0.01:5.5;

i=1:length(x);

t=fix(x(i)-0.5);

t=t(:);

y=(a*x.*x+b*x+c).*(t==0)'+ ...

(a*sin(b)^c+x).*(t==1)'+ ...

(a*sin(b)^c+x).*(t==2)'+ ...

(log(abs(b+c./x))).*(t==3)'+ ...

(log(abs(b+c./x))).*(t==4)'

Matlab中rand state,s 和rand state,0 表示什麼意思

rand state j for integer j,resets thegenerator toits j th state.用法自 一 rand state s 表示隨機產生數的狀態state,一般情況下不用指定狀態。但是有的書籍作者為了讓讀者能夠看到和他書本的同樣結果,採用了設定state,r...

matlab中怎麼顯示公式,matlab中影象顯示函式

clc clear syms x y 定義符號 x y z x exp y disp z 建立符號關係式並顯示 x 1,y 2,eval z x y 賦值後計算 開啟mathtype,preferences translator 然後如下面的設定 然後再mathtype裡面輸入乙個公式,然後拷貝到乙...

matlab中fprintf函式中r和n有何區別呢

在一般情況下回車和換行這兩者是一樣的,但在文字輸出時,需要使用 r看看這兩個例子就明白了 x 0 1 1 y x exp x fid fopen exp.txt wt fprintf fid,6.2f 12.8f r y fclose fid x 0 1 1 y x exp x fid fopen ...