条件if语句中的matlab错误:尝试引用非结构数组的字段

时间:2012-12-06 01:19:10

标签: matlab

尝试引用非结构数组的字段。

Error in ==> Project_3 at 23.             
if (alpha>=alpha_1 .and. alpha<=alpha_2)   %region from a to b

我的原始代码:

for alpha=-90:1:90
    dum=dum+1

    if (alpha>=alpha_1 .and. alpha<=alpha_2)   %region from a to b

        [A] =gradient_linear_equation(alpha_1,alpha_2,cl_1,cl_2);
        [B] =constant_linear_equation(A,alpha_1,cl_1);
        [y] =linear_equation(A,alpha,B)

1 个答案:

答案 0 :(得分:2)

我认为您的意思是&&&,而不是.and.。我相信.and.是Fortran语法,是吗?

Matlab中逻辑运算符的相关文档是here

顺便说一句,我可以看到该错误消息如何将您带入错误的路径。 Matlab使用.来访问结构的字段,例如,S.alpha = 11分配给结构alpha中的字段S。因此,它可能认为您尝试引用结构and中的alpha_1字段 - 即使alpha_1是数字矩阵 - 因此也是错误。