win7系统,针对安装的matlab7.X版都有用。
官方解释是个bug,具体如下:
Summary
Startup on Windows
platforms can fail; MATLAB splash screen might
appear first
Description
The MATLAB application sometimes fails
to start on Microsoft? Windows platforms. The splash screen us lly
appears briefly, but then no longer
displays.(大致说windows平台下matlab7.X启动时屏幕一闪然后没下文了)
This problem most freqntly been
reported by customers with a d l-core or multi-core PC running
Windows Vista or Windows XP.
This problem has also been reported
under one of these conditions:
When the user's java.opts file
specifies a combined total of more than 256MB of
reserved memory (us lly through
the -Xmx
and/or
-XX:MaxPermSize=
options)
When the platform is Windows? 2000 for the Czech lang ge with
certain startup options
When registering or using MATLAB as a COM Automation
server
When the problem occurs, a
java.log. file,
where is
Process Id number, is created in a location typically defined by
the TEMP environment variable. Some examples of this
location are:
C:\TEMP
C:\Documents and Settings\username\Local
Settings\Temp
C:\Users\username\AppData\Local\Temp
To determine your system's val for
TEMP, type the following at a DOS command
prompt:echo %TEMP%
The java.log reports this
error: Could not
reserve enough space for object heap.
This problem occurs because under certain circumstances, MATLAB
temporarily reserves too m h memory address space during Sun
Microsystems? JVM? software initialization and MATLAB desktop
initialization. MATLAB tries to reserve the memory space to ensure
a large contiguous free block for user data while leaving 256 MB
available for JVM software startup.
Workaround
As a workaround, set the environment
variable to MATLAB_RESERVE_LO=0 by performing these
steps:
In the Windows Control Panel, select System >
Advanced > Environment Variables.
In the User variables for your user name tab, click New.
Enter the name MATLAB_RESERVE_LO and set
the val to 0.
Click OK to save your changes and close the Control Panel.
Log out from your Windows operating system, then
log in. MATLAB should now start correctly.
The workaround effectively disables the
memory reservation, which causes this problem.
The pair of environment variables,
MATLAB_RESERVE_LO and MATLAB_RESERVE_HI,
explicitly define a memory address range that is temporarily
reserved during MATLAB startup (in particular, while the JVM starts
up). That can improve the size of the largest contiguous free block
of memory by displacing one or more DLLs that might otherwise be
loaded within the range.
If these environment variables are not
set, MATLAB Version 7.5 (R2007b) attempts to automatically
calculate the best low and high address reserve range to ensure the
largest possible contiguous free block of memory. The explicit val
of MATLAB_RESERVE_LO=0, as used in the workaround, causes
no reservation to be performed, which might red e the size of the
largest contiguous free block available.
In versions of MATLAB prior to 7.5
(R2007b), when these environment variables were not explicitly set,
the reservation range defaulted to 0x50000000 to
0x70000000.
To see how memory address space is
used, run feature dumpmem in the MATLAB Command Window.
MATLAB lists modules and allocations occupying specific address
ranges.
大致意思是解决办法如下:
右击“我的电脑”>属性>高级>环境变量,新建个环境变量,变量名:MATLAB_RESERVE_LO
变量值为0。保存退出。注销后再登入windows就可以了
实际使用这办法好像还是不行,还得把桌面上matlab快捷方式的兼容性改成vista,再把“禁用视觉主题”和“禁用桌面元素”以及“以管理员身份运行此程序”前面的勾都勾上。
这样一来就能用了,但是WIN7的AREO特效就没法用了,真是鱼与熊掌不可兼得啊,暂时没找到其他好办法