See marketing brochure draft with feature matrix and pricing. Dropbox - Curve - Marketing WIP.pdf - Simplify your life
Anyone who engages in early beta and help us improve/test the product would receive discount/free months once we enter the commercial phase.
i am a engineering student and i have to do a lot of numerical processing, plots, simulations etc. The tool that i use currently is Matlab. I use it in my university computers for most of my assignments. However, i want to know what are the free options available.
i have done some research and many have said that python is a worthy replacement for matlab in various scenarios. i want to know how to do all this with python. i am using a mac so how do i install the different python packages. what are those packages? is it really a viable alternative? what are the things i can and cannot do using this python setup?
I've done exactly this (replace Matlab with Python) about 2 years ago and haven't looked back. The broadcasting in Python, more intuitive memory model and other Numpy advantages make numerical work a complete pleasure. Plus with f2py, cython it is incredibly easy to put inner loops in another language. This is a good place to start - other impressive pages to provide motiviation are PerformancePython and ParallelProgramming. Be sure to understand Pythons "variable is a reference to an object" semantics... after that adjustment everything is plain sailing. One of the coolest things that beats matlab is in 2 lines I run over 8 cores... p = Pool(8); res = p.map(analysis_function,list_of_data) - MATLAB parallels toolboxes are so expensive I've yet to see a University that actually has them.
Then, by all means, use Matlab. Otherwise, if you have data structures other than matrices, want an open-source option that allows you to deliver solutions without worrying about licenses, and need to build on platforms that mathworks does not support; then, go with Python.
The matlab language is clunky, but the user interface is slick. The Python language is very nice -- with iterators, generators, and functional programming tools that matlab lacks; however, you will have to pick and choose to put together a nice slick interface if you don't like (or can't use) SAGE.
This section outlines all of the capabilities of each platform. In short everything Matlab can do, Python can also do plus much more. However, things like linear algebra and rapid prototyping Matlab does more cleanly.
Everything in Matlab is ready bundled and toolboxes are seamlessly integrated. It is also much more mature - but was not designed for general purpose programming meaning anything not linear algebra related is painful to implement.
There are some new python IDEs which are starting to compete with some of MATLAB's key advantages. I personally like PyCharm which was recently released as a free community version. It has the following capabilities and is very well designed from a UI perspective.
Try Sage - it is designed as an open source replacement for Matlab, Mathematica etc. It is implemented in Python and can be scripted with Python, but it also adds a lot of maths-specific features. There is an installer for the Mac, so you will not need to download lots of individual packages.
There is also GNU Octave - another open source alternative to Mathematica/Matab that has its own programming language. However I have not found any information on a Mac version (though I have not looked very hard).
python(x,y) is quite powerful, but only for Windows or Linux so you'll have to use bootcamp or Linux. A more lightweight package for mathematics is Matplotlib, which basically adds plotting abilities to the Python language (better used together with IPython).
My sense is that for pure numerical/linear algebra computations and visualization Matlab is a slightly more consistent development environment. Numpy/Scipy/Matplotlib feel, to me, a bit haphazard. If you are building a full program -- to automate a system or display results on a webpage -- Python the advantage of being a real programming language first and foremost. But for interactive numerical processing I think Matlab still wins. The lack of element wise infix operators in Python is one small example (PEP 225). For statistical computing, data exploration and visualization, it is hard to beat R.
Then, Matlab displays as follows with an error message "Timeout expired before operation could complete.". I extended the seconds(1) to seconds(60), however, I got the same error message. I've searched/googled to find the solution, however, I could not find any useful information.
With your USB-2408 connected to your Windows system, close MATLAB and open MCC's InstaCal. Which version of InstaCal do you have installed? Verify the USB-2408 has its analog input channels configured for voltage.
If you continue to have an issue, enter 'ver' in the Command Window and send me the results. (Note: Remove your MATLAB License Number before posting.) Also, send me a screen capture of MATLAB's Add-On Manager; see my list below.
The current version of Instacal is 6.60. It is a bit complicated how I installed Instacal. I downloaded the support package from MathWork website and installed it. It is ver. 6.60. The problem was that it did not detect the USB-2408. So, I uninstalled it. Then, I downloaded from mccdaq.com and installed ver. 6.74. Then, I opened "C:\Program Files (x86)\Measurement Computing\DAQ" and copied the following files. After that, I uninstalled ver. 6.74 and re-installed 6.60, which I downloaded from MathWork website. Then, I pasted the following files to "C:\Program Files (x86)\Measurement Computing\DAQ". Then, it was able to detect the USB-2408.
Launch InstaCal to confirm detection of the USB-2408 and to verify the channel configurations are set to 'voltage'. (Note: Temperature measurements via MCC devices are not supported in MATLAB.) Afterwards, close InstaCal and launch MATLAB to run your code.
Please restart your Windows 11 system and then open your MATLAB R2023a release. Click on the 'Add-Ons' menu option and select 'Manage Add-Ons'. Does the list show the 'Data Acquisition Toolbox Support Package for Measurement Computing Hardware'?
If the Measurement Computing support package is listed, then please uninstall the 'Data Acquisition Toolbox Support Package for Measurement Computing Hardware' from the Add-On manager. To uninstall the package, click on the vertical ellipsis at the far right and select 'Uninstall'.
I found this instruction before I asked. I did this steps several times, but didn't work. The problem is that it installs ver. 6.60, and it did not detect the device. Would you inform how I can upgrade to ver. 6.74 after installing 6.60?
Restart your Windows target system and then launch MATLAB. Please uninstall the 'Data Acquisition Toolbox Support Package for Measurement Computing Hardware' using the Add-On manager. To uninstall the package, click on the vertical ellipsis at the far right and select 'Uninstall'.
Restart your system and then go back into MATLAB. Use the Add-On manager to search for the 'Data Acquisition Toolbox Support Package for Measurement Computing Hardware'. Click on the 'Install' pull-down option and select 'Install'.
Next, connect (or cycle the USB connection to) your USB-2408 to the target system. Launch InstaCal. Go to HELP - ABOUT to confirm that it is the latest version. Close the ABOUT window. The USB-2408 should have been detected and should appear in the list. Verify the channel configurations are set to 'voltage'. (Note: Temperature measurements via MCC devices are not supported in MATLAB.) Afterwards, close InstaCal and launch MATLAB to confirm the 'mcc' vendor is operational ('true') and the USB-2408 appears with the daqlist (or with daq.getDevices) command.
Thank you for your reply. I followed your instruction step-by-step. Matlab detects USB-2408. However, if I run "[data, startTime] = read(dq, seconds(1));", I got the following error message as before.
Update: After trying with virtualbox, I believe it will not be a good option, because it only run with the ram allocated for it. Seems like I can only purchase a new license, if I don't want to dual-boot, which is quite not convenient.
If you cannot get a license that is valid on Linux, running Windows 7 (or any Windows) and Matlab with VirtualBox or KVM is certainly an option. The biggest issue is that a significant amount of RAM will be wasted for Windows.
You can obtain a linux version of matlab via the "less official" sources and then use your windows license, I'm fairly sure this will work. And since you paid for the license, I wouldn't consider this illegal.
I recently spent a couple of weeks without an individual MATLAB license at work. Of course, I had the chance to use workstations with shared licenses in the office to continue working in Model-Based software development. For that kind of activity, you can't just go around the license problem.
In each entry, I will share a simple but practical example of how to do a certain task with MATLAB, but using Python instead. Probably some of the code can be improved, but I think it can be useful to see these examples if you are a beginner like me.
7fc3f7cf58