#求指导
#nsga2遗传算法
#matlab联动aspen plus
#运行错误:此类型的变量不支持使用点进行索引
报错如下:
i =
12
历时 3.100654 秒。
此类型的变量不支持使用点进行索引。
出错 Fun_Objective (第 56 行)
Conv = Aspen.Tree.FindNode("\Data\Results Summary\Run-Status\Output\PER_ERROR").Value; %Convergence Assessment
出错 NSGA_II_Abril (第 52 行)
[ff(i,:), err(i,:)] = feval(fname, x(i,:));
出错 Opt_simulationColumn (第 41 行)
Resultados = NSGA_II_Abril(NSGAparam);
以下回答引用自chatGpt, 有用的话,请采纳哇!!!
这个错误提示是因为你在使用点索引一个不支持点索引的变量。根据你提供的代码,可能是在以下这一行出现了问题:
Conv = Aspen.Tree.FindNode("\Data\Results Summary\Run-Status\Output\PER_ERROR").Value;
你可以尝试将其改为:
Conv = Aspen.Tree.FindNode("\Data\Results Summary\Run-Status\Output\PER_ERROR");
ConvValue = Conv.Value;
这样就可以避免使用点索引了。另外,你也可以检查一下其他的代码,看看是否还有类似的问题。
问题可能原因:
根据报错信息,问题应该是由于在MATLAB中使用到了点运算符“.”进行索引,而该变量类型不支持点运算符导致的。具体来说,报错信息指向第56行的语句,其中使用了Aspen.Tree.FindNode()函数定位PER_ERROR变量,然后使用点运算符“.”获取该变量的值,而该变量类型不支持点运算符“.”进行索引。
解决方案:
1.检查错误原因是否为变量类型不支持点运算符,可尝试使用其他索引方法进行查找变量值。
2.在查找变量值时,如果确实需要使用点运算符“.”进行索引,需要确保该变量类型支持点运算符,可使用struct类型进行存储变量,以支持点运算符。