Matlab While声明

时间:2016-11-16 01:59:13

标签: matlab while-loop

我现在正在使用Matlab开发我的优化项目。我需要使用while循环来迭代。

但我不知道我在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 [.

但我不知道出了什么问题?这几天我没有改变什么,我记得几周前我可以解决类似的问题 谢谢,最好的 金星

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分: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