Перейти к содержанию
    

Как сравнить два вектора в SPICE?

Написал SPICE-модель, и было бы интересно в спайсе сразу построить вектор пересечений выходной кривой с другой кривой. Посмотрел на встроенные функции работы с векторами и не нашел там ничего подходящего.

 

А так опреация простейшая: сравнить два вектора, и из совпадающих элементов построить третий. Или для этого надо экспортировать результаты в MATLAB?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во-первых, там есть обыкновенные циклы (while, repeat, foreach, ...), так что можно сделать все что угодно. А может и эта функция поможет:

man nutmeg:

diff plot1 plot2 [vec ...]

Compare all the vectors in the specified plots, or only the named

vectors if any are given. There are different vectors in the two

plots, or any values in the vectors differ significantly the dif-

ference is reported. The variables abstol, reltol, and vntol are

used to determine what "significantly" means (see the SPICE3 User's

Manual).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то не получается никак циклами. А diff - оч. ограниченная функция, позволяющая только находить отличия кривых на двух графиках...

 

Во-первых, там есть обыкновенные циклы (while, repeat, foreach, ...), так что можно сделать все что угодно. А может и эта функция поможет:

man nutmeg:

diff plot1 plot2 [vec ...]

        Compare all the vectors in the specified plots, or only  the  named

        vectors  if  any  are given. There are different vectors in the two

        plots, or any values in the vectors differ significantly  the  dif-

        ference  is  reported.  The variables abstol, reltol, and vntol are

        used to determine what "significantly" means (see the SPICE3 User's

        Manual).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как это может не получаться циклами то -- циклами можно написать совершенно любую программу. Ну например (не тестировал),

 

let i = 0

repeat length(a)

if(abs(a - b) le 0.001)

r = a

end

i = i + 1

end

 

Если не получилось, то напиши хотя бы что пробовал и какие сообщения об ошибках получил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...