【发布时间】:2017-03-15 22:39:53
【问题描述】:
我面临的问题如下:我得到了一个 6x1 的数组,其中包括代表 2 个未知值的 2 个 NaN。我想要做的是用符号值(即 x_1 和 x_2 例如)替换这些值。我不明白该怎么做是,如果给我一个 12x1 数组,例如 10 NaN,我必须将其更改为 X_1,X_2...X_10 以便之后使用求解器。
array = [0; 0; NaN; 0; 0; 0; 0; NaN; 0];
改成:
array = [0; 0; x_1; 0; 0; 0; 0; x_2; 0];
但它必须是具有不同 NaN 的数组的通用解决方案。
非常感谢您的帮助和时间。
【问题讨论】:
-
你不能有一个包含数字和符号变量的标准数组。所有条目必须具有相同的数据类型。您可以使用单元格数组让每个单元格包含不同的类型。但这看起来很奇怪。您确定需要混合数字和符号内容吗?
-
我给定了一个表示变量的 NaN 数组,但由于我正在编写求解器,因此提供的数据可以有 2、3、4 个 NaN,它们是 N 个变量。所以简而言之,我想找到第一个 NaN 替换为 x_1,第二个替换为 x_2 ... 然后有一个包含 0 和变量的数组来运行求解器。感谢您的宝贵时间。
-
那么你需要一个 symbolic 数组吗?如果是这种情况,请添加“符号数学”标签,以便有知识的人可以提供帮助
-
是的,加上你所说的,我可以得到一个包含 NaN 和数值的数组。但是只需要将 NaN 更改为符号变量。因此,如果可能的话,我需要在数组中包含数值和符号系统,但可能还有其他方法可以解决这个问题。
标签: matlab symbols symbolic-math solver