I have got a nice, shiny 64bit version of MATLAB running on my nice, shiny 64bit Linux machine and so, naturally, I wanted to be able to use 64 bit integers when the need arose. Sadly, MATLAB had other ideas. On MATLAB 2010a:
At first I thought that there was something wrong with my MATLAB installation but it turns out that this behaviour is expected and documented. At the time of writing, the MATLAB documentation contains the lines
As you surely know, MATLAB first and foremost is a double-precision floating point algorithm platform. Next in importance for its target market is its fixed-point support for real-world signal processing and control design apps. But in such cases, widths larger than 32 bits are rare, and anything between 33 and 53 bits can be emulated quite efficiently in floating point.
abs diag ge le nnz reshape uplus
accumarray display gt linsolve nonzeros round xor
and eq imag logical not sort
bsxfun find isfinite lt nzmax sparsfun
ceil fix isinf max or transpose
conj floor isnan min permute tril
ctranspose full issorted ne real triu
abs bitxor find isinf min real uplus
accumarray bsxfun fix isnan ne reshape xor
and ceil floor issorted nnz round
bitand conj full le nonzeros sort
bitget ctranspose ge linsolve not sparsfun
bitor diag gt logical nzmax transpose
bitset display imag lt or tril
bitshift eq isfinite max permute triu
We use them a lot in orbital mechanics. If you use the center of the Earth as your origin, and need high precision in meters, (we do) then having double precision and 64 bit math is important. Right now we do a lot of code in fortran and C/C++, but it would be nice to have more tools that have the capability. We do use Matlab as a solver, but it would be nice to be able to do more in Matlab.
64-bit operating systems give us 64 bit address space. This gives MATLAB the ability to store many more arrays in memory, or even a few really large arrays. In practice, you need A LOT of memory to support working with arrays this large:
Finally, there is the 64-bit integer data type, which currently exists as a storage class only in MATLAB, with several dozen non-mathematical operations like indexing, concatenation, reshaping, permuting, and so on.
Thanks for the insightful comments. As I put in Update 2 of the original post, the only reason I needed 64bit integers was because an external library expected to have them as input arguments. In my particular application I worked around the lack of 64bit operators by doing my arithmetic with int32s and then cast to int64 at the end. This worked fine but looked inelegant.
I'm interested in evaluating the TI C2000 fixed point DSP solution with Matlab's simulink target program. I've looked at the ezDSP boards, but they are too complex and pricey for an initial evaluation. Is there an alternative solution or board that I could evaluate from?
..No, is not a custom board. The target I use is for RAM application, please go to matlab help for target applications. You must tell to matlab what kind of target are you gonna use, in this case I use the piccolo target for RAM applications. If you want to use Flash you must use the target for Flash applications. You have target for F28335, F2812, F2802x.
I would like to ask how can we debug cuda kernel that is called from a mexfunction with VS 2010 and Nsight. I followed the instructions in _CUDA_to_Process.htm but the attach button is not enabled in order to attach matlab.
It is enough to set the NSIGHT_CUDA_DEBUGGER environment variable just for MATLAB, so you don't have to slow down your entire system by having every process attachable. Quoting NVIDIA's Nsight documentation:
I use Windows 7 x64. I have installed MATLAB 2010a to my computer. After running only the splash screen shows up for a while then program quits. I have found an error log and the first lines of the file says:
The preferred option of how to cite Matlab is to cite documentation of the given version you are using. The used version of Matlab can be found with the command version called directly in Matlab. Example for version 2010a follows:
Hello, im trying to communicate with simulink using arduino target ( -software/arduino-simulink.html ). Im following the instructions that comes with the file and i have done all the steps successfully until the "demo_arduino_blink". When im trying to run the demo_arduino_blink it shows me this error Error in S-function 'demo_arduino_blink/Digital Output': S-Function 'sfunar_digitalOutput' does not exist. Does anybody have experience with this? Im running windows7 x64 and the matlab 2010a and i have allready installed the 64 bit visual studio components.
arduino.Prefs.setArduinoPath('c:\Program Files\arduino*arduino-0021*')
I setup everything but the problem is when Im trying to build demo_arduino_blink this error appear
The call to arduino_make_rtw_hook, during the after_make hook generated the following error:
Download failed. Check your serial connection and and run the command arduino.Prefs.getMcu to check you have specified the correct MCU.
MATLAB R2010a is developed by The MathWorks, Inc. and is used by 279 users of Software Informer. The most popular version of this product among our users is 7.1. The names of program executable files are matlab.exe, deactivate_matlab.exe, $RHXG259.exe and activate_matlab.exe. The product will soon be reviewed by our informers.
RootBox is a 3D dynamic L-systems model of root architecture implemented in a flexible Matlab structure. It allows individual modules and algorithms to be easily interchanged and tailored to specific simulations.
The model includes growth of individual roots according to a growth function, branching at predefined branching angles, and root death. The model can produce a variety of different root systems that compare well to observed images of root systems (Leitner et al. 2010a,c). Root system properties such as root length densities can be computed from the model output. Internal functions can readily be altered to specific requirements. This facilitates the coupling with different soil models and model adaptation for specific experimental designs. Examples of coupling the root growth model with soil models are presented e.g. in Schnepf et al. (2012) who simulated root system phosphate uptake from a rhizotron as affected by root exudation. Leitner et al. (2010b) demonstrated the use of the RootBox model to create a 3D tetrahedral mesh from the root system geometry and the explicit 3D simulation of water and nutrient transport in the soil with static root surfaces as boundaries. Furthermore, RootBox is being used in an algorithm for semi-automated root tracking for the realistic recovery of root system parameters from2Dimages (Leitner et al. 2014).
Both the source code and standalone executable versions ofeDom areavailable for download. Ifyou have MATLAB (version >= 2010a) installed, we recommend thatyou install the source code version. Thiswill allow you to interact with eDom as you would with any other MATLABlibrary or standalone package, manipulate and access the eDom variablesdirectly and integrate them with your own code (particularly useful forpower users), and generally take advantage of the most stable versionof eDom.
Uncompressthe downloaded file to a location of your choosing and make note ofthat directory name. You can then add this directory to yourMATLAB path to interact with the eDom source files directly. To doso, you may either use the graphical interface(Menu-->File-->SetPath...) or via the 'addpath' command in the command line interface(type 'help addpath' in MATLAB for additional information).
The standalone executable version is broken down into twoseparatedownloads. The first consists of the MATLAB component runtime(MCR)which is required to run the standalone software. If you donotalready have this installed on your system, you will need to install itbefore running eDom.
In principle, eDom can be run as a standalone executable onany operating system that runs a current version of MATLAB (2010a+). However, to do so we require access to a machine running thatoperating system and with the MATLAB compiler installed so that we cancompile eDom into a standaloneapplication. Currently, binaries havebeencompiled into standalone executables for the major operating systemsand versions listed below. Contact the authorswith youroperating system information if your system is not currently supported.
Note: It is possible that using an older OR more recentversion ofthe MCR than that used when compiling the standalone binaries of eDommay prevent eDom from running successfully. If you experienceproblems running the standalone version of eDom, please tryreinstalling the MCR with one of the specific versions below.
Notethat by default the MCR may be installed to a common location for allusers and may request 'administrator' or 'root' access when doing so. Although you may choose to install the MCR at this location,itis not necessary, and you may install it for your own useraccountonly and in your personal (home) directory.
Uncompress the archive and run the installer (win:MCRInstaller.exe; linux: MCRInstaller.bin; OSX: MCRInstaller.dmg). Make note of the directory in which you install the MCR asyoumay need this information when running eDom.
- Install matlab and solidworks on same drive (ex: C: or D:). - Right-click on the MATLAB icon, and selecting "Run as Administrator"- Write the command install_addon('smlink.r2014a.win64.zip')(adapt the name of the version to your version, here r2014a ) when on the same directory as the two downloaded files.- Type the following commands one after another: smlink_linkswregmatlabserver- At that point you should be able to enable the SimMechanics plugin in Solidworks with these instructions.
This paper discusses a Video Steganographic scheme that can provide approvable security with high computing speed, by embedding data in video frames. The technique of embedding data in a video file by using LSB before which the secret information is encrypted using symmetric XOR operation, thereby providing two layers of security. Data Hiding and Extraction procedure are experimented successfully. All experiments are done using Matlab 2010a simulation software. This method proves to be more efficient than other methods with the amount of data that can be embedded in it, showing a PSNR of above 30 dB.
b1e95dc632