کد متلب برنامه گاوس برای محاسبات عددی
function S=IntGauLeg(f,a,b,n)
if nargin<3
f=@(x) exp(x).*cos(30)
a=3;
b=1;
n=100;
end
Coef1=(b-a)/2;
Coef2=(b+a)/2;
[x, w] = gauleg(n)
S=Coef1*sum(f(Coef1*x+Coef2).*w);
end
function [x, w] = gauleg(n)
nn = 1:n;
a = sqrt((2*nn-1).*(2*nn+1))./nn;
b = 0*nn;
c = (nn-1)./nn.*sqrt((2*nn+1)./(2*nn-3));
alpha = -b./a;
beta = sqrt(c(2:n)./(a(1:n-1).*a(2:n)));
mu0 = 2;
J = diag(beta,-1) + diag(alpha) + diag(beta,1);
[u,v] = eig(J);
[x,j] = sort(diag(v));
w = (mu0*u(1,:).^2)';
w = w(j);
end
if nargin<3
f=@(x) exp(x).*cos(30)
a=3;
b=1;
n=100;
end
Coef1=(b-a)/2;
Coef2=(b+a)/2;
[x, w] = gauleg(n)
S=Coef1*sum(f(Coef1*x+Coef2).*w);
end
function [x, w] = gauleg(n)
nn = 1:n;
a = sqrt((2*nn-1).*(2*nn+1))./nn;
b = 0*nn;
c = (nn-1)./nn.*sqrt((2*nn+1)./(2*nn-3));
alpha = -b./a;
beta = sqrt(c(2:n)./(a(1:n-1).*a(2:n)));
mu0 = 2;
J = diag(beta,-1) + diag(alpha) + diag(beta,1);
[u,v] = eig(J);
[x,j] = sort(diag(v));
w = (mu0*u(1,:).^2)';
w = w(j);
end
+ نوشته شده در سه شنبه ۱۲ دی ۱۳۹۱ ساعت 6:1 PM توسط nourollah joya
|
مقدم شما عزیزان را به "جویابرق" ارج مینهیم ،این وبلاگ جهت "جستوجو "و ارائه مقالات وپروژهای علمی در زمینه "اقیانوس عظیم برق "درست گردیده ،تا هم اهالی این رشته بزرگ و مهم فنی و مهندسی از آن استفاده کنند .وهم از علم و تجارب استادان ،اندیشمندان،مهندسان،دانشجویان و کاربران این اقیانوس بزرگ بهره جست.در پایان "جویابرق"بیصبرانه منتظر نقطه نظرات و پیشنهادهای شما دوستان گرامی است .که موجب خوشحالی ما وتشکرازشما می گردد…!