Ir ao conteúdo
  • Cadastre-se

C++ Encontrar o resultado da fórmula para todos valores de x


Tati Schein

Posts recomendados

Preciso encontrar o valor de cxtp para todos os valores de x. Como faço??

 

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from scipy.special import erf
from scipy.optimize import least_squares
import math
import cv2

D = 0.148 #coeficiente de difusão de cloretos
t = 1 #anos 
Cs = 1.5 #concentração de cloretos na superfície da estrutura
#x é o cobrimento da armadura = 2.0
x = [0.10, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70, 0.80, 0.90, 1.00, 1.10, 1.20, 1.30, 1.40, 1.50, 1.60, 1.70, 1.80, 1.90, 2,00];
  
cxtp = (Cs * (1-(erf((x) / (2 * math.sqrt(D*t))))))
   #cxtp é perfil de concentração 
print(cxtp);

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Olá Schein, como vai?

 

Para começo de conversa, a área que você postou o tópico está incorreta, pois quando eu vi a sintaxe da linguagem eu já dei risada(famoso Py).

 

Em segundo lugar, eu percebi que a razão, ou seja, a constante da Progressão Aritmética do Array é 0.10, correto? O ultimo valor deve estar incorreto, deveria ser "2.00" e você colocou "2,00", ou seja, trocou PONTO por VÍRGULA.

 

Em terceiro lugar, todo esse cálculo deve estar girando ao redor de Engenharia Química nas Leis de Fick, eu não sou programador Python, mas qualquer pessoa com o pensamento analítico e lógico consegue resolver o seu problema. Você fez supostamente todo o cálculo para chegar no cxtp(perfil de concentração), você já tentou criar um LOOP de repetição que vai da posição x[0] até x[n]? Em seguida você pode armazenar isso em um arquivo ou mostrar na tela.

 

O que achou?

 

Agora vamos voar de verdade?

 

Você que é de exatas sabe que para pegar o valor de um número em uma Progressão Aritmética tem a formula clássica que é: An = A1+((n-1)*R)

 

Só que eu sei que você não quer pegar o An de uma P.A, tu queres somar todos, logo, lembra daquela aula de Matemática que o professor ensina a somar todos os termos de uma Progressão Aritmética? A fórmula é Sn=((A1+An)*N)/2

 

Com base nisso, você já pensou em pegar o A1 que é 0.10, ou no codigo seria o x[0] no Array e o ultimo termo que é An, nesse caso é o 2.00, ou seja, x[19], somar, multiplicar pelos número de termos da Progressão e dividir por 2. Percebeu? Com o primeiro e o ultimo termo do Array você consegue a somar todos os valores, pois são um padrão que é a constante 0.10, ou seja, você nem precisa fazer LOOP.

 

Quem tem o pensamento matemático, analítico e lógico para computação é outra coisa, nem preciso de LOOP, muito menos dessas bibliotecas para tirar raiz quadrada.

 

Até a próxima.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Oi de novo Schein, KKKKKK eu estava aqui na madrugada e decidi tentar fazer o codigo para você em C. Verifiquei que você estava trabalhando com Função Erro de Gauss né? Empolgante. Eu não criei o Array de 0.10 até 2.00, por que achei burrice, ops, vamos utilizar o eufemismo: Achei coisas que somente sujeito desprovidas de boa cognição fariam. Achei também desnecessário multiplicar d*t, já que t=1. Percebi que quanto maior é o "cobrimento da armadura"  = "x", menor é o Perfil de Concentração.

 

Na hora de compilar com GCC no terminal não esqueça de usar o "-lm" no final.

 

Vai custar um bolo de fuba e um café com leite, espero que tenha gostado.

 

spacer.png

 

spacer.png

 

#include <stdio.h>
#include <math.h>

int main(void) {

float cs = 1.5;
float dt = sqrt(0.148);
float x;

printf("Trabalho de Tati Schein, calculando o Perfil de Concentrando\n\n");

for(x=0.10; x<=2.01; x+=0.10){

        float cxtp = cs*(1-erf((x)/(2*dt)));

        printf("O perfil de concentracao enquanto x = %.2f e: %f\n", x, cxtp);

}

printf("\n\n");

return 0;

}

 

Até a próxima.

 

By ZTM

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!