Re: Can you tell me what is wrong with this program
- To: mathgroup at smc.vnet.net
- Subject: [mg110354] Re: Can you tell me what is wrong with this program
- From: "Sjoerd C. de Vries" <sjoerd.c.devries at gmail.com>
- Date: Tue, 15 Jun 2010 02:28:23 -0400 (EDT)
- References: <hv3nf8$ov$1@smc.vnet.net>
Satya, Before I start pointing out the many errors in your code, may I invite you to actually read the manual (at least the introductory parts) before asking questions? It's quite obvious that you haven't done so. The code you have written is far from Mathematica syntax, it's more like C with a few square brackets thrown in for good measures. - All built-in Mathematica functions should start with a capital letter. It's best, though not required, to start your own variables with a lowercase letter - the For syntax you use is a mixture of C and Mathematica. The body should be placed within the function, not outside. Check the doc page. - C is a reserved word in Mathematica - Abs needs square brackets - if and print should be capitalized - if you use Print this way everything will be run together - if [A > 0] is not the correct mathematica syntax. Should be If[condition , (* true branch *) , (* false branch *)]. The code that should be conditionally executed should be in the IF function not outside of it. - the two If's with K1 in them should be separated by a ; otherwise it's a multiplication Cheers -- Sjoerd On Jun 14, 12:52 am, satya <ktsatya... at gmail.com> wrote: > c = 0; > m = 0; > z = 0; > count = 0; > for [lc = 0, lc < 8, lc++] > { > lc = lc + 1; > for[lm = -4, lm < 8, lm++] > { > lm = lm + 1; > for [lz = -4, lz < 8, lz++] > { > lz = lz + 1; > A = (2*(lc - lm)*(lc - lm)) + 4*lz*lz; > B = -2*(lc + lm)*lz; > C = 4*lc*lm; > if [A > 0] > if[(B*B - A*C) > 0] > { > K1 = (B + sqrt (B*B - A*E))/A; > K2 = (B - sqrt (B*B - A*E))/A; > e = abs (lc); > m = abs (lm); > z = abs (lz); > L = c + m + z; > if [K1 <= 0.707 && K1 > 0 , print[n, L, lc, lm , = lz, K1]] > if [K2 <= 0.707 && K1 > 0 , print[n, L, lc, lm ,= lz, K2]] > > } > > } > } > } > > I get the following error > > Out[5]= for[0, True, 0] > > During evaluation of In[1]:= Set::wrsym: Symbol C is Protected. >> > > Out[6]= {{{{for[-4, True, -4]^2 if[ > True] if[-48 C > 0] if[-E sqrt <= 0.707 && -E sqrt > 0, > print[n, -4 abs, 2, -2, -2, -E sqrt]] if[ > E sqrt <= 0.707 && -E sqrt > 0, > print[n, -4 abs, 2, -2, -2, E sqrt]]}}}}