simplest way to print equations

3 次查看(过去 30 天)
given large A,b how to print the equations A(1,1) x_1 +A(1,2) x_2+..=b(1)
and preferably least amount of technicality?
  2 个评论
Walter Roberson
Walter Roberson 2015-9-14
print them to what output?
Is x_1 intended to indicate x subscript 1? As in you want literal 'x' and a subscript to appear?
Standardtrickyness
Standardtrickyness 2015-9-18
yes I want literally 'x_1' just print them as strings are probably fine

请先登录,再进行评论。

回答(1 个)

Walter Roberson
Walter Roberson 2015-9-18
part1 = arrayfun(@(col) strcat( cellstr(num2str(A(:,col))), sprintf(' x_%d', col) ), 1:size(A,2), 'Uniform', 0);
part2 = horzcat(part1{:});
part3 = arrayfun(@(row) strjoin(part2(row,:), ' + '), 1:size(A,1), 'Uniform', 0);
part4 = strcat(part3(:), {' = '}, cellstr(num2str(b(:)) ));
part4 is now a cell array of strings, one per row in A

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by