2013-07-17 2 views
0

Я пытаюсь решить это уравнение:Как численно решить сложный интеграл, используя MATLAB

K = SQRT ((R * T)/(4 * пи * лямбда)) * интеграл от -inf до inf (- ((lambda + F * neta)/R * Tx)^2 * R * T/4 * lambda)/exp (x) +1 по отношению к x

где, neta является интервал от 0 до 1, а остальные символы (R, T, F, лямбда и pi) имеют постоянные значения.

Я пытался использовать эти коды:

код 1

clear all; 
close all; 
clc; 
F = 96485.34; 
R = 8.3145; 
T = 298.15; 
lambda = 0.2; 
neta=0:0.1:1; 
pi=3.1415; 
[email protected](x) exp(-((lambda+F*neta)/R*T-x).^2*R*T/4*lambda)/(exp(x)+1); 
Q=integral(f,-inf,inf); 
k= sqrt((R*T)/(4*pi*lambda)).*Q 

код 2

clear all; 
close all; 
clc; 
F = 96485.34; 
R = 8.3145; 
T = 298.15; 
lambda = 0.2; 
neta=0:0.1:1; 
pi=3.1415; 
x= 0:100; 
f(x)=exp(-((lambda+F*neta)/R*T-x).^2*R*T/4*lambda)/(exp(x)+1); 
q=quadl('f', 0, 100); 
k= sqrt((R*T)/(4*pi*lambda)).*q 

но эти коды возврата ошибок, которые я не знаю, чтобы решить. Может кто-нибудь мне помочь, пожалуйста?

спасибо

+0

Покажите нам свой код и что поделаешь не так! Мы не можем решить проблему, не зная, каковы ваши ошибки. –

+0

Привет, Хью Нолан, я начал использовать Matlab совсем недавно. Я пробовал разные коды для этого уравнения, но были напыщенные попытки ... Я хочу, чтобы кто-то помог мне написать его для меня. :/ –

+0

Сначала я попытался использовать этот код: clear all; закрыть все; clc; F = 96485,34; \t \t \t \t R = 8.3145; \t \t \t \t T = 298.15; \t \t \t \t lambda = 0.2; neta = 2 pi = 3.1415; f = @ (x) exp (- ((lambda + F * neta)/R * Tx).^2 * R * T/4 * lambda)/(exp (x) +1) Q = интеграл (f, -inf, inf) k = sqrt ((R * T)/(4 * pi * lambda)). * Q –

ответ

0

Проблема с neta. Если это скалярное значение, то код в порядке. Но как вы предлагаете интегрироваться по интервалу neta по отношению к другой переменной? Что это значит? Я попытался взять отдельные значения для neta от 0 до 1 и вычислить значение Q для каждого, но каждый Q возвращает 0.

+0

То же самое происходит со мной, когда я использую отдельные значения neta, результат равен нулю. Я хочу получить значение k для каждого значения neta, чтобы иметь возможность построить график k против neta. Поэтому я пытаюсь решить численно эту интеграцию. х неизвестно, автор просто говорит, что интегральная функция конечна только в небольшом диапазоне х и сходится путем дальнейшего уменьшения значения х. Я пытаюсь решить, используя разные диапазоны x. Другие константы имеют свои значения заранее, возможно, у меня возникают проблемы с единицами этих констант. Я снова проверю все входные значения. –

Смежные вопросы