X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=octave_packages%2Focs-0.1.3%2Fsbn%2FMinductors.m;fp=octave_packages%2Focs-0.1.3%2Fsbn%2FMinductors.m;h=219a922ec40e6f6a74129c3b024589bbaec5b83b;hb=f5f7a74bd8a4900f0b797da6783be80e11a68d86;hp=0000000000000000000000000000000000000000;hpb=1705066eceaaea976f010f669ce8e972f3734b05;p=CreaPhase.git diff --git a/octave_packages/ocs-0.1.3/sbn/Minductors.m b/octave_packages/ocs-0.1.3/sbn/Minductors.m new file mode 100644 index 0000000..219a922 --- /dev/null +++ b/octave_packages/ocs-0.1.3/sbn/Minductors.m @@ -0,0 +1,77 @@ +## Copyright (C) 2006,2007,2008 Carlo de Falco +## +## This file is part of: +## OCS - A Circuit Simulator for Octave +## +## OCS is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program (see the file LICENSE); if not, +## see . +## +## author: Carlo de Falco + +## -*- texinfo -*- +## +## @deftypefn{Function File} @ +## {[@var{a},@var{b},@var{c}]=}Minductors(@var{string},@var{parameters},@ +## @var{parameternames},@var{extvar},@var{intvar},@var{t}) +## +## SBN file implementing models for inductors. +## +## @var{string} is used to select among models. Parameters are listed +## as inner items. Possible models are: +## +## @enumerate +## @item @var{string} = "LIN" (Linear inductor model) +## @itemize @minus +## @item L -> inductance value +## @end itemize +## @end enumerate +## +## See the @cite{IFF file format specifications} for details about +## the output structures. +## +## @seealso{prs_iff,asm_initialize_system,asm_build_system} +## @end deftypefn + +function [a,b,c] = Minductors (string,parameters,parameternames,extvar,intvar,t) + + if isempty(intvar) + intvar = [0 0]; + endif + + switch string + + case "LIN" + for ii=1:length(parameternames) + eval([parameternames{ii} "=" num2str(parameters(ii)) ";"]) + endfor + + phi = intvar(1); + jl = intvar(2); + + a = [0 0 0 0; + 0 0 0 0; + 0 0 1 0; + 0 0 0 0]; + + b = [0 0 0 1; + 0 0 0 -1; + -1 1 0 0; + 0 0 1 -L]; + + c = [0 0 0 0]'; + otherwise + error (["unknown section:" string]) + endswitch + +endfunction + \ No newline at end of file