用 Maxima 中的零替换某些矩阵元素
Replace certain matrix elements with zeros in Maxima
我正在尝试将等于 und
的矩阵帽子的元素更改为零。我尝试用矩阵图完成此操作,但没有成功:
und_to_zero(element) := block( [], if ( is( element = und ) then element : 0 ) else ( ) );
Ma : matrix([25,40,0,und,und],[und,und,15,20,20]);
MaCalc : copymatrix(Ma);
MaCalc: matrixmap(und_to_zero, MaCalc);
这会在 Moodle 上引发 check maxima connection
错误。我的猜测是问题出在我在函数定义中的条件构造 und_to_zero
,但我不确定我做错了什么。
谁能帮我找出错误?
事实证明你实际上必须在 else
分支中指定你想要完成的事情:
und_to_zero(element) := block( [], if is( element = und ) then element : 0 else element:element );
我认为实现相同效果的更简洁的方法是 MaCalc: subst(und = 0, Ma)
。
我正在尝试将等于 und
的矩阵帽子的元素更改为零。我尝试用矩阵图完成此操作,但没有成功:
und_to_zero(element) := block( [], if ( is( element = und ) then element : 0 ) else ( ) );
Ma : matrix([25,40,0,und,und],[und,und,15,20,20]);
MaCalc : copymatrix(Ma);
MaCalc: matrixmap(und_to_zero, MaCalc);
这会在 Moodle 上引发 check maxima connection
错误。我的猜测是问题出在我在函数定义中的条件构造 und_to_zero
,但我不确定我做错了什么。
谁能帮我找出错误?
事实证明你实际上必须在 else
分支中指定你想要完成的事情:
und_to_zero(element) := block( [], if is( element = und ) then element : 0 else element:element );
我认为实现相同效果的更简洁的方法是 MaCalc: subst(und = 0, Ma)
。