Чтобы быть очень ясным и практичным:
Заглушка: класс или объект, который реализует методы класса / объекта, которые нужно подделать, и всегда возвращает то, что вы хотите.
Пример в JavaScript:
var Stub = {
method_a: function(param_a, param_b){
return 'This is an static result';
}
}
Макет: то же самое с заглушкой, но он добавляет некоторую логику, которая «проверяет», когда вызывается метод, так что вы можете быть уверены, что какая-то реализация вызывает этот метод.
Как говорит @mLevan, представьте в качестве примера, что вы тестируете класс регистрации пользователей. После вызова Save, он должен вызвать SendConfirmationEmail.
Очень глупый код. Пример:
var Mock = {
calls: {
method_a: 0
}
method_a: function(param_a, param_b){
this.method_a++;
console.log('Mock.method_a its been called!');
}
}
Один из способов сделать это - создать образец функции на регулярной 2D-сетке. Затем вы можете запустить такой алгоритм, как марширующие квадраты на результирующей 2D-сетке для рисования изоконтуров.
В связанном вопросе кто-то также связался с исходным кодом gnuplot. Это довольно сложно, но, возможно, стоит пройти через это. Вы можете найти его здесь: http://www.gnuplot.info/
я думаю,
в Matlab вы даете массив в качестве входных данных для x.
затем для каждого x он вычисляет y.
затем рисует линию от x0, y0 до x1 , y1
затем рисует линию от x1, y1 до x2, y2
...
...
Итерируйте значение x
по диапазону, который вы хотите построить. . Для каждого фиксированного значения x решите уравнение численно, используя такой метод, как деление интервалов пополам или метод Ньютона-Рафсона (для которого вы можете вычислить производную с помощью неявного дифференцирования или, возможно, дифференцировать численно). Это даст вам соответствующее значение y
для данного x
. В большинстве случаев вам не понадобится слишком много итераций, чтобы получить очень точный результат, и в любом случае он очень эффективен.
Обратите внимание, что вам нужно будет преобразовать уравнение в форму f (x) = 0
, хотя это всегда тривиально. Хорошая особенность этого метода заключается в том, что он работает точно так же и в обратном направлении (т. Е. Берется фиксированный диапазон y
и вычисляется x
на значение).