For people interest in Differential Equations, I've done a function that receive a string like: x^2+x^3 and put it in
2x+3x^2 witch is the differantial of the previous equation.
In the code there is one thing missing: the $string{$i} is often going outOfBound (Uninitialized string offset: 6 in...)
if your error setting is set a little too high... I just dont know how to fix this.
So there is the code for differential equation with (+ and -) only:
<?
function differentiel($equa)
{
$equa = strtolower($equa);
echo "Equation de depart: ".$equa."<br>";
$final = "";
for($i = 0; $i < strlen($equa); $i++)
{
//Make a new string from the receive $equa
if($equa{$i} == "x" && $equa{$i+1} == "^")
{
$final .= $equa{$i+2};
$final .= "x^";
$final .= $equa{$i+2}-1;
}
elseif($equa{$i} == "+" || $equa{$i} == "-")
{
$final .= $equa{$i};
}
elseif(is_numeric($equa{$i}) && $i == 0)
{
//gerer parenthese et autre terme generaux + gerer ^apres: 2^2
$final .= $equa{$i}."*";
}
elseif(is_numeric($equa{$i}) && $i > 0 && $equa{$i-1} != "^")
{
//gerer ^apres: 2^2
$final .= $equa{$i}."*";
}
elseif($equa{$i} == "^")
{
continue;
}
elseif(is_numeric($equa{$i}) && $equa{$i-1} == "^")
{
continue;
}
else
{
if($equa{$i} == "x")
{
$final .= 1;
}
else
{
$final .= $equa{$i};
}
}
}
//
//Manage multiplication add in the previous string $final
//
$finalMul = "";
for($i = 0; $i < strlen($final); $i++)
{
if(is_numeric($final{$i}) && $final{$i+1} == "*" && is_numeric($final{$i+2}))
{
$finalMul .= $final{$i}*$final{$i+2};
}
elseif($final{$i} == "*")
{
continue;
}
elseif(is_numeric($final{$i}) && $final{$i+1} != "*" && $final{$i-1} == "*")
{
continue;
}
else
{
$finalMul .= $final{$i};
}
}
echo "equa final: ".$finalMul;
}
?>
I know this is not optimal but i've done this quick :)
If you guys have any comment just email me.
I also want to do this fonction In C to add to phpCore maybe soon...
Patoff
PHP.mk документација
Математички функции
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Патека
ref.math.php
Локална патека за оваа страница.
Извор
php.net/manual/en
Оригиналниот HTML се реупотребува и локално се стилизира.
Режим
Прокси + превод во позадина
Кодовите, табелите и белешките остануваат читливи во истиот тек.
Референца
ref.math.php
Математички функции
Референца за `ref.math.php` со подобрена типографија и навигација.
Математички функции
Содржина
- abs — Апсолутна вредност
- acos — Аркусен косинус
- acosh — Инверзен хиперболичен косинус
- asin — Аркусен синус
- asinh — Инверзен хиперболичен синус
- atan — Аркусен тангенс
- atan2 — Аркусен тангенс на две променливи
- atanh — Инверзен хиперболичен тангенс
- base_convert — Претвори број помеѓу произволни основи
- bindec — Бинарно во децимално
- ceil — Заокружи дропки нагоре
- cos — Косинус
- cosh — Хиперболичен косинус
- decbin — Децимално во бинарно
- dechex — Децимално во хексадецимално
- decoct — Децимално во хексадецимално
- deg2rad — Децимално во октално
- exp — Ги претвора степените во радијани
- expm1 — Returns exp($num) - 1, computed in a way that is accurate even when the value of number is close to zero
- fdiv — Го пресметува експонентот на e
- floor — Ги дели двата броја, според IEEE 754
- fmod — Ги заокружува дропките надолу
- fpow — Враќа остаток од деливот (модул) на аргументите
- hexdec — Го крева еден број на степен од друг, според IEEE 754
- hypot — Хексадецимално во децимално
- intdiv — Го пресметува должината на хипотенузата на правоаголен триаголник
- is_finite — Целобројно делење
- is_infinite — Проверува дали е конечен број
- is_nan — Проверува дали е бесконечен број
- log — Проверува дали е NAN
- log10 — Природен логаритам
- log1p — Логаритам со основа 10
- max — Враќа log(1 + број), пресметано на начин што е точен дури и кога вредноста на бројот е блиску до нула
- min — Најди највисока вредност
- octdec — Најди најниска вредност
- pi — Земи вредност на пи
- pow — Земи ја вредноста на пи
- rad2deg — Експоненцијален израз
- round — Ги претвора радијанскиот број во еквивалентен број во степени
- sin — Заокружува децимален број
- sinh — Синус
- sqrt — Хиперболичен синус
- tan — Квадратен корен
- tanh — Тангенс
Белешки од корисници 2 забелешки
pat.mat AT sympatico DOT com ¶
21 години пред
daniel at g-loc dot org ¶
20 години пред
If you're an aviator and needs to calculate windcorrection angles and groundspeed (e.g. during flightplanning) this can be very useful.
$windcorrection = rad2deg(asin((($windspeed * (sin(deg2rad($tt - ($winddirection-180))))/$tas))));
$groundspeed = $tas*cos(deg2rad($windcorrection)) + $windspeed*cos(deg2rad($tt-($winddirection-180)));
You can probably write these lines more beautiful, but they work!