0
|
11589 Views
|
9 Replies
|
1 Total Likes
View groups...
Share
GROUPS:

# Input a big equation

Posted 9 years ago
 It's silly question, but I can't input large equation, including the substitution, such as (sh(2eta*d)(1+(alpha * F_2)^2))/(cosh(2eta*d)±sqrt(1-(sh(2eta*d)*alpha * F_2)^2))+F_1=0, F_1=2(A^2-B^2+A)/(2(A^2-B^2+A)+1), F_2=2B(2A+1)/(2(A^2-B^2+A)+1)^2, B=omega/(4*pi*gamma*M_0), A=H_0/(4*pi*M_0)  where M_0=1760, gamma=1.465*10^-7, H_0=3300, alpha=0.002, d=0.05  In the end, I want to plot implicit function "omega(eta)" but Wolfram doesn't allow to enter so large expression. What will I do in this case? And sorry for my english...
9 Replies
Sort By:
Posted 9 years ago
Posted 9 years ago
 Ok, now I see how Wolfram plot these two functions separately. Although Wolfram can interprete "±" sign in this expression and even can take the derivative of it, but when it comes to plotting, system surrenders. It's a little bit strange and not obviously.Using command "ContourPlot" is also strange, because my function is just a simple 2D graphic (just in implicity form). However this method is used in similar cases in other mathematical instruments too.I don't want to say that Wolfram is bad or something. When I started using it, Wolfram attracted me by its simplicity and understanding at a glance, particular intuition. So when I needed a tool for real complicated and big mathematical objectives, I immediately remembered about Wolfram, waiting for qualitative results and enjoyable work, and bought Pro.My friend plot this function in GnuPlot and it was simple. We specify constants and write the expression to plot. At the same time I was trying to solve this problem by Wolfram... It's not an advertising, just a fact.I'm not rude on you too, all this is just my thoughts.
Posted 9 years ago
 In my experience, many things are not obvious about WolframAlpha. When it first appeared I would keep trying variations of a question and sometimes never did figure out how to get it to understand and give me an answer, whether asking it to plot statistical data or complicated mathematical results.I chose ContourPlot exactly because your expression was in implicit form.For very simple problems it can be simple to use. For more complicated problems it becomes more difficult, sometimes much more difficult and perhaps even impossible to use.If someone is experienced in using x then often using x for a problem is easier. If someone is not experienced in using x then often using x for a problem is much more difficult.I did not consider you to be rude to me. I only suggested that WolframAlpha or software may not be the best for you.
Posted 9 years ago
 One option is to pay for a subscription to WolframAlpha Pro which allows you to upload much larger expressions.Another option is to make use of substitutions to shorten your expression.Since you use 2(A^2-B^2+A) in several places you can start with n=2(A2-B2+A), followed by the rest of your expression where you replace all 2(A^2-B^2+A) with n.Then you can shorten all your multiple character variable names down to single character names, but avoid using variable names that WolframAlpha will assume have predefined mathematical meaning.With that it appears to be possible to get your expression down within the string length limitation of WolframAlpha. d=.05,k=.002,h=3300,m=1760,g=1.465*10^-7,n=2(A2-B2+A),l=n/(n+1),p=2B(2A+1)/(n+1)^2,B=o/(4 pi g m),A=h/(4 pi m),(s(2j d)(1+(k p)^2))/(cosh(2j d)±sqrt(1-(s(2j d)k p)^2))+l=0 Unfortunately, even though it appears that it might be short enough now, WolframAlpha cannot understand what you now want it to do with this long expression.Sometimes it is possible to do a problem in two steps when using WolframAlpha. To do that you try to find a way to get a partial answer to your problem in one step, copy and paste that answer to form part of the rest of your final question. Can you see any way to divide your question into two parts that might be smaller?Even with that I don't know what you are expecting the values of sh or eta to be.
Posted 9 years ago
 Thank you, I'll try this method of separate calculation, but I'm not sure this will work well... I have PRO subscription already, but I didn't understand how upload this expression. Data-upload provides upload tabular data etc. and File-upload allow only specific file types. "Sh" mean "sinh" (Wolfram|Alpha understand it) and "eta" is Greek letter.
Posted 9 years ago
 Using WolframAlpha one step at a time to do the substitutions and simplifications I end up withContour PlotI've replaced omega with y and 2 eta d with x because I've sometimes seen WolframAlpha better understand a question framed in terms of x and y. Check all that carefully to make certain I haven't made a mistake. All that barely fits within the string length limitations for input. You can also use Plot3D in place of ContourPlot. WolframAlpha also recognizes 1.80016* ^-6 to be 1.80016* 10^-6 and that can let you squeeze in twelve more characters if you need that. Note: For WolframAlpha input eliminate the spaces following the * in the line above this, which I had to introduce to keep the forum software from thinking that in this message what I meant to do was to italicize the text following those instead of just displaying the * . Note: You can also use y2 with WolframAlpha to denote the square of y, and that can save you a handful more characters, but this does not work with (x+y)2 or with Cosh(x)2. You also have three identical expressions in your denominators. If in WolframAlpha you could assign that value to say q and then replace those expressions with q that would free up even more space. I had that working at one point, then it failed and I gave up trying to chase down what the problem was with that.
Posted 9 years ago
 I got the following expression.ExpressionBut Wolfram doesn't want to plot this... It's so sad, I thought Wolfram|Alpha is more powerful than turned out.
Posted 9 years ago
 breaking it down into steps, something like this: In[22]:= eq = (sh (2 eta* d) (1 + (alpha*F2)^2))/(cosh (2 eta*d) \[PlusMinus] sqrt (1 - (sh (2 eta*d)*alpha*F2)^2)) + F1 == 0 Out[22]= F1 + (2 d eta (1 + alpha^2 F2^2) sh)/( 2 cosh d eta \[PlusMinus] (1 - 4 alpha^2 d^2 eta^2 F2^2 sh^2) sqrt) == 0 In[23]:= eq1 = eq /. F1 -> 2 (A^2 - B^2 + A)/(2 (A^2 - B^2 + A) + 1) Out[23]= (2 (A + A^2 - B^2))/(1 + 2 (A + A^2 - B^2)) + ( 2 d eta (1 + alpha^2 F2^2) sh)/( 2 cosh d eta \[PlusMinus] (1 - 4 alpha^2 d^2 eta^2 F2^2 sh^2) sqrt) == 0 In[24]:= eq2 = eq1 /. F2 -> 2 B (2 A + 1)/(2 (A^2 - B^2 + A) + 1)^2 Out[24]= (2 (A + A^2 - B^2))/(1 + 2 (A + A^2 - B^2)) + ( 2 (1 + (4 (1 + 2 A)^2 alpha^2 B^2)/(1 + 2 (A + A^2 - B^2))^4) d eta sh)/( 2 cosh d eta \[PlusMinus] (1 - ( 16 (1 + 2 A)^2 alpha^2 B^2 d^2 eta^2 sh^2)/(1 + 2 (A + A^2 - B^2))^4) sqrt) == 0 In[25]:= eq3 = eq2 /. B -> omega/(4*Pi*gamma*M0) /. A -> H0/(4*Pi*M0) Out[25]= ( 2 (H0^2/(16 M0^2 \[Pi]^2) - omega^2/(16 gamma^2 M0^2 \[Pi]^2) + H0/( 4 M0 \[Pi])))/( 1 + 2 (H0^2/(16 M0^2 \[Pi]^2) - omega^2/(16 gamma^2 M0^2 \[Pi]^2) + H0/(4 M0 \[Pi]))) + ( 2 d eta (1 + (alpha^2 omega^2 (1 + H0/(2 M0 \[Pi]))^2)/( 4 gamma^2 M0^2 (1 + 2 (H0^2/(16 M0^2 \[Pi]^2) - omega^2/( 16 gamma^2 M0^2 \[Pi]^2) + H0/( 4 M0 \[Pi])))^4 \[Pi]^2)) sh)/( 2 cosh d eta \[PlusMinus] (1 - ( alpha^2 d^2 eta^2 omega^2 (1 + H0/(2 M0 \[Pi]))^2 sh^2)/( gamma^2 M0^2 (1 + 2 (H0^2/(16 M0^2 \[Pi]^2) - omega^2/( 16 gamma^2 M0^2 \[Pi]^2) + H0/( 4 M0 \[Pi])))^4 \[Pi]^2)) sqrt) == 0 In[26]:= eqf = eq3 /. {M0 -> 1760, gamma -> 1.465*10^-7, H0 -> 3300, alpha -> 0.002, d -> 0.05} Out[26]= (2 (-95253.2 omega^2 + 225/(1024 \[Pi]^2) + 15/(32 \[Pi])))/( 1 + 2 (-95253.2 omega^2 + 225/(1024 \[Pi]^2) + 15/(32 \[Pi]))) + ( 0.1 eta (1 + ( 2.56937 omega^2)/(1 + 2 (-95253.2 omega^2 + 225/(1024 \[Pi]^2) + 15/( 32 \[Pi])))^4) sh)/( 0.1 cosh eta \[PlusMinus] (1 - ( 0.0256937 eta^2 omega^2 sh^2)/(1 + 2 (-95253.2 omega^2 + 225/(1024 \[Pi]^2) + 15/( 32 \[Pi])))^4) sqrt) == 0 remember = is an assignment, == is an equation and -> is a rule, capital letters for build in functions and constants: Pi and don't use underscore in variable names as it also has a special meaning.
Posted 9 years ago
 Thank you for answer, but your code is for Wolfram, not Wolfram|Alpha, isn't it?