2016-11-16 77 views
-5

我現在正在使用Matlab來開發我的優化項目。我需要while循環來迭代。Matlab雖然聲明

但我不知道我在while循環中的語句有什麼問題。它可以在上次查找另一個類似的問題。 像這樣我的代碼:

while(norm(g_k)/(max(1,norm(v_k)) > eps && iter < iterMax) 
rho = 0.00001; 
v_k1 = v_k - rho*g_k 

它總是說:

Expression or statement is incorrect--possibly unbalanced (, {, or [.

但我不知道什麼是錯做?我不會改變這些天的事情,我記得幾周前我可以解決類似的問題 謝謝和BEST 維納斯

+1

好吧,算你的括號內。 – Adriaan

回答

0

作爲錯誤說,你括號不是成對的。 改變

while(norm(g_k)/(max(1,norm(v_k)) > eps && iter < iterMax) 

while(norm(g_k)/max(1,norm(v_k)) > eps && iter < iterMax) 
0

您不關閉您的括號正確地看到。你有一個最終太多或缺少一個在一開始

while (norm(g_k)/(max(1,norm(v_k)) > eps && iter < iterMax 
rho = 0.00001; 
v_k1 = v_k - rho*g_k 

while ((norm(g_k)/(max(1,norm(v_k)) > eps && iter < iterMax) 
rho = 0.00001; 
v_k1 = v_k - rho*g_k