Test notebook for my Mathematica package

test_nma_1.png

test_nma_2.png

test_nma_3.png

test_nma_4.png

copyright Nasser M. Abbasi
Last updated Jan 10, 2017

This notebook tests each function on nma.m, which is package I maintain that contains some useful functions.

test_nma_5.gif

test_nma_6.png

test_nma_7.png

test_nma_8.png

test_nma_9.png

butterd

test_nma_10.png

test_nma_11.png

butterworth digital filter design

test1

test_nma_12.gif

test_nma_13.png

test_nma_14.png

test_nma_15.png

test_nma_16.png

test_nma_17.png

test2

test_nma_18.gif

test_nma_19.png

test_nma_20.png

test_nma_21.png

test_nma_22.png

test_nma_23.png

test_nma_24.gif

test_nma_25.png

butterToBandPass

test_nma_26.png

test_nma_27.png

test1

make a normalized butter low pass analog filter of order 4

test_nma_28.gif

test_nma_29.png

convert to band pass

test_nma_30.gif

test_nma_31.png

Plot the magnitude spectrums

test_nma_32.gif

test_nma_33.gif

butterToBandStop

test_nma_34.png

test_nma_35.png

test1

make a normalized butter low pass analog filter of order 4

test_nma_36.gif

test_nma_37.png

convert to band stop

test_nma_38.gif

test_nma_39.png

Plot the magnitude spectrums

test_nma_40.gif

test_nma_41.gif

butterToHighPass

test_nma_42.png

test_nma_43.png

test1

make a normalized butter low pass analog filter of order 4

test_nma_44.gif

test_nma_45.png

convert to high pass

test_nma_46.gif

test_nma_47.png

test_nma_48.png

Plot the magnitude spectrums

test_nma_49.gif

test_nma_50.gif

butterToLowPass

test_nma_51.png

test_nma_52.png

test1

make a normalized butter low pass analog filter of order 4

test_nma_53.gif

test_nma_54.png

convert the cut off frequency to a new cutoff frequency

test_nma_55.gif

test_nma_56.png

Plot the magnitude spectrums

test_nma_57.gif

test_nma_58.gif

centerImageData

test_nma_59.png

test_nma_60.png

test_nma_61.gif

test_nma_62.png

test_nma_63.png

test_nma_64.png

test_nma_65.gif

test_nma_66.gif

test_nma_67.png

test_nma_68.png

test_nma_69.png

test_nma_70.png

test_nma_71.png

test_nma_72.png

Graphics:Magnitude spectrum

Graphics:Phase spectrum

convertToLCD

test_nma_75.png

test_nma_76.png

test_nma_77.png

test_nma_78.png

test_nma_79.png

test_nma_80.png

diagonalBlockMatrix

test_nma_81.png

test_nma_82.png

test_nma_83.gif

test_nma_84.png

test_nma_85.png

diagonalDominantMatrixQ

test_nma_86.png

test_nma_87.png

test_nma_88.gif

test_nma_89.png

test_nma_90.png

test_nma_91.png

displayHurwitz

test_nma_92.png

test_nma_93.png

test_nma_94.png

Hurwitz Matrix test_nma_95.png root locations Real part of roots
test_nma_96.png
test_nma_97.png
test_nma_98.png 9
test_nma_99.png 6
test_nma_100.png -108
test_nma_101.png -196
test_nma_102.png -196
test_nma_103.gif
-1.71185
-1.00624
-1.00624
0.362161
0.362161

fcPulseTrain

test_nma_104.png

test_nma_105.png

get nth fourier series complex coeff

test_nma_106.gif

-4 0
-3 test_nma_107.png
-2 0
-1 test_nma_108.png
0 test_nma_109.png
1 test_nma_110.png
2 0
3 test_nma_111.png
4 0

formatBinary

test_nma_112.png

test_nma_113.png

test_nma_114.png

test_nma_115.png

test_nma_116.png

test_nma_117.png

test_nma_118.png

test_nma_119.png

test_nma_120.png

test_nma_121.png

test_nma_122.png

test_nma_123.png

generateLTVControllabilityMatrix

test_nma_124.png

test_nma_125.png

test_nma_126.gif

test_nma_127.png

test_nma_128.png

test_nma_129.png

test_nma_130.png

test_nma_131.png

generateLTVObservabilityMatrix

test_nma_132.png

test_nma_133.png

test_nma_134.gif

test_nma_135.png

test_nma_136.png

getButterworthPolynomial

test_nma_137.png

test_nma_138.png

Generate butterworth H(s) given order and cuttoff

test1

test_nma_139.gif

test_nma_140.png

test_nma_141.png

test2

test_nma_142.gif

test_nma_143.png

test_nma_144.png

test3

test_nma_145.gif

test_nma_146.png

test_nma_147.png

test4  find normalized Butterworth

test_nma_148.gif

test_nma_149.png

test_nma_150.png

test 5, even

test_nma_151.gif

test_nma_152.png

test_nma_153.png

getControllableForm

test_nma_154.png

test_nma_155.png

test_nma_156.gif

test_nma_157.png

test_nma_158.gif

test_nma_159.png

test_nma_160.gif

test_nma_161.png

test_nma_162.png

test_nma_163.png

getMagnitudeOfPulseTrainFourierCoeff

test_nma_164.png

test_nma_165.png

test_nma_166.png

test_nma_167.png

getMaxPadding

test_nma_168.png

test_nma_169.png

test_nma_170.gif

test_nma_171.gif test_nma_172.gif

getPhaseOfPulseTrainFourierCoeff

test_nma_173.png

test_nma_174.png

test_nma_175.png

test_nma_176.png

getPositiveAndNegativeTerms

test_nma_177.png

test_nma_178.png

test_nma_179.gif

test_nma_180.png

test_nma_181.png

getStateGainVector

test_nma_182.png

test_nma_183.png

test_nma_184.gif

test_nma_185.png

test_nma_186.gif

test_nma_187.png

hurwitz

test_nma_188.png

test_nma_189.png

test_nma_190.gif

9 6 1 0 0
11 8 3 0 0
0 9 6 1 0
0 11 8 3 0
0 0 9 6 1

kharitonovPoly

test_nma_191.png

test_nma_192.png

test_nma_193.gif

test_nma_194.png
test_nma_195.png
test_nma_196.png
test_nma_197.png

leadingDet

test_nma_198.png

test_nma_199.png

test_nma_200.gif

test_nma_201.png

test_nma_202.png

linspace

test_nma_203.png

test_nma_204.png

test_nma_205.png

test_nma_206.png

test_nma_207.png

test_nma_208.png

test_nma_209.png

test_nma_210.png

test_nma_211.png

test_nma_212.png

test_nma_213.png

test_nma_214.png

makePulseTrain

test_nma_215.png

test_nma_216.png

test_nma_217.gif

test_nma_218.gif

matrix2DLexOrdering

test_nma_219.png

test_nma_220.png

test_nma_221.png

test_nma_222.png

test_nma_223.gif

test_nma_224.png

test_nma_225.png

test_nma_226.png

test_nma_227.gif

test_nma_228.png

test_nma_229.png

test_nma_230.png

test_nma_231.png

test_nma_232.gif

test_nma_233.png

test_nma_234.png

test_nma_235.png

test_nma_236.png

matrix2DredBlackPositions

test_nma_237.png

test_nma_238.png

test_nma_239.gif

test_nma_240.png

test_nma_241.gif

test_nma_242.png

test_nma_243.gif

test_nma_244.png

To apply the 2D Laplacian on a matrix using red-black

test_nma_245.gif

test_nma_246.png

test_nma_247.gif

test_nma_248.png

test_nma_249.png

Try to see how to make this below work (currently I get error, for later....)

test_nma_250.gif

test_nma_251.png

test_nma_252.png

test_nma_253.png

numIt

test_nma_254.png

test_nma_255.png

test_nma_256.gif

test_nma_257.png

test_nma_258.png

numItse

test_nma_259.png

test_nma_260.png

test_nma_261.gif

test_nma_262.png

test_nma_263.png

test_nma_264.gif

test_nma_265.png

test_nma_266.png

plotFourierTransform

test_nma_267.png

test_nma_268.png

test_nma_269.gif

test_nma_270.gif

test_nma_271.gif

poissonMatrixOnSquareDirichlet

test_nma_272.png

test_nma_273.png

test_nma_274.png

test_nma_275.png

test_nma_276.png

test_nma_277.png

test_nma_278.png

test_nma_279.png

polarForm

test_nma_280.png

test_nma_281.png

test_nma_282.gif

test_nma_283.png

quantizationLevel

test_nma_284.png

test_nma_285.png

test_nma_286.gif

test_nma_287.png

snip

test_nma_288.png

test_nma_289.png

test_nma_290.gif

test_nma_291.gif
test_nma_292.gif

str

test_nma_293.png

test_nma_294.png

test_nma_295.gif

stripGraphMouseAppearance

test_nma_296.png

test_nma_297.png

test_nma_298.png

test_nma_299.gif

toOffsetBinary

test_nma_300.png

test_nma_301.png

test_nma_302.gif

test_nma_303.png

test_nma_304.png

test_nma_305.png

test_nma_306.gif

test_nma_307.png

test_nma_308.png

test_nma_309.png

test_nma_310.gif

test_nma_311.png

test_nma_312.png

toOnesComplement

test_nma_313.png

test_nma_314.png

test_nma_315.gif

test_nma_316.png

test_nma_317.png

test_nma_318.png

test_nma_319.gif

test_nma_320.png

test_nma_321.png

test_nma_322.png

test_nma_323.gif

test_nma_324.png

test_nma_325.png

test_nma_326.png

test_nma_327.gif

test_nma_328.png

test_nma_329.png

test_nma_330.gif

test_nma_331.png

test_nma_332.png

test_nma_333.gif

test_nma_334.png

test_nma_335.png

test_nma_336.gif

0.9375 0111
0.875 0111
0.8125 0110
0.75 0110
0.6875 0110
0.625 0101
0.5625 0100
0.5 0100
0.4375 0100
0.375 0011
0.3125 0010
0.25 0010
0.1875 0010
0.125 0001
0.0625 0000
0. 1111
-0.0625 1111
-0.125 1110
-0.1875 1101
-0.25 1101
-0.3125 1101
-0.375 1100
-0.4375 1011
-0.5 1011
-0.5625 1011
-0.625 1010
-0.6875 1001
-0.75 1001
-0.8125 1001
-0.875 1000
-0.9375 1000
-1. 1000

toSignMagnitude

test_nma_337.png

test_nma_338.png

test_nma_339.gif

test_nma_340.png

test_nma_341.png

test_nma_342.png

test_nma_343.gif

test_nma_344.png

test_nma_345.png

test_nma_346.gif

test_nma_347.png

test_nma_348.png

test_nma_349.gif

test_nma_350.png

test_nma_351.png

test_nma_352.gif

test_nma_353.png

test_nma_354.png

test_nma_355.gif

test_nma_356.png

test_nma_357.png

test_nma_358.gif

test_nma_359.png

test_nma_360.png

toTwoComplement

test_nma_361.png

test_nma_362.png

test_nma_363.gif

test_nma_364.png

test_nma_365.png

test_nma_366.png

test_nma_367.gif

test_nma_368.png

test_nma_369.png

test_nma_370.png

Function to obtain Fourier series approximation given fundamental period and complex fourier coefficients 0..N-1

test_nma_371.png

test_nma_372.png

test on a square pulse

test_nma_373.gif

test_nma_374.gif

Funtion to divide polynomial by powers of variable and keep powers in form test_nma_375.png

test_nma_376.gif

test

test_nma_377.gif

test_nma_378.png

test_nma_379.png

test_nma_380.png

test_nma_381.png

Function to convert low pass digital filter to high pass using frequency transformation

test

test_nma_382.gif

test_nma_383.gif
test_nma_384.gif

test2

test_nma_385.gif

test_nma_386.gif
test_nma_387.gif

Function to convert low pass digital filter to bandpass digital filter using frequency transformation

test

test_nma_388.gif

test_nma_389.gif
test_nma_390.gif

Function to convert low pass digital filter to bandstop digital filter by frequency transformation

test

test_nma_391.gif

test_nma_392.gif
test_nma_393.gif

checkForSingularity

test_nma_394.gif

point limit x p(x) limit x^2 q(x)
0 c 0
1 1+a+b-c 0
1-a-b a b

test_nma_395.gif

point limit x p(x) limit x^2 q(x)
-1 1 test_nma_396.png
1 1 test_nma_397.png
0
Created with the Wolfram Language