how to use quad ?

26219869_1573850829369116_6603952483732459120_n.jpg
I have to integrate the following function where alpha, w1, v1, k1 are discrete data (arrays of 194 elements each)... T is temperature, suchthat for every T I should have one G
function [G1] = try1(k1, alfa, w1, v1, T)
kb=1.38064852*10^(-23);
h=1.0545718*10^(-34);
c=h/(kb);
constant=(h^2)/((2*(2*pi)^3)*(kb));
q1 = csvread('q1.csv');
alfa= csvread('alfa.csv');
alldata = csvread('all.csv');
q1(end) = [];
w1 = alldata(:,1);
v1= alldata(:,7);
k1=q1*(pi/(5.431));
T=300:1:1000;
for i=1:length(T)
integrand = @(k1,alfa,v1,w1,T)(constant.*(1./T^2).*alfa.*w1.^2.*abs(v1).*exp(c*w1./T)./(exp(c*w1./T)-1).^2); G1=quad(@(k1)integrand(k1,alfa,v1,w1,T(i)),0,2.51365000000000);
end
end

1 comentario

Jan
Jan el 13 de Nov. de 2018
Please do not delete questions, which got an answer already, because this is insulting for the persons, who spent their time for helping you.

Iniciar sesión para comentar.

Respuestas (1)

Star Strider
Star Strider el 7 de En. de 2018

0 votos

We cannot run your code.
However, you appear to be integrating a function with 3 equal-sized vectors, ‘alfa’, ‘w1’, and ‘v1’, so the quadv (link) function appears to be most appropriate.
Note that if you have R2012a or later, the integral function with 'ArrayValued',true would be the best option.

Etiquetas

Preguntada:

el 7 de En. de 2018

Comentada:

Jan
el 13 de Nov. de 2018

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by