using autocorr for different matlab versions - matlab

I'm trying to compute the autocorrelation of my timeseries. This work on my laptop with matlab R2011a, but not on my desktop with matlab R2013a. I read somewhere that the Signal Processing Toolbox needs to be installed, and that is the case on both of my computers. There seems to be no function at all called autocorr, but I can find it again on the matworks documentation for 2014b. I have the same problem with xcorr, although matlab seems to recognize the function ('help xcorr' works, 'help autocorr' not).
How can I fix this?

Related

Data from LabVIEW to Matlab for processing

I want to make a biometric identification system of the ECG/EKG.
Provided that Matlab does not perform Data Acquisition in Real Time (for monitoring), is there any way to make the monitoring and data acquisition in LabVIEW and then work simultaneously with Matlab for signal processing?
You could just get a matlab compatible daq and run everything in matlab. http://www.mathworks.com/products/daq/
You can indeed do some data acquisition with LabView and work simultaneously with Matlab for signal processing by calling the Matlab script node, which executes some Matlab code during vi execution.
You may have some performance issues, though, because both Labview and Matlab have to run on your machine simultaneously.
Question:
is there any way to make the monitoring and data acquisition on
LabView and then work simultaneously with Matlab for signal processing
Answers:
LabVIEW has "MathScript" node which is basic MatLab built into
an add-on. It is not the MatLab toolboxes. It runs native MatLab
code. It also runs slightly faster LabVIEW updates to the code. If
your code runs there, then LabVIEW will pass data natively
to your code. This box does not have direct MatLab toolbox access, so if
you use any special calls then that can cause a problem.
If you have MatLab on the box, then you can call the external MatLab
function/code using mathscript (link), and the MatLab will run
the function.
Clarification:
Real time just means "bounded time" (link), not "instant". If your idea of bounds are loose enough then many systems can work for them. You do not state it in your question - but what do you consider acceptable response time?
I've worked a lot with LabVIEW and Matlab. Personally, I would not use the Math Scripting node and would opt for using the Matlab Automation Server. You can call Matlab from LabVIEW using the ActiveX palette in LabVIEW (See Functions>>Connectivity>>ActiveX>>Automation Open) A couple reasons why I'd go for ActiveX and NOT the MathScript node:
The Math Script node does not allow you to change code dynamically. You must hardcode your data into the Math Script node and any future changes would require a change to LabVIEW's G code and therefore a recompile of your EXE
The Math Script node does not support all functions when compiled to an executable. Most notably graphing functions. See the help file here to read more on this.
Calling Matlab from ActiveX is going to give you a lot more flexibility in regards to how data is passed and processed.

Running Mathematica from MatLab

I need to run some mathematica commands inside matlab codes. Looking around I found there used to be two alternatives for this:
-SMATLink (http://www.mathworks.com/matlabcentral/fileexchange/20573-smatlink-let-matlab-dance-with-mathematica)
-Mathemtica Symbolic Toolbox for MatLab (http://www.mathworks.com/matlabcentral/fileexchange/6044-mathematica-symbolic-toolbox-for-matlab-version-2-0)
Both are old however and won't run on newer versions of MatLab. Does anybody know an alternative? MatLink only seems to interact Mathematica with MatLab by running commands in Mathematica, so it does suit not my needs...
Thanks in advance.

How from script in Matlab 2011a call function from Matlab 2013b?

I have a bunch of scipts and MEX-files that developed for MAtlab 2011a version. They doesn't work on 2013b version. But Matlab 2013b has a function with desired functionality... So how can I run scipts in Matlab 2011a, but with call one function from 2013b version?
I have error
Unexpected Standard exception from MEX file.
What() is:
Device -1: deviceMatrix(): no CUDA-capable device is detected
what looks like unsolvable for me because I cannot rewrite MEX-file.
There is CUDA-device which is detected fine by 2011a version.
I'm asking a particular question. I cannot rewrite MEX-file because I do not want to dive into it - it is not my code and I don't know CUDA and that way that I'm asking for looks like much simpler for me at least at this step of my work. Later if function will fits for me I will think about going to Matlab 2013b version.
Yes, CUDA is aviable on Matlab 2013b.

Workaround for Maple in MATLAB

I am trying to get the MATLAB toolbox SOSTOOLS to work inside a MATLAB R2010b (7.11.0.584) but get the following error:
??? Error using ==> maple at 54 The MAPLE command is not available.
Googling it I found out that MATLAB stopped using Maple at some stage and switched to MuPad.
Short of switching to an older version of MATLAB, is there a known workaround for this situation?
A solution in the form of installing Maple as the symbolic toolbox engine is not possible with your version of Matlab.
This outlines an alternative possible solution, I did not find a concrete workaround that will spare you work. I recommend you contact the authors, or check for octave versions with the same functionality.
The change to MuPad is a problem that's been posted numerous times, and there is a useful discussion of differences between Maple and MuPad here:
http://www.walkingrandomly.com/?p=178
For some commands it looks like a simple translator might work. Most of the implementation would apparently be in parsing the output from MuPad and turning it into what Maple would generate. The input to MuPad and Maple is apparently equal most of the time, but read the doc above.
To write a translator, you redirect calls to maple by placing in your path the following function maple that calls mupad:
function output=maple(input);
%prepare input here (if necessary) ...
output=mupad(input);
% parse the output (if necessary) ...
More likely than not, a naive call to this re-director will not solve the problem without some input/output parsing.

How to use lassoglm in matlab

I have this issue while using the lassoglm function in matlab. My matlab says that the statistics toolbox is installed. However, I couldn't see lassoglm function available in my matlab
Your Matlab version isn't recent enough.
It isn't there on my R2010a version. The documentation on the website is for 2012b.