Pergunta

no J linguagem de programação ,

-: i. 5 

a função acima computa as metades de todos os inteiros em [0,4]. Agora vamos dizer que eu gostaria de re-escrever o -: função, apenas para o divertimento dele. Meu melhor palpite até agora era

]&%.2

mas isso não parece cortá-la. Como você faz isso?

Foi útil?

Solução

%&2    NB. divide by two
0.5&*  NB. multiply by one half

Outras dicas

Note que]%. 2: também trabalho, mas para garantir a gramática que você quer quer usar isso como a definição de um nome, ou você gostaria de colocar a expressão entre parênteses

Eu vi que você estava usando%. provavelmente porque você estava dividindo uma matriz e achei que você precisava fazer uma "divisão de matriz".

A divisão da matriz e matriz inversa que estão falando não é para álgebra matricial, onde você tem uma lista de, bem, essencialmente polinômios, e você quer fazer transformações sobre os polinômios de uma só vez, de modo a resolver as equações . Uma das coisas que você pode fazer muito facilmente em J é álgebra matricial, há builtins para dividir matriz e para inverter uma matriz (como você viu) e na seção de frases, há frases curtas para fazer todas as transformações de matriz típicos . Tomando o determinante, por exemplo.

Mas quando você está simplesmente dividir um vetor por um escalar para obter um vector, ou você está dividindo uma matriz pelos elementos correspondentes de uma outra matriz, bem, isso é apenas o símbolo de divisão%.

Se você quiser tentar entender isso, olhada problema Euler 101 (http://projecteuler.net/problem=101) e, em seguida, google ajuste de curva no site da Jsoftware.com. Criando as matrizes das observações, e as matrizes básicas como mostrado permitem que você resolver para ax ^ 2 + bx + c = y onde você tem x e y e você quiser determinar a, b, e c. Basta lembrar de usar aritmética estendida para tudo, como as equações resultantes são muito bom, mas não perfeito, a menos que você faz, e para resolver a equação que você precisa aperfeiçoar equações.

Apenas um pensamento, a menos que você quiser jogar com Álgebra Matricial, você pode não se importar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top