Matlab 中while循環語句的用法
while語法:
while expression
statements
end
說明:while expression, statements, end 計算一個表達式,并在該表達式為 true 時在一個循環中重復執行一組語句。表達式的結果非空并且僅包含非零元素(邏輯值或實數值)時,該表達式為 true。否則,表達式為 false。
示例代碼如下:
function [sum] = summation(ratio, head, top)
sum = 0;
while (head <= top)
sum = sum + ratio ^ head;
head = head + 1;
end
end
假設ratio = 2,head = 0,top = 63
擴展資料:
Matlab控制流語句包括條件語句、循環和分支。
if, elseif, else 條件為 true 時執行語句。
for 用來重復指定次數的 for 循環。
parfor 并行循環。
switch, case, otherwise 執行多組語句中的一組。
try, catch 執行語句并捕獲產生的錯誤。
while 條件為 true 時重復執行的 while 循環。
break 終止執行 for 或 while 循環。
continue 將控制權傳遞給 for 或 while 循環的下一迭代。
end 終止代碼塊或指示最大數組索引。
pause 暫時停止執行 MATLAB。
return 將控制權返回給調用函數。
參考資料:
MathWorks文檔——while循環
matlab while語句
a是一個數組,abs(a-s)這個得到的是1*141的數組,而abs(a-s)>=6就表示成了邏輯運算,數組中大于6的為1,小于6的為0,所以這個程序永遠不會執行到break的,而后面你用的disp(a)顯示的是數組a,這就是你所說的“結果是從1到15的茫茫一大片”,從你的思路來看是要找到a,這個a的值應該是11而不是6.1其實你可以用下面語句實現:clc;clear;s=5;a=1:0.1:15;[m n]=size(a);for j=1:nif abs(a(j)-s)>=6 t=a(j); break;endenddisp(t)。
matlab關于for,while,if語句
%…………………………
for i=1:5
for j=1:5
A(i,j)=i+j;
end
end
%…………………………
i=1;j=1;
while i<6
while j<6
A(i,j)=i+j;
j=j+1;
end
i=i+1;
end
%…………………………
B=A^2;
C=A.^2;
a=det(A);%行列式值
[x,y]=eig(A);%x為特征向量,y為特征值
if能當循環用么。。
轉載請注明出處華閱文章網 » matlabforwhile語句