Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
fgmarquesc

Duvida MATLAB

Recommended Posts

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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.