green_fr (green_fr) wrote,
green_fr
green_fr

Categories:

Excel vs. MatLab

Понадобилось посчитать на Excel сумму всех положительных чисел колонки. И вот тут-то и увидел принципиальную разницу %subj%.
Грубо говоря, если на Excel написать =Sum (Iif (range > 0; range; 0)), то вылезает ошибка. Функция Iif работает только со скалярами, а я ей подсовываю матрицу, и хочу матрицу в ответ. В то время как MatLab, рассматривающий скаляры, как матрицы 1*1, успешно проглатывает аналогичное выражение.

FYI: У Excel есть-таки хитрость, позволяющая применить скалярную функцию поэлементно к матрице. Набрав указанную формулу, нужно нажать не Enter, а Ctrl-Shift-Enter, тогда формула будет восприниматься как матричная. Т.е. именно то, что genem называл коралловым островом: при отсутствии "правильной" архитектуры разработчики начинают залатывать дыры с помощью хитрых кнопочек, дополнительных функций, которые друг с другом рано или поздно начинают конфликтовать. Что лечится новыми специальными кнопочками, и т.д., и т.п.
Tags: rabota
Subscribe

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 14 comments