yxb345 发表于 2007-5-29 16:46

为何会出现如下错误?

1. Send this crash report to segv@mathworks.com for automated analysis.
   For your convenience, this information has been recorded in:
       C:\DOCUME~1\donglx\LOCALS~1\Temp\matlab_crash_dump.3188
2. Also, if the problem is reproducible, send the crash report to
   support@mathworks.com along with:
       - A specific list of steps that will reproduce the problem
       - Any M, MEX, MDL or other files required to reproduce the probl
em
       - Any error messages displayed prior to this crash report
   A technical support engineer will contact you with further information.
Thank you for your assistance.Please save your workspace and restart
MATLAB before continuing your work.
Error in ==> E:\导出ANSYS模型的质量和刚度矩阵\cm.m
On line 8==> save k.txt K -ascii


程序如下:
clear all
load E:\导出ANSYS模型的质量和刚度矩阵\filestiffness.txt;
K=sparse(8922,8922);
for n=1:89103
    K(filestiffness(n,1),filestiffness(n,2))=filestiffness(n,3);
end
clear filestiffness
save K.txt K -ascii


如果把K=sparse(8922,8922)去掉,就不会错了.但是如果去掉了会在运行一段时间后:out of memory

[ 本帖最后由 yxb345 于 2007-5-29 17:48 编辑 ]

pengweicai 发表于 2007-5-29 16:52

load E:\导出ANSYS模型的质量和刚度矩阵\filestiffness.txt;可能出错在这

filestiffness.txt; 最好放到 你允许程序的根目录下。

eight 发表于 2007-5-29 17:14

原帖由 pengweicai 于 2007-5-29 16:52 发表 http://www.chinavib.com/forum/images/common/back.gif
load E:\导出ANSYS模型的质量和刚度矩阵\filestiffness.txt;可能出错在这

filestiffness.txt; 最好放到 你允许程序的根目录下。

恩,而且最好不要使用中文路径

yxb345 发表于 2007-5-29 17:44

clear all
load filestiffness.txt;
K=sparse(8922,8922);
for n=1:89103
    K(filestiffness(n,1),filestiffness(n,2))=filestiffness(n,3);
end
clear filestiffness
save K.txt K -ascii


改了之后情况依然存在!!!!       K矩阵已经生成,就是不能保存.

[ 本帖最后由 yxb345 于 2007-5-29 17:55 编辑 ]

yxb345 发表于 2007-5-29 17:58

详细错误码如下:


---------------------------------------------------------------------
       Segmentation violation detected at Tue May 29 17:51:22 2007
------------------------------------------------------------------------
Configuration:
MATLAB Version:   6.5.0.180913a (R13)
Operating System: Microsoft Windows XP
Window System:    Version 5.1 (Build 2600: Service Pack 2)
Processor ID:   x86 Family 15 Model 2 Stepping 7, GenuineIntel
Virtual Machine:Java 1.3.1_01 with Sun Microsystems Inc. Java HotSpot(TM) Client VM
    (mixed mode)
Register State:
EAX = 00000000EBX = 00000000
ECX = 000022daEDX = 162d00b0
ESI = 103dfb18EDI = 77c10e13
EBP = 00dfcc20ESP = 00dfcbec
EIP = 7a83fcdfFLG = 00010246
Stack Trace:
m_interpreter.dll:void __cdecl saveascii(struct mxArray_tag *,int)(0x14e824d8, 8922, 4, 0x0142b570) + 319 bytes
m_interpreter.dll:void __cdecl SaveToAsciiFile(int,char * *,int)(0x14e77f30, 0x00dfd300, 0x14e862b8, 0x014316b1) + 160 bytes
m_interpreter.dll:_inSaveFcnWithLHS(940, 0x01430a50 "k.txt", 1, 0x00dfd300) + 717 bytes
m_interpreter.dll:_inSaveFcn(940, 0x01430a50 "k.txt", 1, 0x00dfd300) + 44 bytes
m_interpreter.dll:_inFullSaveFcn(1, 0x00dfd414, 3, 0x014316b0) + 968 bytes
m_interpreter.dll:_inExecuteInternalFcn(465, 3, 0, 0) + 1183 bytes
m_interpreter.dll:enum opcodes __cdecl inIntFcn(enum opcodes,int,int,int)(77, 0x010001d1, 0, 3) + 90 bytes
m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,struct inPcodeNest_tag volatile *)(2, 0, 0, 0x014b4f58) + 2554 bytes
m_interpreter.dll:_inInterPcode(2, 0x00dfdc54, 0, 0) + 193 bytes
m_interpreter.dll:enum inExecutionStatus __cdecl in_local_call_eval_function(int *,struct _m_parser_interface *,struct _pcodeheader *,int *,struct mxArray_tag * * const,enum inDebugCheck)(0, 0x7a87fa78, 0x00dfdc54, 0x00dfdcf8) + 174 bytes
m_interpreter.dll:_inEvalStringWithIsVarFcn(0x14ee3010 "save k.txt K -ascii\n", 20, 0, 0) + 531 bytes
m_interpreter.dll:_inEvalString(0x14ee3010 "save k.txt K -ascii\n", 20, 0, 0) + 50 bytes
m_interpreter.dll:enum inExecutionStatus __cdecl inEvalCmdWithLocalReturnandtype(char const *,int *,enum inDebugCheck)(0x14ee3010 "save k.txt K -ascii\n", 0, 2, 0x00dfde30) + 68 bytes
m_interpreter.dll:_inEvalCmdNoEnd(0x14ee3010 "save k.txt K -ascii\n", 1, 0x0047f617, 11) + 16 bytes
matlab.exe:_mnParser(0x027edf4c, 271244, 0, 48) + 1001 bytes
matlab.exe:_WinMain@16(4194304, 0, 271244, 1) + 3872 bytes
matlab.exe:_WinMainCRTStartup(0x027edf4c, 24, 0x7ffde000, 0x8054bb38) + 308 bytes
kernel32.dll:0x7c816fd7(0x0047172c, 0, 0, 0)
Please follow these steps in reporting this problem to The MathWorks so
that we have the best chance of correcting it:
1. Send this crash report to segv@mathworks.com for automated analysis.
   For your convenience, this information has been recorded in:
       C:\DOCUME~1\donglx\LOCALS~1\Temp\matlab_crash_dump.3740
2. Also, if the problem is reproducible, send the crash report to
   support@mathworks.com along with:
       - A specific list of steps that will reproduce the problem
       - Any M, MEX, MDL or other files required to reproduce the problem
       - Any error messages displayed prior to this crash report
   A technical support engineer will contact you with further information.
Thank you for your assistance.Please save your workspace and restart
MATLAB before continuing your work.

yxb345 发表于 2007-5-29 20:52

去掉SAVE那一行命令后我对K求值,det(K),得到的是NaN,为什么?

[ 本帖最后由 yxb345 于 2007-5-29 20:54 编辑 ]

eight 发表于 2007-5-29 21:16

估计是矩阵太大了,建议分批存储吧
页: [1]
查看完整版本: 为何会出现如下错误?