[BASIC HELP] CAS.fsolve problem [Solved]
|
03-22-2019, 01:17 PM
(This post was last modified: 03-23-2019 08:09 PM by Ziz.)
Post: #1
|
|||
|
|||
[BASIC HELP] CAS.fsolve problem [Solved]
Hello,
I'm trying to do a little program to solve an equation but the fsolve returns an error. Pws(T) BEGIN T:=T+273.15; LOCAL C1,C2,C3,C4,C5,C6,C7; LOCAL Ps,P; C1:=-5.6745359*10^3; C2 := 6.3925247*10; C3 := −9.6778430/10^(3); C4 := 6.2215701/10^(7); C5 := 2.0747825/10^(9); C6 := −9.4840240/10^(13); C7 := 4.1635019*10; Ps:=CAS.fsolve(C1/T+C2+C3*T+C4*T^2+C5*T^3+C6*T^4+C7*ln(T)=ln(P),P,1000); PRINT("Ps="+Ps); RETURN Ps; END; |
|||
03-22-2019, 04:09 PM
(This post was last modified: 03-22-2019 04:18 PM by roadrunner.)
Post: #2
|
|||
|
|||
RE: [BASIC HELP] CAS.fsolve problem
You have to send CAS commands as a string and then EVAL the string and the variable you are solving for can't be local. Make those two changes and you get:
PHP Code: EXPORT Pws(T) which returns an answer. edit: Hmm, it appears you dont' have to EVAL the string because this: Ps:=CAS("fsolve(C1/T+C2+C3*T+C4*T^2+C5*T^3+C6*T^4+C7*ln(T)=ln(P),P,1000)"); also works. -road |
|||
03-22-2019, 04:30 PM
(This post was last modified: 03-22-2019 04:31 PM by Helge Gabert.)
Post: #3
|
|||
|
|||
RE: [BASIC HELP] CAS.fsolve problem
Either that, or write it as a CAS program to begin with. I started doing the latter for most of my programs, as the back and forth CAS conversions in a regular program just became too cumbersome and error-prone. There may be a downside to that (speed? - - are CAS programs slower than Home programs?), but it sure is convenient!
In your example, you could have perhaps also used FNROOT() without leaving the Home environment. |
|||
03-22-2019, 04:35 PM
Post: #4
|
|||
|
|||
RE: [BASIC HELP] CAS.fsolve problem
I see that Road has a workable program, and I was just about to post the same thing. The big issues are:
1. EXPORT the program. 2. T and P are RESERVED variables, so don't make a local variable P. 3. Use a string inside the CAS command. Here is what I ended up with: Pws(5) ==> 3.45704603787ᴇ119 Code:
|
|||
03-23-2019, 08:04 PM
Post: #5
|
|||
|
|||
RE: [BASIC HELP] CAS.fsolve problem
Thank you! This clarifies the things.
(03-22-2019 04:35 PM)DrD Wrote: I see that Road has a workable program, and I was just about to post the same thing. The big issues are: |
|||
03-23-2019, 08:08 PM
Post: #6
|
|||
|
|||
RE: [BASIC HELP] CAS.fsolve problem
Thank you! You solved my problem. I spent some time trying to make the code work.
(03-22-2019 04:09 PM)roadrunner Wrote: You have to send CAS commands as a string and then EVAL the string and the variable you are solving for can't be local. Make those two changes and you get: |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 2 Guest(s)