Заменить некоторые матричные элементы нулями в Maxima - PullRequest
0 голосов
/ 27 ноября 2018

Я пытаюсь изменить элементы матрицы шляпы, равные 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);

Это выдает ошибку check maxima connection на Moodle.Я предполагаю, что проблема заключается в моей условной конструкции в определении функции und_to_zero, но я не совсем уверен, что я делаю неправильно.

Может кто-нибудь определить ошибку для меня?

Ответы [ 2 ]

0 голосов
/ 27 ноября 2018

Я думаю, что более короткий способ добиться того же эффекта - сказать MaCalc: subst(und = 0, Ma).

0 голосов
/ 27 ноября 2018

Оказывается, вам действительно нужно указать, чего вы хотите достичь в else ветви:

und_to_zero(element) := block( [], if  is( element = und ) then element : 0  else element:element );
...