9,006 reputation
1640
bio website
location
age
visits member for 2 years, 3 months
seen 5 hours ago

8h
comment Dynamic Syntax - Evaluate AppendTo as the second argument
@m_goldberg: I think the missing not makes my previous comment superfluos :-)
9h
comment Prevent package from being opened in a notebook interface
what about compiling the compressed code string into the NET assembly and send it to to the kernel for uncompress/evaluation? Then it would not even live as a file in the filesystem on the executing machine...
10h
comment Dynamic Syntax - Evaluate AppendTo as the second argument
@m_goldberg: you say "only seems to work reliably", but does it work at all and is it supposed to? I would have said it most probably isn't even meant to work, but honestly don't know what actually is the "documented" behavior that I could expect. I also can't see that a naked Dynamic with a 2nd argument does anything relevant concerning its 2nd argument, other than quietly ignoring it. Am I missing something here?
10h
comment How to copy a function by value?
it might well not be the right choice for your problem, but I think you should be aware that for those cases where you treat a function as an object, using Functions is often more appropriate than downvalue-definitions. When using func1=Function[x,x^2] for the first definition and func1=Function[x,-x] for the second your example will work as you want...
10h
comment Prevent package from being opened in a notebook interface
I don't see why it would be problematic to open an encoded package or mx file in the frontend, you can never prevent anyone to open such a file in a text editor which will show exactly the same information. Can you explain? Or do I miss your point?
Apr
21
comment an NIntegrate inside a manipulate in mathematica was working and suddenly won't work now. it says indeterminent and it doesn't make any sense why
What I find really strange is that you say you got meaningful results from this before. You have exponentials in your expressions with arguments like -(1.88*^11 + 0.00091823*(kp^2 + kz^2) + kz*Vd)^2/(8*(kp^2 + kz^2)) which will give values in the order of -10^16 for your parameters. Taking an exponential of that clearly gives an underflow. You could try to switch to arbitrary precision calculations but I think you'd be better off trying to rescale your variables to avoid such extreme numeric values...
Apr
20
comment Understanding of method for NDSolve
As for your remaining question: yes, it looks like NDSolve was choosing LSODA, you can find several places where it is mentioned by searching for LSODA in the documentation. One prominent place to look for some more information and references is (stiffness detection)[reference.wolfram.com/mathematica/tutorial/…. The advanced documentation for NDSolve (use this string in the documentation center search field: tutorial/NDSolveOverview) is quite detailed and well worth reading...
Apr
20
comment Understanding of method for NDSolve
I have formatted the code sections in your questions. I think it would make sense if you learn to do that yourself, the syntax is well documented. The higher the total quality of your answer, the more likely you will get an answer. It is also common and welcome to give answers to one's own question, so if you find an answer yourself there is nothing wrong in answering your own question and even accept that.
Apr
15
comment NDSolve: Couple ODE and PDE
AFAIK NDSolve can't automatically handle this, you can couple PDEs with PDEs and ODEs with ODEs but not PDEs with ODEs. But as NDSolve for all versions up to 9 uses the method by lines only for PDEs you can just as well do the method by lines by hand: generate a set of coupled ODEs by discretizaing in space and then couple that system to the single ODE. See tutorial/NDSolvePDE in the online documentation for more details, an example and even some internal helper methods which help with the discretization...
Apr
3
comment Accessing list elements by name
As you mentioned that you are relatively new to Mathematica I wonder whether you have any indication that more common ways to handle this won't do? One straightforward way is (close to Istvans answer): define your formulas e.g. as TiByN="Ti"/"N" and then insert numeric values with something like TiByN /. parameters where parameters = Thread[elements->chemistry] (you could use Dispatch for optimization). With such an approach you can very easily control whether and when to insert values. What you do looks a little like working against the (strong parts of the) system to me...
Apr
1
comment Highlighting or coloring certain words / substrings appearing in a larger string
As I think the handling of overlaps is the demanding part of your question I'd suggest to make an example with overlaps to provide a good test case for that...
Mar
30
comment Are there any cases when For[] loops are reasonable?
@TZakrevskiy: of course code readability is to a large part subjective and strongly influenced by prior experience. But there are certainly several established rules which are widely accepted and which are beyond pure personal taste. Reduced complexity seems to be a very decent and objective measure of code readability to me which was why I mentioned it in my answer.
Mar
25
comment FlipView can't handle CurrentValue[“MouseOver”]. Kernel crash
crashes when clicking on it, mma 9.0.1 on Windows 7 64bit, please report as a bug...
Mar
24
comment Permanently set options such as metric units for W|A queries
just did that. As for the default: I was guessing that as well, but have you found any documentation on that? Probably that's too much to ask for as Wolfram|Alpha certainly makes such decisions based on its AI and noone knows where they come from :-).
Mar
24
comment Permanently set options such as metric units for W|A queries
have you tried SetOptions[WolframAlpha, PodStates -> {"Show metric"}]. I can't really test as it shows stuff in metric units for me by default. Would be interesting to know what it is that determines the default...
Mar
24
comment Controlling output of graphics, the role of “;” and code structure/formatting
... instead of Print[Show[g]]; you could also use Show[g,DisplayFunction->Print]; but I don't think that is very enlightning...
Mar
24
comment Controlling output of graphics, the role of “;” and code structure/formatting
Print prints to $Output, an the usual frontend environment that will create a new output cell (actually a cell with style "Print"). Print will also work when used on the command line, there Print will really print to "stdout". DisplayFunction I consider a leftover from pre-version-6 area: The display of a graphics in a notebook then was a side effect. DisplayFunction was a possibility to do interfere with that process, e.g. suppress rendering altogether. Its main value with newer versions probably is when working without a frontend...
Mar
24
comment Controlling output of graphics, the role of “;” and code structure/formatting
I think the recommended way is to use Print[Show[...]]; per line. Unlike Print, Show has no side effects (at least not since the major changes in how graphics are handled in version 6). The magenta highlighting doesn't really indicate a syntax error, I'd rather consider it an error in the highlighting. If you find that highlighting irritating you could put the ; after the comment, add another ; after the comment or explicitly put Null after it. As documented a;b; is actually CompoundExpression[a,b,Null] ...
Mar
24
comment NDSolve in exact points - nonlinear equation (Degrees and Radians confusion)
As your interpolating functions are only valid in the t-range where you solved the equation you should include that as a constraint. I would also suggest to use NMinimize/NMaximize if you search a global min/max of a numeric function, they seem to work well for your problem:NMaximize[{zsol[t], 0 <= t <= 15}, t]
Mar
21
comment Issue with Compile
The syntax of ReplacePart (documentation for V5.2) has changed. It might be that Compile hasn't learned that change (a probable reason is that newer versions with the new syntax can use patterns which Compile couldn't support anyway). In an uncompiled evalation the old syntax still seems to work...