Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
-0,2 não é zero para devolver uma divisão por erro zero.
A função retorna -nan, ou seja, Not a Number. e o erro é jogado quando se tenta dividir por -nan. Se alguma coisa, o texto de erro simplesmente não é apropriado.
Solução correta: A solução está no domínio complexo.
Mas se estamos falando de ter diferentes ramos de soluções para parâmetros de entrada positivos e negativos, só precisamos definir primeiro esses ramos:
.
Faça tal característica e você ficará bem ;)A função retorna -nan, ou seja, Não é um Número. e um erro é lançado quando se tenta dividir por -nan. Se alguma coisa, o texto de erro simplesmente não é apropriado.
Por que diabos -0,2 seria -nan ?)
Outra função de teste
Em calculadora.
Em funções mql
Então por que diabos é -0,2 uma nan?)
Outra função de teste
Em uma calculadora
Em uma função mql.
não é -0,2 - nan, mas o resultado de um aumento de grau.
O grau de fracionamento de um número (a^m/n) é a raiz do grau n de a^m.
Se o valor da sub-raiz for negativo, pode ser negativo ou positivo, com base na potência de m e no próprio número a (que no meu problema é sempre negativo, portanto é positivo na potência positiva de m e negativo na negativa). Portanto, se o valor da sub-raiz é negativo, então o número também é negativo. A raiz de um número negativo está na área complexa, por isso não podemos operar nos valores da área complexa atravésdo tipo duplo habitual, razão pela qual a implementação padrão de grau dá -nan.
Solução correta: a solução está no domínio complexo.
Mas se estamos falando de ter diferentes ramos de soluções para parâmetros de entrada positivos e negativos, então só precisamos definir primeiro esses ramos:
.
Faça tal característica e você ficará bem ;)Obrigado por sua resposta detalhada. Mas para mim o cálculo complexo não é adequado para o meu problema, então o mais provável é que eu me limite a números naturais e, como resultado, não vou cair no domínio complexo.
Obrigado por sua resposta detalhada. Mas para mim o cálculo complexo não é adequado para o meu problema, portanto, muito provavelmente me limitarei a números naturais e, como resultado, não vou cair na área complexa.
É disso que estou falando, e eu lhe mostrei especificamente um exemplo. Olhe com cuidado. Este exemplo é exatamente para o seu caso.
zy
Traduzir para µl é muito fácil
não é -0,2 - nan, mas o resultado de um grau.
O poder de um número fracionário (a^m/n) é a raiz do grau n de a^m.
Se o valor da sub-raiz for negativo, pode ser negativo ou positivo com base na potência m e no próprio número a (que no meu problema é sempre negativo, portanto é positivo na potência m positiva e negativo na negativa). Portanto, se o valor da sub-raiz é negativo, então o número também é negativo. A raiz de um número negativo está na área complexa, por isso não podemos operar com valores da área complexa através do tipo duplo habitual, razão pela qual a implementação padrão de grau dá -nan.
Andrey, sim, eu falei mal, é claro que o resultado de elevar a um poder retorna -nan.
Mas este resultado dá origem a um poder fracionário, onde o número inteiro é zero -0,2
A calculadora calcula tudo corretamente.
E o teste anterior, também, não conta como na calculadora.
É disso que estou falando, e eu dei especificamente um exemplo. Dê uma boa olhada.
Sim, eu entendi. Obrigado. (até a fórmula está anotada)
Talvez as pernas cresçam do fato de que não se pode tirar uma raiz sequer de um número negativo ? Eu já estou um pouco confuso... E o mais importante, como contornar isso ?
Os graus inteiros são determinados simplesmente pela multiplicação (e levando o inverso para expoentes negativos), portanto, são facilmente transferidos para bases negativas. Os graus fracionários são definidos via logaritmo e expoente: y^x=exp(x*ln(y)) e com números negativos chegam ao plano complexo. O logaritmo tem um número infinito de ramos e para evitar o incômodo de encontrar o ramo certo, eles devolvem a NAN.
Obrigado por sua resposta, mas em geral se tomarmos uma solução aritmeticamente correta, parece que apenas números complexos podem ser usados para implementar tal solução... Em seu método proposto, é necessário quebrar o grau para que o valor subjacente tenha sempre um grau positivo e a resposta será sempre positiva. Mas se você tomar sem este ajuste - chegamos apenas a números complexos, na verdade de acordo com o modelo algébrico geralmente aceito como eu sei (não sou matemático por educação) - a raiz de um número negativo será um número complexo.
usar a fórmula que sugeri acima.
Aqui está a mesma fórmula:
e aqui está um exemplo de como converter um duplo em uma fração
https://www.mql5.com/ru/forum/290279#comment_9396706