900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > matlab符号矩阵分解 在Matlab中将符号分解的输出转换为矩阵表示

matlab符号矩阵分解 在Matlab中将符号分解的输出转换为矩阵表示

时间:2023-07-20 18:59:12

相关推荐

matlab符号矩阵分解 在Matlab中将符号分解的输出转换为矩阵表示

试试这段代码:

aux = char(factor(sym('12345678901234567890'))); % convert to string

aux = regexprep(aux, {'*'}, ''','''); % replace '*' with '',''

result = eval( ['{''',aux,'''}']); % evaluate string expression

% Separate each string into tokens around the '\^' character

factor = cell(1,length(result));

exponent = cell(1,length(result));

for i=1:length(result)

factor{i} = regexpi(result{i}, '(\w*)\^', 'tokens');

if isempty(factor{i})

factor{i} = result{i};

else

factor{i} = char(factor{i}{1});

end

exponent{i} = regexpi(result{i}, '\^(\w*)', 'tokens');

if isempty(exponent{i})

exponent{i} = '1';

else

exponent{i} = char(exponent{i}{1});

end

end

% Converting the cellstr to normal matrices

factors = zeros(length(factor),1);

exponents = zeros(length(exponent),1);

for i=1:length(factor)

factors(i) = str2num(factor{i});

exponents(i) = str2num(exponent{i});

end

clear result factor exponent i aux;实际上解决方案类似于Kokbira的建议。

希望能帮助到你,

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。