Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

fgmarquesc

Duvida MATLAB

Mensagens Recomendadas

fgmarquesc

Boa tarde Pessoal,

Gostaria, se possível, que alguém me ajudasse.

O meu problema é calcular o integral de uma função:

Por exemplo, eu tenho a seguinte função definida num ficheiro .m:

function y=f(x)

y=(-Q/(2*K))*(1/L)*exp(-(abs(x)/L)).*((cos(abs(x)/L)+sin(abs(x)/L)));

Em que Q, K e L dependem de valores que eu quero definir.

E eu faço:

input('Cálculo da área');

input('Definir intervalo de x');

t=input('xi=');

r=input('xf=');

Q=input('Q[kN]=');

K=input('K[kN/m^2]=');

E=input('EI[kN/m^2=');

L=((4*E)/K)^(1/4);

s=quad('y',t,r)

Isto dá me o seguinte erro:

??? Undefined function or method 'y' for input arguments of type 'double'.

Error in ==> quad at 77

y = f(x, varargin{:});

Error in ==> exp_exp at 9

s=quad('y',t,r)

No entanto, se der valores a Q, K e L já não me dá erro.

O que eu pretendo é calcular o integral de uma função dependente de valores que eu introduza para Q, K e L sem ter que definir anteriormente.

Se eu fizer:

function y=f(x)

y=(-50/(2*30))*(1/0.5)*exp(-(abs(x)/0.5)).*((cos(abs(x)/0.5)+sin(abs(x)/0.5));

e depois:

input('Cálculo da área');

input('Definir intervalo de x');

t=input('xi=');

r=input('xf=');

s=quad('y',t,r)

já me resolve sem qualquer tipo de erro.

Obrigado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
fgmarquesc

Pessoal acrescentei o seguinte e já deu:

function e=f(x)

q=160;

k=60000;

i=6415.5;

e=(-q/(2*k))*(1/((4*i)/k)^(1/4))*exp(-(abs(x)/((4*i)/k)^(1/4))).*((cos(abs(x)/((4*i)/k)^(1/4))+sin(abs(x)/((4*i)/k)^(1/4))));

e corri:

input('Cálculo da área');

input('Definir intervalo de x');

t=input('xi=');

r=input('xf=');

s=quad('e',t,r)

e assim já deu sem erro.

De qualquer modo se acharem um modo mais correcto e melhor agradeço.

Obrigado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.