📄 mmon.m
字号:
function y = mmon(x,degmin,degmax)
% @MPOL/MMON - Generate monomials
%
% MMON(X,DEG) returns a column vector containing all% the monomials of degrees up to DEG of the variables in X%% MMON(X,DEGMIN,DEGMAX) returns all the monomials of degrees% between DEGMIN and DEGMAX
% D. Henrion, 10 April 2004
% Last modified on 23 November 2006
if nargin < 2 error('Missing second input argument')endif ~isa(x,'mpol') error('Invalid first input argument')endif ~isa(degmin,'double') error('Invalid second input argument')endif nargin == 2 degmax = degmin; degmin = 0;elseif ~isa(degmax,'double') error('Invalid third input argument')elseif degmax < degmin tmp = degmax; degmax = degmin; degmin = degmax;enddegmin = floor(max(degmin,0));degmax = floor(max(degmax,0));iv = indvar(x);
nvar = length(iv); % number of variables
if nvar == 0
error('No variables in first input argument')
end
% Generate powers
vpow = [];for k = degmin:degmax vpow = [vpow;genpow(nvar,k)];
end
% Build monomial vector entrywise
% by calling constructor @MPOL/MPOL
dm = size(vpow,1);
var = cell(dm,1);
pow = var;
coef = var;
for k = 1:dm
var{k} = iv;
pow{k} = vpow(k,:);
coef{k} = 1;
end
y = struct('var',var,'pow',pow,'coef',coef);
y = reduce(mpol(y));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -