Newbie: How can I operate with huge data in variables at the workspace?

1 view (last 30 days)
In a test, I have gathered like 200MB of data splited in like 8 variables. I have an array of data for voltage (3000000x1 double) and another for current. I would like to plot the resistance, and I tried in the Command Window:
Resistance= Voltage/Current (as those are the names of the variables)
I get this error:
???Error using==> mldivide Out of memory. Type HELP MEMORY for your options.
This is a very small test compared with another and I really hope it is not because the PC has not RAM to do it!!
Many thanks
  1 Comment
Muthu Annamalai
Muthu Annamalai on 25 Jun 2013
Edited: Muthu Annamalai on 25 Jun 2013
You probably want to do this instead,
Resistance= Voltage./Current; %don't for semi-colon b/c of your data size!
to obtain the element-wise division. Reading the MATLAB tutorial is an excellent way to get started!

Sign in to comment.

Answers (2)

Image Analyst
Image Analyst on 25 Jun 2013
Did you type help memory like it suggested? Or check here: Can you use single variables instead of double? Can you add RAM memory?
Image Analyst
Image Analyst on 25 Jun 2013
Use ./ instead of / to do an element by element division. A single, plain slash means a matrix divide so it has to calculate the inverse. You're essentially doing a least squares regression calculation, which is not what you want to do.

Sign in to comment.

Sergio on 25 Jun 2013
Hi, I typed it but I am quite new here and hoped it was something I was doing wrong instead of the lack of memory of the PC. Do you know how to convert DBL to single? Is it easy? Maybe we should have recorded the data of the resistance in LabVIEW as it is very heavy to manipulate it in a PC afterwards?
Thank you for your answer!!


Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!