Difference between revisions of "Support:Bugs and solutions"

From COMKAT wiki
Jump to navigation Jump to search
Line 14: Line 14:
 
#Copy the following text.
 
#Copy the following text.
 
<pre>
 
<pre>
Bug reported by [Your name]. <nowiki>[Your e-mail]</nowiki>
+
Bug reported by Xin Li. Email: xli51@jhu.edu
  
OS: [Your operating system. Please also indicate if it is 32 or 64 bit.]
+
OS: Microsoft Windows XP Version 5.1 (Build 2600: Service Pack 3) (32bit)
  
MATLAB: [Your MATLAB version. Type 'ver' in MATLAB command window to get this information.]
+
MATLAB: MATLAB Version 7.1.0.246 (R14) Service Pack 3
  
COMKAT: [Your COMKAT Release]
+
COMKAT: R3.2
 +
 
 +
Bug description:
 +
When using the "analyzeFit", there is always error information below.
 +
??? Error using ==> mtimes
 +
Inner matrix dimensions must agree.
 +
Error in ==> compartmentModel.analyzeFit at 34
 +
if (abs(Jot'*d) > 0.1* abs(d.'*A*d)),
 +
 
 +
But when I try to run the following code in the "analyzeFit" function seperately, it works.
 +
 
 +
fjac = full(jac);
 +
[uu,ss,vv]=svd(fjac'*fjac); % jac is to include weighting
 +
covar = vv*diag(1./diag(ss))*uu';
 +
corr = covar./(sqrt(diag(covar)) * sqrt(diag(covar))');
 +
sdev = sqrt(diag(covar));
 +
 
 +
% rfm2 20021212 added test for gradient
 +
% covariance matrix is calculated assuming gradient is "small".  test this
 +
d = 0.005*pfit(:) + 1e-10;  % small pertubation to parameter estimate
 +
Jot = fjac'*residual(:);
 +
A = fjac'*fjac;  % approximate Hessian
 +
if (abs(Jot'*d) > 0.1* abs(d.'*A*d)),
 +
    fprintf(['analyzeFit: Covariance matrix estimate is not valid because gradient is ' ...
 +
        'too large.  \nTry fitting again but with more stringent convergence tolerance.\n']);
 +
end
  
Bug description: [You bug description]
 
  
 
Attachment(optional):
 
Attachment(optional):

Revision as of 23:55, 24 June 2009

How this system works

  1. If a user encounters an error, he may read the 'Known bugs and solutions' section below to find if this error has been reported and solved. If not, the users report this bug in the 'Report new bugs' section.
  2. As this page is being 'watched' by COMKAT developers, any changes to this page will trigger the wiki to send us an e-mail notifying us of the new bug report.
  3. Then we will look at the bug report, provide an answer and solution and reply to the user who reported it via e-mail.
  4. Once this bug is resolved, we will move the report from the 'Report new bugs' section to the 'Previous bugs and solutions' section.

NOTE: This page will not contain the bug reports for the previous releases of COMKAT if this bug has been resolved in the new version.

How to submit a bug report

  1. Search to see if this bug has been reported previously. Use the wiki search functions at the top of this page.
  2. Get the following information of your system:
    1. Operating system (and whether it's a 64-bit system with the MATLAB command 'computer')
    2. MATLAB version (use commands 'ver' and 'mexext' in MATLAB)
    3. COMKAT version
  3. Copy the following text.
Bug reported by Xin Li. Email: xli51@jhu.edu

OS: Microsoft Windows XP Version 5.1 (Build 2600: Service Pack 3) (32bit)

MATLAB: MATLAB Version 7.1.0.246 (R14) Service Pack 3

COMKAT: R3.2

Bug description: 
When using the "analyzeFit", there is always error information below. 
??? Error using ==> mtimes
Inner matrix dimensions must agree.
Error in ==> compartmentModel.analyzeFit at 34
if (abs(Jot'*d) > 0.1* abs(d.'*A*d)),

But when I try to run the following code in the "analyzeFit" function seperately, it works.

fjac = full(jac);
[uu,ss,vv]=svd(fjac'*fjac); % jac is to include weighting
covar = vv*diag(1./diag(ss))*uu';
corr = covar./(sqrt(diag(covar)) * sqrt(diag(covar))');
sdev = sqrt(diag(covar));

% rfm2 20021212 added test for gradient
% covariance matrix is calculated assuming gradient is "small".  test this 
d = 0.005*pfit(:) + 1e-10;  % small pertubation to parameter estimate
Jot = fjac'*residual(:);
A = fjac'*fjac;  % approximate Hessian
if (abs(Jot'*d) > 0.1* abs(d.'*A*d)),
    fprintf(['analyzeFit: Covariance matrix estimate is not valid because gradient is ' ...
        'too large.  \nTry fitting again but with more stringent convergence tolerance.\n']);
end


Attachment(optional):

Additional contact information (optional):

Then click 'Edit' near the bottom of this page. Paste the text into the edit box under '== New bugs waiting for response =='. Edit the pasted text according to the bug you found. When finished click 'Save page'. You may also include attachments such as .mat or .m files.

Go to Support:Detailed tutorial on bug report for a more detailed step-by-step instruction with pictures.


New bugs waiting for response

Bug reported by Xin Li xli51@jhu.edu

OS: Microsoft windows XP, PCWIN

MATLAB: MATLAB Version Version 7.1

COMKAT: COMKAT R3.2

Bug description: When launching "comkat" I obtain the following error message :

------------------------------------------------------------------------
       Segmentation violation detected at Mon Jun 08 17:34:57 2009
------------------------------------------------------------------------

Configuration:
  MATLAB Version:   7.1.0.246 (R14) Service Pack 3
  MATLAB License:   162077
  Operating System: Microsoft Windows XP
  Window System:    Version 5.1 (Build 2600: Service Pack 3)
  Processor ID:     x86 Family 15 Model 2 Stepping 7, GenuineIntel
  Virtual Machine:  Java 1.5.0 with Sun Microsystems Inc. Java HotSpot(TM) Client VM mixed mode
  Default Charset:  windows-1252

Register State:
  EAX = dd000000  EBX = dd000000
  ECX = 00cd7754  EDX = 785f284c
  ESI = 012f2e10  EDI = 0f6d8520
  EBP = 00cd777c  ESP = 00cd7754
  EIP = 78751031  FLG = 00010286

Stack Trace:
  [0] m_interpreter.dll:public: virtual void __thiscall FunctionHandleWorkspaceCI::customLoad(class mcos::COSInterfacePtr,class mcos::COSValue,class mcos::COSDataTypePtr)(0x11295f00, 0x11016d20, 0x113f9a20, 0x003c4b20 "Ô._x´._x") + 401 bytes
  [1] mcos.dll:public: virtual void __thiscall mcos::COSClassI::customLoad(class mcos::COSInterfacePtr,class mcos::COSValue,class mcos::COSDataTypePtr)(0x11295f00, 0x11016d20, 0x00cd7784, 0x003c4b20 "Ô._x´._x") + 102 bytes
  [2] mcos.dll:$L96755(0x00cd7864, 3875564, 0, 0x00cd7878) + 134 bytes
  [3] mcos.dll:public: virtual class mcos::COSInterfacePtr __thiscall mcos::File::getInterface(unsigned int)const (0x00cd7864, 1, 0x110162e0, 0) + 32 bytes
  [4] mcos.dll:public: struct mxArray_tag * __thiscall mcos::File::convertCOSInterfaceFromMatrix(struct mxArray_tag const *)(0x10b69de0, 0x110162e0, 0x00cdac10 "X¬Í", 0x785ecc5b) + 134 bytes
  [5] mcos.dll:struct mxArray_tag * __cdecl mcosConvertFromMATFileArray(struct mxArray_tag const *,struct mxArray_tag const * *)(0x110162e0, 0x00cd78c8, 0x110162e0, 0x11015260) + 128 bytes
  [6] mcos.dll:_omLoadOpaque(0x11015260, 0x110162e0, 0x00cd78c8, 0x01c71340 "MCOS") + 24 bytes
  [7] libmx.dll:int __cdecl miConvertToOpaque(struct miStreamRec_tag *,struct mxArray_tag *,struct mxArray_tag const *,struct mxArray_tag * *)(0x10c70020 "IM", 0x110162e0, 0x00cd8118, 3) + 39 bytes
  [8] libmx.dll:int __cdecl _HandleArrayForStream(struct miStreamRec_tag *,struct miItem_tag *,int,int)(0x10c70020 "IM", 0x00cd8954, 0, 0) + 3220 bytes
  [9] libmx.dll:int __cdecl _HandleArrayForStream(struct miStreamRec_tag *,struct miItem_tag *,int,int)(0x10c70020 "IM", 0x00cd91a8, 0, 0) + 3797 bytes
  [10] libmx.dll:int __cdecl _HandleArrayForStream(struct miStreamRec_tag *,struct miItem_tag *,int,int)(0x10c70020 "IM", 0x00cd99fc, 0, 0) + 3797 bytes
  [11] libmx.dll:int __cdecl _HandleArrayForStream(struct miStreamRec_tag *,struct miItem_tag *,int,int)(0x10c70020 "IM", 0x00cda250, 0, 0) + 4326 bytes
  [12] libmx.dll:int __cdecl _HandleArrayForStream(struct miStreamRec_tag *,struct miItem_tag *,int,int)(0x10c70020 "IM", 0x00cdaaa4, 0, 0) + 3797 bytes
  [13] libmx.dll:int __cdecl _HandleArrayForStream(struct miStreamRec_tag *,struct miItem_tag *,int,int)(0x10c70020 "IM", 0x00cdab04, 0, 0) + 3797 bytes
  [14] libmx.dll:_miGetItemData(0x10c70020 "IM", 0x00cdab04, 0xffffffff, 0) + 146 bytes
  [15] libmx.dll:_miGetItem(0x10c70020 "IM", 0x00cdab34, 128, 14) + 263 bytes
  [16] libmat.dll:struct mxArray_tag * __cdecl matGetValueAtOffset(struct MATFile_tag *,char *,int)(0x10b8f120, 0x10e03630, 128, 0x00cdab68) + 49 bytes
  [17] libmat.dll:struct mxArray_tag * __cdecl matGetVariable5(struct MATFile_tag *,char const *)(0x10b8f120, 0x10e03634 "hgS_070000", 0x00cdac1c "d¬Í", 0x78937585) + 40 bytes
  [18] libmat.dll:_matGetVariable(0x10b8f120, 0x10e03634 "hgS_070000", 0, 0x10e01efc) + 24 bytes
  [19] m_interpreter.dll:void __cdecl inLoadFcnPrivate(char const *,int,char * *,bool,int,int,class LoadDestination *)(0x00cdad64 "D:\Software\Kinetic Model\COMKAT..", 0, 0x00cdac9c, 0x00cdb500 "x¶Í") + 709 bytes
  [20] m_interpreter.dll:_inLoadFcnWithLHS(0x00cdad64 "D:\Software\Kinetic Model\COMKAT..", 0, 0x00cdac9c, 1) + 154 bytes
  [21] m_interpreter.dll:_inFullLoadFcn(1, 0x00cdb558, 2, 0x00cdb5b8) + 873 bytes
  [22] m_dispatcher.dll:public: virtual void __thiscall Mfh_builtin<struct mxArray_tag>::dispatch_mf(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(1, 0x00cdb558, 2, 0x00cdb5b8) + 55 bytes
  [23] m_dispatcher.dll:public: virtual void __thiscall Mfh_MATLAB_fn::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(1, 0x00cdb558, 2, 0x00cdb5b8) + 200 bytes
  [24] m_interpreter.dll:int __cdecl mdDispatch(int,char const *,int,struct mxArray_tag * *,int,struct mxArray_tag * *,class Mfh_MATLAB_fn * *)(313, 0x0fe13c48 "load", 1, 0x00cdb558) + 88 bytes
  [25] m_interpreter.dll:_inDispatchFromStack(0, 0x0fe13c48 "load", 1, 2) + 800 bytes
  [26] m_interpreter.dll:enum opcodes __cdecl inDispatchCall(char const *,int,int,int,int *,int *)(0x0fe13c48 "load", 0, 1, 2) + 145 bytes
  [27] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *,int *)(1, 1746, 43, 0) + 2534 bytes
  [28] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(1, 1746, 39, 0) + 282 bytes
  [29] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class Mfh_mp *,bool)(0x0e585420, 0, 2, 0x00cdbd40) + 724 bytes
  [30] m_interpreter.dll:_inWordsj(2, 0x00cdbce0, 2, 0x00cdbd40) + 443 bytes
  [31] m_interpreter.dll:public: void __thiscall Mfh_mp::inRunMP(int,struct mxArray_tag * *,int,struct mxArray_tag * *,struct inWorkSpace_tag *)(2, 0x00cdbce0, 2, 0x00cdbd40) + 164 bytes
  [32] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(struct _mdUnknown_workspace *,int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 2, 0x00cdbce0, 2) + 28 bytes
  [33] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(2, 0x00cdbce0, 2, 0x00cdbd40) + 26 bytes
  [34] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(2, 0x00cdbce0, 2, 0x00cdbd40) + 271 bytes
  [35] m_interpreter.dll:int __cdecl mdDispatch(int,char const *,int,struct mxArray_tag * *,int,struct mxArray_tag * *,class Mfh_MATLAB_fn * *)(610, 0x01d04f2c "hgload", 2, 0x00cdbce0) + 88 bytes
  [36] m_interpreter.dll:_inDispatchFromStack(610, 0x01d04f2c "hgload", 2, 2) + 800 bytes
  [37] m_interpreter.dll:enum opcodes __cdecl inDispatchCall(char const *,int,int,int,int *,int *)(0x01d04f2c "hgload", 610, 2, 2) + 145 bytes
  [38] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *,int *)(1, 1231, 85, 0) + 2534 bytes
  [39] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(1, 1231, 34, 0) + 282 bytes
  [40] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class Mfh_mp *,bool)(0x0e580020, 0, 3, 0x00cdc3d0) + 724 bytes
  [41] m_interpreter.dll:_inWordsj(1, 0x00cdc340, 3, 0x00cdc3d0) + 443 bytes
  [42] m_interpreter.dll:public: void __thiscall Mfh_mp::inRunMP(int,struct mxArray_tag * *,int,struct mxArray_tag * *,struct inWorkSpace_tag *)(1, 0x00cdc340, 3, 0x00cdc3d0) + 164 bytes
  [43] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(struct _mdUnknown_workspace *,int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 1, 0x00cdc340, 3) + 28 bytes
  [44] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(1, 0x00cdc340, 3, 0x00cdc3d0) + 26 bytes
  [45] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(1, 0x00cdc340, 3, 0x00cdc3d0) + 271 bytes
  [46] m_interpreter.dll:void __cdecl mdCallFunction(int,struct mxArray_tag * *,int,struct mxArray_tag * *,class Mfh_MATLAB_fn *)(1, 0x00cdc340, 3, 0x00cdc3d0) + 56 bytes
  [47] m_interpreter.dll:public: void __thiscall ResolverFunctionDesc::CallFunction(int,struct mxArray_tag * * const,int,struct mxArray_tag * * const)(1, 0x00cdc340, 3, 0x00cdc3d0) + 94 bytes
  [48] m_interpreter.dll:public: bool __thiscall Resolver::CallMFunction(int,int,class _m_operand * const,union m_operand_storage *,int,class _m_operand * const,union m_operand_storage *,int *)(1, 1, 0x0fcfd820, 0) + 947 bytes
  [49] m_interpreter.dll:bool __cdecl inResolveMFunctionCall(struct _m_function_desc *,int,int,class _m_operand * const,union m_operand_storage *,int,class _m_operand * const,union m_operand_storage *,int *,enum inMarshalType *,unsigned int,int,unsigned int const *,int)(0x0f833488, 1, 1, 0x0fcfd820) + 150 bytes
  [50] m_interpreter.dll:bool __cdecl accelMFunctionCall(struct _accelOp *,struct _accelOp * *,int *,enum inMarshalType *)(0x0e550bf0, 0x00cdc998, 0x00cdc984, 0x00cdcb24) + 161 bytes
  [51] m_interpreter.dll:public: enum jitReturnFlags __thiscall accelCode::Call(enum inMarshalType *,int *)const (0x00cdcb24, 0x00cdcd60, 0x00cdcb38 "pÌÍ", 0x787683d1) + 21152 bytes
  [52] m_interpreter.dll:int __cdecl inAccel(class accelCode *,enum inMarshalType *,int *)(0x0f717260, 0x00cdcb24, 0x00cdcd60, 0x00cdcd60) + 19 bytes
  [53] m_interpreter.dll:bool __cdecl inExecuteHotSegment(struct _inJitAccelInfo *,enum opcodes *,int *,int *)(0x00cdcbc8, 0x00cdcc84, 0x00cdcc34, 0x00cdcd60) + 1585 bytes
  [54] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *,int *)(1, 157, 216, 0) + 287 bytes
  [55] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(1, 157, 211, 0) + 282 bytes
  [56] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class Mfh_mp *,bool)(0x0e5801e0, 0, 2, 0x00cdd108) + 724 bytes
  [57] m_interpreter.dll:_inWordsj(1, 0x00cdd078, 2, 0x00cdd108) + 443 bytes
  [58] m_interpreter.dll:public: void __thiscall Mfh_mp::inRunMP(int,struct mxArray_tag * *,int,struct mxArray_tag * *,struct inWorkSpace_tag *)(1, 0x00cdd078, 2, 0x00cdd108) + 164 bytes
  [59] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(struct _mdUnknown_workspace *,int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 1, 0x00cdd078, 2) + 28 bytes
  [60] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(1, 0x00cdd078, 2, 0x00cdd108) + 26 bytes
  [61] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(1, 0x00cdd078, 2, 0x00cdd108) + 271 bytes
  [62] m_interpreter.dll:void __cdecl mdCallFunction(int,struct mxArray_tag * *,int,struct mxArray_tag * *,class Mfh_MATLAB_fn *)(1, 0x00cdd078, 2, 0x00cdd108) + 56 bytes
  [63] m_interpreter.dll:public: void __thiscall ResolverFunctionDesc::CallFunction(int,struct mxArray_tag * * const,int,struct mxArray_tag * * const)(1, 0x00cdd078, 2, 0x00cdd108) + 94 bytes
  [64] m_interpreter.dll:public: bool __thiscall Resolver::CallMFunction(int,int,class _m_operand * const,union m_operand_storage *,int,class _m_operand * const,union m_operand_storage *,int *)(1, 1, 0x0fcff3a0, 0) + 947 bytes
  [65] m_interpreter.dll:bool __cdecl inResolveMFunctionCall(struct _m_function_desc *,int,int,class _m_operand * const,union m_operand_storage *,int,class _m_operand * const,union m_operand_storage *,int *,enum inMarshalType *,unsigned int,int,unsigned int const *,int)(0x0fa893c8, 1, 1, 0x0fcff3a0) + 150 bytes
  [66] m_interpreter.dll:bool __cdecl accelMFunctionCall(struct _accelOp *,struct _accelOp * *,int *,enum inMarshalType *)(0x0fc5ef60, 0x00cdd6d0, 0x00cdd6bc, 0x00cdd85c) + 161 bytes
  [67] m_interpreter.dll:public: enum jitReturnFlags __thiscall accelCode::Call(enum inMarshalType *,int *)const (0x00cdd85c, 0x00cdda98, 0x00cdd870 "¨ÙÍ", 0x787683d1) + 21152 bytes
  [68] m_interpreter.dll:int __cdecl inAccel(class accelCode *,enum inMarshalType *,int *)(0x0f717570, 0x00cdd85c, 0x00cdda98, 0x00cdda98) + 19 bytes
  [69] m_interpreter.dll:bool __cdecl inExecuteHotSegment(struct _inJitAccelInfo *,enum opcodes *,int *,int *)(0x00cdd900, 0x00cdd9bc, 0x00cdd96c, 0x00cdda98) + 1585 bytes
  [70] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *,int *)(1, 2259, 77, 0) + 287 bytes
  [71] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(1, 2259, 37, 0) + 282 bytes
  [72] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class Mfh_mp *,bool)(0x0e3b1fa0, 0, 1, 0x00cddf38) + 724 bytes
  [73] m_interpreter.dll:_inWordsj(0, 0x00cdded8, 1, 0x00cddf38) + 443 bytes
  [74] m_interpreter.dll:public: void __thiscall Mfh_mp::inRunMP(int,struct mxArray_tag * *,int,struct mxArray_tag * *,struct inWorkSpace_tag *)(0, 0x00cdded8, 1, 0x00cddf38) + 164 bytes
  [75] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(struct _mdUnknown_workspace *,int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0, 0x00cdded8, 1) + 28 bytes
  [76] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cdded8, 1, 0x00cddf38) + 26 bytes
  [77] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cdded8, 1, 0x00cddf38) + 271 bytes
  [78] m_interpreter.dll:int __cdecl mdDispatch(int,char const *,int,struct mxArray_tag * *,int,struct mxArray_tag * *,class Mfh_MATLAB_fn * *)(517, 0x0e3a9f90 "gui_mainfcn", 0, 0x00cdded8) + 88 bytes
  [79] m_interpreter.dll:_inDispatchFromStack(517, 0x0e3a9f90 "gui_mainfcn", 0, 0x01ffffff) + 800 bytes
  [80] m_interpreter.dll:enum opcodes __cdecl inDispatchCall(char const *,int,int,int,int *,int *)(0x0e3a9f90 "gui_mainfcn", 517, 0, 0xffffffff) + 145 bytes
  [81] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *,int *)(1, 251, 59, 0) + 2534 bytes
  [82] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(1, 251, 45, 0) + 282 bytes
  [83] m_interpreter.dll:int __cdecl inExecuteMFunctionOrScript(class Mfh_mp *,bool)(0x0e3b0560, 0, 0, 0x00cde6c0) + 724 bytes
  [84] m_interpreter.dll:_inWordsj(0, 0x00cde660, 0, 0x00cde6c0) + 443 bytes
  [85] m_interpreter.dll:public: void __thiscall Mfh_mp::inRunMP(int,struct mxArray_tag * *,int,struct mxArray_tag * *,struct inWorkSpace_tag *)(0, 0x00cde660, 0, 0x00cde6c0) + 164 bytes
  [86] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(struct _mdUnknown_workspace *,int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0, 0x00cde660, 0) + 28 bytes
  [87] m_interpreter.dll:public: virtual void __thiscall Mfh_mp::dispatch_file(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cde660, 0, 0x00cde6c0) + 26 bytes
  [88] m_dispatcher.dll:public: virtual void __thiscall Mfh_file::dispatch_fh(int,struct mxArray_tag * *,int,struct mxArray_tag * *)(0, 0x00cde660, 0, 0x00cde6c0) + 271 bytes
  [89] m_interpreter.dll:int __cdecl mdDispatch(int,char const *,int,struct mxArray_tag * *,int,struct mxArray_tag * *,class Mfh_MATLAB_fn * *)(509, 0x10d5e5b4 "main_GUI", 0, 0x00cde660) + 88 bytes
  [90] m_interpreter.dll:_inDispatchFromStack(509, 0x10d5e5b4 "main_GUI", 0, 0) + 800 bytes
  [91] m_interpreter.dll:enum opcodes __cdecl inDispatchCall(char const *,int,int,int,int *,int *)(0x10d5e5b4 "main_GUI", 509, 0, 0) + 145 bytes
  [92] m_interpreter.dll:int __cdecl inInterp(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag volatile *,int *)(2, 0, 0, 0) + 2534 bytes
  [93] m_interpreter.dll:int __cdecl inInterPcodeSJ(enum inDebugCheck,int,int,enum opcodes,struct inPcodeNest_tag *,int *)(2, 0, 0, 0) + 282 bytes
  [94] m_interpreter.dll:_inInterPcode(2, 0x784d6e7c, 0, 0) + 81 bytes
  [95] m_interpreter.dll:enum inExecutionStatus __cdecl in_local_call_eval_function(int *,struct _pcodeheader *,int *,struct mxArray_tag * * const,enum inDebugCheck)(0x00cdf278, 0x00cdf370, 2, 1) + 153 bytes
  [96] m_interpreter.dll:$L74683(0x784d6e7c, 0x0e3a0020 "main_GUI\n", 0, 0) + 184 bytes
  [97] m_interpreter.dll:enum inExecutionStatus __cdecl inEvalCmdWithLocalReturnandtype(char const *,int *,enum inDebugCheck)(0x0e3a0020 "main_GUI\n", 0, 2, 0x00cdf3bc "DôÍ") + 69 bytes
  [98] m_interpreter.dll:_inEvalCmdNoEnd(0x0e3a0020 "main_GUI\n", 1, 255, 0) + 16 bytes
  [99] bridge.dll:enum inExecutionStatus __cdecl ThrowSignal(char const *)(0x0e3a0020 "main_GUI\n", 0x7c80b741, 0x01207530, 0x01207530) + 60 bytes
  [100] bridge.dll:$L86781(0, 0, 0x784d6e58, 0x7c36b71f) + 432 bytes
  [101] mcr.dll:public: void __thiscall mcrInstance::mnParser(void)(271289, 0x505c3a44, 0x72676f72, 0x46206d61) + 93 bytes
  [102] MATLAB.exe:0x00401ca9(4194304, 0, 271289, 0x01207530)
  [103] MATLAB.exe:0x00403d9f(3735608, 3604534, 0x7ffdf000, 0x8054b6b8)
  [104] kernel32.dll:0x7c817077(0x00403c1a, 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\Abigale\LOCALS~1\Temp\matlab_crash_dump.2292

  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 to the command window
     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 ==> gui_mainfcn>local_openfig at 216
    gui_hFigure = openfig(name, singleton, 'auto');

Error in ==> gui_mainfcn at 94
        gui_hFigure = local_openfig(gui_State.gui_Name, gui_SingletonOpt);            

Error in ==> main_GUI at 59
    gui_mainfcn(gui_State, varargin{:});



Known bugs and solutions

Download and installation

  1. When I clicked the link to COMKAT download, the download did not start and I got a 'HTTP 403 Forbidden' error message.
    Solution:The COMKAT server requires you to register and log in before you download the COMKAT files.
  2. The fitting function in the example fdgcmd.m returns this error
    fdgcmd('INVERSE') plotOption = 1 ??? Input argument "cm" is undefined. Error in ==> fitfunc at 54 parmToChange = get(cm, 'SensitivityName'); Error in ==> optim\private\snls at 423 [newfvec,newA] = feval(funfcn{3},xargin{:},varargin{:}); Error in ==> optim\private\lsqncommon at 220 [x,FVAL,LAMBDA,JACOB,EXITFLAG,OUTPUT,msg]=... Error in ==> lsqcurvefit at 174 [x,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ... Error in ==> compartmentModel.fit at 145 [newParmVal,resnorm,residual,exitFlag,output,lambda,jacobian] = lsqcurvefit('fitfunc', initParmVal, [], data, lb, ub, ... Error in ==> fdgcmd at 208 pfit = fit(cm, pinit, lb, ub);

    Solution:This error arises because the newer MATLAB function "lsqcurvefit" has a different argument passing. In MATLAB version earlier than R2006, the lsqcommon passes an extra argument which is empty. That is why there is an "unused" argement in the fitfunc.m. However, this is fixed in R2006a and later so now the cm is passed as "unused". If you are using MATLAB 2006a or later, to solve this problem as a workaround, edit the "fitfunc.m" and insert the following lines in line 38: if nargin<3 cm=unused; end
  3. I use two computers, one xp sp1 with MATLAB v7 sp1, the other is sp2. The estimated value from both computers are different. I have checked many times that I use the same data. Would it be possible to happen?
    Solution:The default optimizer of COMKAT is lsqcurvefit. As it is a function of the MATLAB optimization toolbox, in different versions of MATLAB the fitting results may differ. So the fitted values could be slightly different under different service packs. However, the optimizer "LMWLS" is a function of COMKAT so it will not change in different MATLAB versions. So if you use this optimizer you will get the identical parameter estimates regardless the MATLAB version.
  4. I just downloaded and attempted to install the latest version of COMKAT. When attempting to validate the first calculation, I get the following error message:
    ??? Undefined command/function 'pxEval'.

    Solution:This error was generated because MATLAB 7 does not recognize the 'mexwin32' extension. We have fixed this issue by updating the COMKAT_R3.zip file. Please download and re-install it again. Or you may manually fix this by searching for all '.mexwin32' files and change their extension to '.dll'.

COMKAT command line functions

  1. When I tried to set a certain property of COMKAT compartment model, why wasn't the property changed?
    Solution:A common mistake is that you used a command without assigning the correct output like:
    set(cm,'ParameterName',pnames);
    But the correct usage is:
    cm=set(cm,'ParameterName',pnames);
  2. Under the 64-bit Windows system, when doing curve fitting I get the following error message:
    Invalid MEX-file
    Solution:This problem is caused by the fact that, when you install 64-bit MATLAB, it does not automatically install the Visual C re-distributable for you. But for 32-bit MATLAB it does. Since we compile our mex files using Visual Studio 2008, you will have to install the Visual Studio 2008 re-distributable in order to run the mex files.
    Please go to Microsoft website: http://www.microsoft.com/downloads/details.aspx?familyid=bd2a6171-e2d6-4230-b809-9a8d7548c1b6&displaylang=en to download and install the re-distributables. If the link is broken, google Microsoft Visual C++ 2008 Redistributable Package x64.

COMKAT GUI

  1. Main_GUI -> Model drawer -> I cannot find the "Return to GUI" button when using the Model drawer.
    Solution:You have to implement every step including "check model compatibility" and "Return to GUI" will be enabled.
  2. Bug description: Using "inputest" tool. When launching the estimate process with "Use one sample" I obtain the following error message :
 cvodesGenmod5:Error. Function fengInput does not exist??? 
??? Error using ==> fmincon at 517 
FMINCON cannot continue because user supplied objective function failed with the following error: 
Error using ==> cvodesGenmod5 cvodesGenmod5: Error.  Problem in evalInput.  Error status=1

Solution:Please replace line 18 of COMKAT_R3.1\comkat_GUI\SIME_FDG_8_1sam.m by 'cm = addInput(cm, 'Cp', 1, 0, 'fengInputByPar', 'pfeng'); %"P"-type input'.

COMKAT Image Tool

  1. I get the following error when I try to create and name a new VOI:
??? Undefined function or variable 'name'. 
Error in ==> VOI.VOI at 16
out.name = name;  % what user calls the region


Solution:This is identified as a COMKAT bug. It will be fixed in the next release. For the workaround, edit line 16 of COMKATROOT/@VOI/VOI.m and make it:

out.name = varargin{1};

Misc

  1. When launching the validation process "Glucose Minimal Model", I obtain the following error message:
    Kinetic function kinGMM is missing.

    Solution:Please add the folder 'examples' under COMKAT root folder into your MATLAB path. This bug will be fixed in a recent COMKAT revision.
  2. When running under deployed mode, uitable generates errors for missing functions 'arrayviewfunc'
    Solution:Refer to MATLAB website http://www.mathworks.cn/support/bugreports/details.html?rp=449936 for solution. This bug has been fixed in MATLAB R2008b and later. This bug does not appear under MATLAB.
  3. Delete this later...