matlab - 如何使用 syms 来寻址 N 个不同的变量

标签 matlab

我的方程系统需要 N 个变量:

X = cell(N,1)
for k=1:N
    X(k) = {sym('X(k)')};
end

创建这些变量后,我想在方程系统中使用它们:

for i=1:N
    for j=1:N
        if i~=j
            S(i)=sum(X(j))
        end
    end
    f(i)=x(i)+2*S(i)+3
end

我收到错误输入参数类型“cell”的未定义函数“sum”。我应该如何在不使用“cell”的情况下定义变量X(1),...X(N)

最佳答案

根据sym documentation你可以使用例如。 A = sym('A%d%d', [2 2]); 创建符号矩阵。

你是这个意思吗?

N = 5;
% Initialize symbolic matrices with proper size
X = sym('x%d', [N 1]);
S = sym(zeros(N, 1));
f = sym(zeros(N, 1));

for i=1:N
    for j=1:N
        if i~=j
            S(i) = S(i) + X(j);
        end
    end
    f(i)=X(i)+2*S(i)+3;
end

关于matlab - 如何使用 syms 来寻址 N 个不同的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17027187/

相关文章:

c++ - 如何使用 Boost 库构建 MEX 函数?

c++ - 从 MATLAB 调用 MEX 中 C++ 类的方法

matlab - 如何从 MATLAB 执行 dos 命令并立即将控制权返回给 MATLAB(不生成 dos 窗口)

matlab - 检查数据是否存在于另一个矩阵中,如果存在,则替换它

Matlab:如何在没有 Tab 的情况下激活自动完成?

MATLAB set class `size`(类上的重载操作)

matlab - 检测柱状文本文件中的列数

matlab - MATLAB 生成低精度随机数

image - 在matlab中重命名图像文件名

matlab - 如何改变Matlab中的循环条件?