Difference between revisions of "Idxof.m"
(Created page with "{{DISPLAYTITLE:function.m}} __NOTOC__ Allows interaction specification by spin label rather than number. ==Syntax== idx=idxof(sys,label) ==Arguments== sys - Sp...") |
(Update function See also links and function index membership) |
||
| (6 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | {{DISPLAYTITLE: | + | {{DISPLAYTITLE:idxof.m}} __NOTOC__ |
Allows interaction specification by spin label rather than number. | Allows interaction specification by spin label rather than number. | ||
| Line 6: | Line 6: | ||
idx=idxof(sys,label) | idx=idxof(sys,label) | ||
| − | == | + | ==Parameters== |
sys - Spinach input structure that | sys - Spinach input structure that | ||
| Line 36: | Line 36: | ||
% Scalar couplings (DFT signs and disambiguation) | % Scalar couplings (DFT signs and disambiguation) | ||
inter.coupling.scalar=cell(14,14); | inter.coupling.scalar=cell(14,14); | ||
| − | inter.coupling.scalar{idxof(sys,'C1'),idxof(sys,'Ha')}= +155.90; | + | inter.coupling.scalar{idxof(sys,'C1'),idxof(sys,'Ha')}= +155.90; |
| − | inter.coupling.scalar{idxof(sys,'C1'),idxof(sys,'Hb')}= +160.04; | + | inter.coupling.scalar{idxof(sys,'C1'),idxof(sys,'Hb')}= +160.04; |
inter.coupling.scalar{idxof(sys,'C1'),idxof(sys,'Hd1')}= +5.48; | inter.coupling.scalar{idxof(sys,'C1'),idxof(sys,'Hd1')}= +5.48; | ||
inter.coupling.scalar{idxof(sys,'C1'),idxof(sys,'Hd2')}= +5.48; | inter.coupling.scalar{idxof(sys,'C1'),idxof(sys,'Hd2')}= +5.48; | ||
| Line 43: | Line 43: | ||
inter.coupling.scalar{idxof(sys,'C2'),idxof(sys,'Hd1')}= -4.47; | inter.coupling.scalar{idxof(sys,'C2'),idxof(sys,'Hd1')}= -4.47; | ||
inter.coupling.scalar{idxof(sys,'C2'),idxof(sys,'Hd2')}= -4.47; | inter.coupling.scalar{idxof(sys,'C2'),idxof(sys,'Hd2')}= -4.47; | ||
| − | inter.coupling.scalar{idxof(sys,'C2'),idxof(sys,'Ha')}= -3.14; | + | inter.coupling.scalar{idxof(sys,'C2'),idxof(sys,'Ha')}= -3.14; |
| − | inter.coupling.scalar{idxof(sys,'C2'),idxof(sys,'Hb')}= -0.85; | + | inter.coupling.scalar{idxof(sys,'C2'),idxof(sys,'Hb')}= -0.85; |
inter.coupling.scalar{idxof(sys,'C3'),idxof(sys,'Hd1')}=+149.15; | inter.coupling.scalar{idxof(sys,'C3'),idxof(sys,'Hd1')}=+149.15; | ||
inter.coupling.scalar{idxof(sys,'C3'),idxof(sys,'Hd2')}=+149.15; | inter.coupling.scalar{idxof(sys,'C3'),idxof(sys,'Hd2')}=+149.15; | ||
inter.coupling.scalar{idxof(sys,'C3'),idxof(sys,'Hc')}= -13.87; | inter.coupling.scalar{idxof(sys,'C3'),idxof(sys,'Hc')}= -13.87; | ||
| − | inter.coupling.scalar{idxof(sys,'C3'),idxof(sys,'Ha')}= +4.63; | + | inter.coupling.scalar{idxof(sys,'C3'),idxof(sys,'Ha')}= +4.63; |
| − | inter.coupling.scalar{idxof(sys,'C3'),idxof(sys,'Hb')}= +7.97; | + | inter.coupling.scalar{idxof(sys,'C3'),idxof(sys,'Hb')}= +7.97; |
inter.coupling.scalar{idxof(sys,'C4'),idxof(sys,'Hd1')}= +3.20; | inter.coupling.scalar{idxof(sys,'C4'),idxof(sys,'Hd1')}= +3.20; | ||
inter.coupling.scalar{idxof(sys,'C4'),idxof(sys,'Hd2')}= +3.20; | inter.coupling.scalar{idxof(sys,'C4'),idxof(sys,'Hd2')}= +3.20; | ||
| Line 69: | Line 69: | ||
inter.coupling.scalar{idxof(sys,'Hb'),idxof(sys,'Hd2')}= -1.30; | inter.coupling.scalar{idxof(sys,'Hb'),idxof(sys,'Hd2')}= -1.30; | ||
inter.coupling.scalar{idxof(sys,'Hc'),idxof(sys,'Hd1')}= +5.95; | inter.coupling.scalar{idxof(sys,'Hc'),idxof(sys,'Hd1')}= +5.95; | ||
| − | inter.coupling.scalar{idxof(sys,'Hc'),idxof(sys,'Hd2')}= +5.95; | + | inter.coupling.scalar{idxof(sys,'Hc'),idxof(sys,'Hd2')}= +5.95; |
| − | |||
| − | |||
| − | |||
==See also== | ==See also== | ||
| − | + | [[chemshifts.m]], [[cubic_lattice.m]], [[dilute.m]], [[get_coupling.m]], [[gtensorof.m]], [[iselectron.m]], [[isnucleus.m]], [[isoswap.m]], [[kill_spin.m]], [[nearest_spin.m]], [[shift_iso.m]], [[Spin system specification]], [[Import,_export,_and_visualisation]], [[Kernel_utilities]] | |
| − | |||
| − | ''Version 2.8, authors: [[Ilya | + | ''Version 2.8, authors: [[Ilya Kuprov]]'' |
Latest revision as of 19:37, 6 June 2026
Allows interaction specification by spin label rather than number.
Syntax
idx=idxof(sys,label)
Parameters
sys - Spinach input structure that
includes a sys.labels field
with unique labels
label - label whose index is to be returned
Outputs
idx - the index of the spin, an integer
Examples
The following spin system specification, where chemists had provided the parameters using their own labels, would have been laborious and error-prone without the ability to refer to spins by their chemical labels.
% Magnet induction
sys.magnet=9.3946;
% Spin system
sys.isotopes={'13C','13C','13C','13C','13C','13C',...
'1H','1H','1H','1H','1H','1H','1H','1H'};
sys.labels={'C1','C2','C3','C4','C5','C6',...
'Ha','Hb','Hc','Hd1','Hd2','He1','He2','He3'};
% Chemical shifts
inter.zeeman.scalar={120.05 130.70 66.90 160.50 191.70 26.80 ...
5.40 5.32 5.97 4.74 4.74 2.48 2.48 2.48};
% Scalar couplings (DFT signs and disambiguation)
inter.coupling.scalar=cell(14,14);
inter.coupling.scalar{idxof(sys,'C1'),idxof(sys,'Ha')}= +155.90;
inter.coupling.scalar{idxof(sys,'C1'),idxof(sys,'Hb')}= +160.04;
inter.coupling.scalar{idxof(sys,'C1'),idxof(sys,'Hd1')}= +5.48;
inter.coupling.scalar{idxof(sys,'C1'),idxof(sys,'Hd2')}= +5.48;
inter.coupling.scalar{idxof(sys,'C2'),idxof(sys,'Hc')}= +159.05;
inter.coupling.scalar{idxof(sys,'C2'),idxof(sys,'Hd1')}= -4.47;
inter.coupling.scalar{idxof(sys,'C2'),idxof(sys,'Hd2')}= -4.47;
inter.coupling.scalar{idxof(sys,'C2'),idxof(sys,'Ha')}= -3.14;
inter.coupling.scalar{idxof(sys,'C2'),idxof(sys,'Hb')}= -0.85;
inter.coupling.scalar{idxof(sys,'C3'),idxof(sys,'Hd1')}=+149.15;
inter.coupling.scalar{idxof(sys,'C3'),idxof(sys,'Hd2')}=+149.15;
inter.coupling.scalar{idxof(sys,'C3'),idxof(sys,'Hc')}= -13.87;
inter.coupling.scalar{idxof(sys,'C3'),idxof(sys,'Ha')}= +4.63;
inter.coupling.scalar{idxof(sys,'C3'),idxof(sys,'Hb')}= +7.97;
inter.coupling.scalar{idxof(sys,'C4'),idxof(sys,'Hd1')}= +3.20;
inter.coupling.scalar{idxof(sys,'C4'),idxof(sys,'Hd2')}= +3.20;
inter.coupling.scalar{idxof(sys,'C4'),idxof(sys,'He1')}= +1.60;
inter.coupling.scalar{idxof(sys,'C4'),idxof(sys,'He2')}= +1.60;
inter.coupling.scalar{idxof(sys,'C4'),idxof(sys,'He3')}= +1.60;
inter.coupling.scalar{idxof(sys,'C5'),idxof(sys,'He1')}= -6.69;
inter.coupling.scalar{idxof(sys,'C5'),idxof(sys,'He2')}= -6.69;
inter.coupling.scalar{idxof(sys,'C5'),idxof(sys,'He3')}= -6.69;
inter.coupling.scalar{idxof(sys,'C6'),idxof(sys,'He1')}=+129.73;
inter.coupling.scalar{idxof(sys,'C6'),idxof(sys,'He2')}=+129.73;
inter.coupling.scalar{idxof(sys,'C6'),idxof(sys,'He3')}=+129.73;
inter.coupling.scalar{idxof(sys,'Ha'),idxof(sys,'Hb')}= -1.30;
inter.coupling.scalar{idxof(sys,'Ha'),idxof(sys,'Hc')}= +17.40;
inter.coupling.scalar{idxof(sys,'Hb'),idxof(sys,'Hc')}= +10.39;
inter.coupling.scalar{idxof(sys,'Ha'),idxof(sys,'Hd1')}= -1.50;
inter.coupling.scalar{idxof(sys,'Ha'),idxof(sys,'Hd2')}= -1.50;
inter.coupling.scalar{idxof(sys,'Hb'),idxof(sys,'Hd1')}= -1.30;
inter.coupling.scalar{idxof(sys,'Hb'),idxof(sys,'Hd2')}= -1.30;
inter.coupling.scalar{idxof(sys,'Hc'),idxof(sys,'Hd1')}= +5.95;
inter.coupling.scalar{idxof(sys,'Hc'),idxof(sys,'Hd2')}= +5.95;
See also
chemshifts.m, cubic_lattice.m, dilute.m, get_coupling.m, gtensorof.m, iselectron.m, isnucleus.m, isoswap.m, kill_spin.m, nearest_spin.m, shift_iso.m, Spin system specification, Import,_export,_and_visualisation, Kernel_utilities
Version 2.8, authors: Ilya Kuprov