Latest revision |
Your text |
Line 574: |
Line 574: |
| }} | | }} |
|
| |
|
| === A circuit with a linear VCVS ===
| |
|
| |
| To parse an IFF format netlist of the VCVS circuit we can use the following command
| |
|
| |
| {{Code|Load the VCVS circuit structure parsing an IFF netlist |<syntaxhighlight lang="octave" style="font-size:13px">
| |
| outstruct = prs_iff ("vcvs");
| |
| </syntaxhighlight>
| |
| }}
| |
|
| |
| The IFF netlist consists of the .cir file named "vcvs.cir" shown below
| |
|
| |
| {{Code|IFF netlist for the VCVS circuit (.cir file)|<syntaxhighlight lang="text" style="font-size:13px">
| |
| %0.1b1
| |
| % A Simple linear VCVS example
| |
| % Input voltage sources
| |
| Mvoltagesources sinwave 2 4
| |
| 1 4
| |
| Ampl f delay shift
| |
| 1 1 0.0 0.0
| |
| 1 0
| |
| END
| |
| % VCVS
| |
| Mvcvs LIN 4 1
| |
| 1 1
| |
| Gain
| |
| 5.0
| |
| 2 0 1 0
| |
| % Resistor
| |
| Mresistors LIN 2 1
| |
| 1 1
| |
| R
| |
| 1
| |
| 1 2
| |
| END
| |
| </syntaxhighlight>
| |
| }}
| |
|
| |
| and of the .nms file named "and.nms shown below
| |
|
| |
| {{Code|IFF netlist for the VCVS circuit (.nms file)|<syntaxhighlight lang="text" style="font-size:13px">
| |
| % 0.1b1
| |
| 1 V_controller
| |
| 2 V_controlled
| |
| </syntaxhighlight>
| |
| }}
| |
|
| |
| The implementation for the VCVS with linear gain is shown below
| |
|
| |
| {{Code|Model evaluator file for simple VCVS model |<syntaxhighlight lang="octave" style="font-size:13px">
| |
| function [a,b,c] = Mvcvs (string, parameters, parameternames, extvar,
| |
| intvar, t)
| |
|
| |
| if isempty(intvar)
| |
| intvar = 0;
| |
| endif
| |
|
| |
| switch string
| |
| ##LCR part
| |
| case "LIN"
| |
| for ii=1:length(parameternames)
| |
| eval([parameternames{ii} "=" num2str(parameters(ii)) ";"])
| |
| endfor
| |
|
| |
| j = intvar (1);
| |
| Vin = extvar (3) - extvar (4);
| |
| V = Vin * Gain;
| |
|
| |
| a = zeros (5);
| |
| b = [0 0 0 0 1;
| |
| 0 0 0 0 -1;
| |
| 0 0 0 0 0;
| |
| 0 0 0 0 0;
| |
| 1 -1 -Gain Gain 0];
| |
|
| |
| c = [0 0 0 0 0];
| |
| break
| |
|
| |
| otherwise
| |
| error (["unknown section:" string])
| |
| endswitch
| |
|
| |
| endfunction
| |
| </syntaxhighlight>
| |
| }}
| |
|
| |
| [[File:VCVS_result.png|thumb| Result of the VCVS simulation]]
| |
|
| |
| To run a simulation with this circuit use the following commands:
| |
|
| |
| {{Code|Run a simple transient simulation with the VCVS circuit |<syntaxhighlight lang="octave" style="font-size:13px">
| |
| >> x = [0 0 0 0]';
| |
| >> t = linspace(0,1,50);
| |
| >> [out, niter] = tst_backward_euler (outstruct, x, t, 1e-6, 100, pltvars, [0 1]);
| |
| </syntaxhighlight>
| |
| }}
| |
|
| |
|
| === Creating a model for a memristor device === | | === Creating a model for a memristor device === |
|
| |
|
| To demonstrate how to write a model evaluator file (SBN file), we | | To demonstrate how to write a model evaluator file (SBN file), we |
| will discuss the simplest memristor model shown in this paper by [[User:KaKiLa| KaKiLa]] et al.: | | will discuss the simplest memristor model shown in this paper by [[User:KaKiLa| KaKiLa]] et al. (Carbajal, J. P. et al.(2015). [http://www.mitpressjournals.org/doi/abs/10.1162/NECO_a_00694?journalCode=neco#.VgFNn9tSukp Memristor models for machine learning]. Neural Computation, 27(3). Learning; Materials Science. doi:10.1162/NECO_a_00694</ref> |
| | |
| Carbajal, J. P. et al. | |
| [http://www.mitpressjournals.org/doi/abs/10.1162/NECO_a_00694?journalCode=neco#.VgFNn9tSukp Memristor models for machine learning]. | |
| Neural Computation, 27(3), 2015. | |
| doi:10.1162/NECO_a_00694 | |
|
| |
|
| The device model is presented in the original paper as | | The device model is presented in the original paper as |
Line 911: |
Line 811: |
|
| |
|
| The results are shown in the figure to the right. | | The results are shown in the figure to the right. |
|
| |
| == Dependencies ==
| |
| === Odepkg ===
| |
|
| |
| Ocs depends on [[Odepkg | ''odepkg'']] that is not anymore part of the [[Octave Forge]] project.
| |
| However, ''odepkg'' still works as of 2020, and instructions to install it are available [[Odepkg | in this wiki]].
| |
|
| |
|
| |
| [[Category:Octave Forge]]
| |