CrazyImpling
New Member
- Reaction score
- 3
I need to have a variable equal an answer that is isolated from an algebra equation. The following is the formula and below it is the script. I would like for the algebra equation to solve for what is called 'temp' in the equation.
Code:
var temp:Number = (CpMetal*initMetalAmt*(temp-initMetalTemp)= -1*(CpWater*initWaterAmt*(temp-initWaterTemp)));
Code:
import fl.controls.Slider;
import fl.events.SliderEvent;
//Set up specific heat capacites
var CpWater:Number = 4.18;
var CpMetal:Number = .455;
//Set ranges for water and metal values
var minWaterTemp:Number = 15;
var maxWaterTemp:Number = 45;
var minWaterAmt:Number = 65;
var maxWaterAmt:Number = 150;
var minMetalTemp:Number = 90;
var maxMetalTemp:Number = 200;
var minMetalAmt:Number = 10;
var maxMetalAmt:Number = 45;
//Initial variables
var initWaterTemp:Number;
var initWaterAmt:Number;
var initMetalTemp:Number;
var initMetalAmt:Number;
var finalTemp:Number;
//Set up sliders
SliderWaterTemp.minimum = minWaterTemp;
SliderWaterTemp.maximum = maxWaterTemp;
SliderWaterTemp.tickInterval = Math.round((maxWaterTemp-minWaterTemp)/5);
SliderWaterTemp.snapInterval = 1;
SliderWaterTemp.liveDragging = true;
SliderWaterAmt.minimum = minWaterAmt;
SliderWaterAmt.maximum = maxWaterAmt;
SliderWaterAmt.tickInterval = Math.round((maxWaterTemp-minWaterTemp)/10);
SliderWaterAmt.snapInterval = 1;
SliderWaterAmt.liveDragging = true;
SliderMetalTemp.minimum = minMetalTemp;
SliderMetalTemp.maximum = maxMetalTemp;
SliderMetalTemp.tickInterval = Math.round((maxWaterTemp-minWaterTemp)/10);
SliderMetalTemp.snapInterval = 1;
SliderMetalTemp.liveDragging = true;
SliderMetalAmt.minimum = minMetalAmt;
SliderMetalAmt.maximum = maxMetalAmt;
SliderMetalAmt.tickInterval = Math.round((maxWaterTemp-minWaterTemp)/10);
SliderMetalAmt.snapInterval = 1;
SliderMetalAmt.liveDragging = true;
//Slider event listeners
SliderWaterTemp.addEventListener(SliderEvent.CHANGE, changeWaterTemp);
SliderWaterAmt.addEventListener(SliderEvent.CHANGE, changeWaterAmt);
SliderMetalTemp.addEventListener(SliderEvent.CHANGE, changeMetalTemp);
SliderMetalAmt.addEventListener(SliderEvent.CHANGE, changeMetalAmt);
//Button event listeners
start_btn.addEventListener(MouseEvent.CLICK, onStart);
stop_btn.addEventListener(MouseEvent.CLICK, onStop);
reset_btn.addEventListener(MouseEvent.CLICK, onReset);
//Initialize stage
initializeStage();
//Slider event handlers
function changeWaterTemp(event:SliderEvent):void {
initWaterTemp = event.value;
multimeter_mc.ch1_txt.text = String(initWaterTemp);
}
function changeWaterAmt(event:SliderEvent):void {
water_mc.height = event.value;
initWaterAmt = event.value;
multimeter_mc.ch2_txt.text = String(initWaterAmt);
}
function changeMetalTemp(event:SliderEvent):void {
initMetalTemp = event.value;
multimeter_mc.ch3_txt.text = String(initMetalTemp);
}
function changeMetalAmt(event:SliderEvent):void {
metal_mc.scaleX = event.value/maxMetalAmt;
metal_mc.scaleY = event.value/maxMetalAmt;
initMetalAmt = event.value;
multimeter_mc.ch4_txt.text = String(initMetalAmt);
}
function calculateFinalTemp():Number{
//CpWater CpMetal InitialWaterTemp IntitialMetalTemp initialWaterAmt initialMetalTemp
var temp:Number = (CpMetal*initMetalAmt*(temp-initMetalTemp)= -1*(CpWater*initWaterAmt*(temp-initWaterTemp)));
return temp;
}
//button event handlers
function onStart(event:MouseEvent): void{
reset_btn.enabled = false;
start_btn.enabled = false;
SliderWaterTemp.enabled = false;
SliderWaterAmt.enabled = false;
SliderMetalTemp.enabled = false;
SliderMetalAmt.enabled = false;
stop_btn.enabled = true;
//Calculate final temp
finalTemp = calculateFinalTemp();
}
function onStop(event:MouseEvent): void{
reset_btn.enabled = true;
stop_btn.enabled = false;
}
function onReset(event:MouseEvent): void{
start_btn.enabled = true;
SliderWaterTemp.enabled = true;
SliderWaterAmt.enabled = true;
SliderMetalTemp.enabled = true;
SliderMetalAmt.enabled = true;
stop_btn.enabled = false;
initializeStage();
}
function initializeStage(){
metal_mc.scaleX = minMetalAmt/maxMetalAmt;
metal_mc.scaleY = minMetalAmt/maxMetalAmt;
water_mc.height = minWaterAmt;
//SetInitialValues
initWaterTemp = minWaterTemp;
initWaterAmt = minWaterAmt;
initMetalTemp = minMetalTemp;
initMetalAmt = minMetalAmt;
//SetSliderValues
SliderWaterTemp.value = initWaterTemp;
SliderWaterAmt.value = initWaterAmt;
SliderMetalTemp.value = initMetalTemp;
SliderMetalAmt.value = initMetalAmt;
//Display output for initial values
multimeter_mc.ch1_txt.text = String(initWaterTemp);
multimeter_mc.ch2_txt.text = String(initWaterAmt);
multimeter_mc.ch3_txt.text = String(initMetalTemp);
multimeter_mc.ch3_txt.text = String(initMetalAmt);
//button state
stop_btn.enabled = false;
}