我有一个符号矩阵,我想逐行替换不同的值。我使用了for
循环,它在每次迭代中逐行替换值。但是,如何组合这些迭代来获得矩阵?
e.g。 A=[x x^2;x^3 x^4]
是两行的符号矩阵,我想使用for
循环在第一行中提交1,在第二行中提交2,我想要一个带有替换的两行矩阵。没有for循环它非常简单但是在更高维矩阵的情况下for
循环是有用的。
答案 0 :(得分:0)
如果我正确理解了您的问题,您需要在符号矩阵中对行特定替换进行迭代求解,并将所有结果收集在数值矩阵中。这可以这样实现:
% Define symbolic variables
syms x
A = [x x^2; x^3 x^4];
% substitution values of x for each row
xvals = [1 2];
% iterative substitution in symbolic expression
[Ar,Ac,Ad] = size(A); % Use Ac, Ad for higher dim. matrices if needed
res = zeros(size(A)); % Collect results
for i=1:Ar
x = xvals(i);
res(i,:) = subs(A(i,:));
end
根据您的要求,您可以定义更高的暗淡。符号矩阵和数值矩阵,并在循环中使用res(i,:,k) = subs(A(i,:,k)) where k=1:Ad
进行替换。