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 ...