求教這個MATLAB程式裡if else用的為什麼不對

2022-01-20 18:02:44 字數 4315 閱讀 1144

1樓:

for j = 1:rf

for i = 1:rf

if i > rf/2

a = rf + 1 - i;

elseif j > rf/2

b = rf + 1 - j;

a=i; % 少了這句而已else a = i; b = j;

endphi(i,j) = a + b/10;

endend

matlab中else if與elseif使用?

2樓:

這種格式中,else 後面的邏輯語句好像不起作用吧,只要前面幾種elseif都為0,那麼就無條件執行else後面的語句,忽略之後的邏輯判斷吧。

試試把else 改為elseif

matlab中用if else語句表示分段函式

3樓:

你的x是一個向量,然後y在賦值的時候,有時候是-1這是一個點,有時候是一個向量cos(x)。

感覺你這種方法不對。應該每點對應。

x=-2*pi:pi/16:2*pi;

l = length(x);

for i=1:l

if (abs(x(i))>pi)

y(i)=-1;

else

y(i) = cos(x(i));

endend

plot(x,y)

4樓:嘀嘀

輸出y=cos(x)

matlab程式if語句用法

5樓:臍橙熟透了

matlab中我們常常用到條件判斷語句結構,通過例項介紹這個結構的用法:

1、if.....end結構,執行下面的句子,此條件語句是判斷5是否大於3,如果大於3,就將1賦值給;

2、if....else...end 結構,我們以如下內容進行判斷:

執行以上語句,結果如下a1=1,a2=1,判斷a1是否大於a2,顯然不大於,然後就執行else語句,給a賦值為2;

3、if..elseif...else...end 結構

我們以如下語句為例,進行此條件結構的示例

執行以上語句,結果如下:

a1=a2=1,判斷a1>a2?不滿足,執行elseif語句,a1

matlab if 條件語句用法以及例項如下:

1、if語句是一種選擇判斷語句,可以和for語句結合使用,也可以單獨使用,這裡建立了3個變數,作出了一個簡單判斷如果a小於b,b等於a,需要注意的是if語句後面要有end語句結束,如下圖所示:

2、執行指令碼之後,在命令列視窗可以看到b已經等於a了,如下圖所示:

3、if巢狀語句,這裡作出的判斷是如果a小於b,b等於a,如果繼續b還大於c,b等於c,如下圖所示:

4、執行指令碼,在命令列視窗可以看到b等於a,這裡是因為b變數只滿足第一個條件,如下圖所示:

5、if語句中的else語句,else是否則的意思,這裡作出的判斷是如果a小於b,b等於a,如果滿足a小於b條件下,b大於c,b就等於c,否則b=c-a,如下圖所示:

6、執行指令碼,在命令列可以看出結果b=c-a,只滿足第一個條件,第二個條件不滿足進去else語句裡面去了,如下圖所示:

6樓:思孕

clc;clear all;close all;

n=zeros(5,1);

s=[1 1.5 3 3.5 5];

for i=1:1:5

if s(i)<=1

n(1,1)=n(1,1)+1;

elseif 1

elseif 2

elseif 3

else

n(5,1)=n(5,1)+1;

endend

matlab裡if else語句,跪求看下我的end是否寫在正確的位置上。(這是擷取的一段,前邊的程式可以執行)

7樓:楓葉嘉年華

在m-file的編輯框內不是可以直接看的麼。。。游標放在某一個end上會自動找到最近的else 或者if,你看一下就知道放對地方了沒啊

matlab if else語句怎麼用?

8樓:木偶bu會流淚

matlab中if else語句的使用方法示例:

第一步:首先,找到開始選單的matlab圖示,並開啟matlab。

第二步:在matlab的軟體介面中點選file-new-m-file,建立新檔案。

第三步:將所要建立的新檔案命名為test,並點選儲存。

第四步:然後如圖所示,輸入如下**

第五步:點選上方工具欄中的綠色三角形的執行按鈕,使其執行即可

9樓:園林植物手冊

1、先開啟軟體,點選左上角進行新建指令碼,即建立一個m檔案,開啟編譯介面後,先將此m檔案進行儲存,注意命名規則,只能用英文加下劃線。

2、對於只用兩種情況的問題,則只用到else即可,第一個if說明情況一,else說明不滿足情況一的所有其他情況。注意結尾要加end,不然如圖命令提示所示,會報錯。

3、對於多個情況,可設定多個判斷,對於有新判斷條件的情況用elseif新增,下圖所示,為3種情況,根據a的值,執行後滿足第二種情況。

4、對於其他情況,如果判斷出符合這種情況可以不寫,如符合else條件,但是不用執行程式,則可連else都不寫,也可寫上,只是後面不寫執行語句,程式也不會報錯,對於elseif、if也是,不需執行程式,也可寫上條件判斷語句,但是不寫下一步語句,也可以。

5、接著用多級if語句建立了下圖多級判斷程式,可以實現根據輸入的字母,輸出對應引數b的值,而且不會區分字母大小寫,因為同一判定條件加入了字母大小寫形式。但是如果條件再多,程式將會無限延長,可以用其他思路,進行解決。

6、這裡採用陣列預先儲存判斷條件,及引數b的值,因為條件相同,用for迴圈加上一條條件判斷,即可實現多級條件功能。但是要注意,條件形式要相同,否則不能寫成統一形式。這樣如何使用,及一種可行的替換思路,介紹完成。

10樓:匿名使用者

matlab if else語句怎麼用?

存為一個f.m檔案

function out=f(x)

if x>1

out=x^2+1

else

out=2*x

end**********=

然後呼叫

>>f(2)

>>f(-1)

年年順景則源廣 歲歲平安福壽多 吉星高照

11樓:匿名使用者

if 條件1

結果else 不滿足條件1

結果end

例子:a=0;b=1;

if a>b

x=2;

else x=3;

end》xx=3

12樓:英竹闕雋潔

ifh(i,j)==a1(i,j)

e(i,j)=a(i,j);

elseif

h(i,j)==b1(i,j)

e(i,j)=b(i,j);

elseif

h(i,j)==c1(i,j)

e(i,j)=c(i,j);

else

h(i,j)==d1(i,j)

e(i,j)=d(i,j);

end對這一段程式仔細分析,我沒有仔細分析前面的程式,但可以猜測以下,h(i,j)肯定會和a1(i,j)、b1(i,j)、c1(i,j)、d1(i,j)中的某一個相等,這樣當h(i,j)和a1(i,j)、b1(i,j)、c1(i,j)不相等的時候,就會執行到最後一條else語句

else

h(i,j)==d1(i,j)

e(i,j)=d(i,j);

這時候ans=1;就會出現了。

也就是matlab把h(i,j)==d1(i,j)當做是一條單獨的語句,而不是判斷條件。

究其原因,就是,if-elseif-else-end最後一個else是不用判斷條件的,前面的條件都不滿足就會執行else後的語句。

再加上,用來計算的矩陣是由rand隨機生成的,這樣,就可以很好的解釋為什麼有時多,有時少,數量不確定的現象了。

所以修改的辦法是:1,把h(i,j)==d1(i,j)刪除;2,把else改成elseif。

對於這個程式,我感覺用if語句還是比較合理的,用switch-case可以用,但是它不適合這樣的分支條件

matlab裡這段程式的意思,這段matlab程式是什麼意思

ii是一個bai 矩陣 你這裡是1行2列的矩陣 du ii 1 矩陣ii中的第一個元素zhi 按列優先原則排序dao ii 2 3 矩陣專ii中的第屬2到第3個元素組成新的矩陣。ii 2,3 矩陣ii的第二行,第三列的元素所以你的 的意思就是 定義ii 是一個1行2列的矩陣,兩個元素都是1迴圈兩次 ...

matlab程式設計,matlab中如何程式設計序進去

a 8 1 1 1 1 1 1 3 3 2 1 1 5 1 1 3 1 1 2 1 1 5 3 3 3 1 1 4 5 1 1 1 1 1 2 2 2 2 4 3 1 5 4 2 1 1 1 2 1 3 1 1 2 2 5 2 1 3 2 5 1 1 3 1 1 1 1 2 1 5 4 2 2 1 ...

求matlab程式集,或神經網路程式

附件bai是最經典的30個神經du網路案例分析 幾乎涵蓋zhi當前所有主dao流神經網路,可版供參考。人工神權經網路 artificial neural work,即ann 是20世紀80 年代以來人工智慧領域興起的研究熱點。它從資訊處理角度對人腦神經元網路進行抽象,建立某種簡單模型,按不同的連線方...