Error using ==> mrdivide Out of memory
3 次查看(过去 30 天)
显示 更早的评论
Hi, this is my code;
r=10
for i=1:r
Cs=1.17
Cc=2.37
v=0.0000711
kg=0.0457
kp=0.26
Ct=2.18
Kn=0.1
Cm=1.14
T=temperature(i,:);
Vtx=(((2*Cs*Cc*v)*((kg/kp)+(Ct*Kn)))/((1+(3*Cm*Kn))...
*(1+2*(kg/kp)+(2*Ct*Kn))))*(1/T)*(Delta_temperature/Delta_x);
end
Then, there is an error comes out;
??? Error using ==> mrdivide Out of memory. Type HELP MEMORY for your options.
Error in ==> Vtx=(((2*Cs*Cc*v)*((kg/kp)+(Ct*Kn)))/((1+(3*Cm*Kn))...
What is actually happen?
p/s: Delta_temperature & Delta_x already defined...
0 个评论
采纳的回答
Walter Roberson
2017-2-7
You have
T=temperature(i,:);
Vtx=(((2*Cs*Cc*v)*((kg/kp)+(Ct*Kn)))/((1+(3*Cm*Kn))...
*(1+2*(kg/kp)+(2*Ct*Kn))))*(1/T)*(Delta_temperature/Delta_x);
T is a column vector, so 1/T is a request to do a Matrix Right Division. That takes more memory than a plain division -- it would require at least one matrix length(T) by length(T) to build the vandermode matrix, and then some other working memory (quite possibly another matrix the same size as that.)
Perhaps you want 1./T instead of 1/T ?
更多回答(1 个)
Jan
2017-2-7
编辑:Jan
2017-2-7
The dimensions of the already defined variables Delta_temperature and Delta_x matter. If they are [N, 1] and [M, 1] vectors, the result is a [N, M] matrix. It seems like the creation of this matrix exhaust your memory.
There are several methods to cope with this problem:
- Install more RAM
- Consider if this is a bug and you want an elementwise division with the ./ operator.
- Install more RAM
- Close other applications
- Use single precision, if applicabale and accurate enough for the problem
- Install more RAM and care for using a 64 bit Matlab, such that the RAM can be used
- Clear unused variables. Most of all compute large arrays outside the loop and once only
- Check the sizes of the concerned variables - perhaps there is a bug before
- And, you can guess it, install more RAM ;-)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Install Products 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!