تبلیغات
مهندسی مکانیک - برازش منحنی چند جمله ای

برازش منحنی چند جمله ای

نویسنده :مسعود شمس
تاریخ:چهارشنبه 2 شهریور 1390-10:15 ق.ظ

.برنامه برازش منحنی که قادر به انجام عملیات لرازش چند جمله ای از درجه انم 
.این برامه پروژه درس محاسبات عددی اینجانب میباشد که امید وارم مورد توجه شما دوستان قرار بگیرد



Example:
  >> x = [ 0.1 0.1 0.3 0.3 1.3 1.7 2.1 2.6 3.9 3.9 ...
  5.1 5.6 6.2 6.4 7.7 8.1 8.2 8.9 9.0 9.5 ...
  9.6 10.2 10.3 10.8 11.2 11.2 11.2 11.7 12.1 12.3 ...
  12.3 13.1 13.2 13.4 13.7 14.0 14.3 15.4 16.1 16.1 ...
  16.4 16.4 16.7 16.7 17.5 17.6 18.1 18.5 19.3 19.7]';
  y = [0.01 0.08 0.13 0.16 0.55 0.90 1.11 1.62 1.79 1.59 ...
  1.83 1.68 2.09 2.17 2.66 2.08 2.26 1.65 1.70 2.39 ...
  2.08 2.02 1.65 1.96 1.91 1.30 1.62 1.57 1.32 1.56 ...
  1.36 1.05 1.29 1.32 1.20 1.10 0.88 0.63 0.69 0.69 ...
  0.49 0.53 0.42 0.48 0.41 0.27 0.36 0.33 0.17 0.20]';

>> polyfit(x,y,5)

     Linear model Poly5:

     P(x) = P6*x^5 + P5*x^4 + P4*x^3 + P3*x^2 + P2*x + P1
     P6 = -0.000002330474949
     P5 = 0.000148679244291
     P4 = -0.001647712764695
     P3 = -0.037736959041820
     P2 = 0.609057727719298
     P1 = -0.023775516895297


function polyfit(x_data,y_data,degree)
% this program can be fitting data from of any degree
% Programmer: Masoud Shams
% Email: Masoud.Shams@Rocketmail.com
% degree:Degree of an equation that you want fitting
ii=0;
New_x_Data=rand(length(x_data),(2*degree)+1);
New_y_data=rand(length(x_data),degree+1);
while ii<=2*degree
  New_x_Data(:,ii+1)=x_data(:,1).^ii;
  ii=ii+1;
end
New_x_Data=sum(New_x_Data,1);
ii=1;jj=2;c=1;
New_y_data(:,1)=y_data(:,1);
while c<=degree
  if jj<=degree+1
    while ii<=length(x_data)
    New_y_data(ii,jj)=(x_data(ii,1)^c)*y_data(ii,1);
    ii=ii+1;
    end
    ii=1;jj=jj+1;
  end
c=c+1;
end
New_y_data=sum(New_y_data,1)';ii=1;jj=1;c=1;
main_mat=rand(degree+1);
while jj<=degree+1
   while ii<=degree+1
   main_mat(jj,ii)=New_x_Data(1,c);
   ii=ii+1;
   c=c+1;
   end
ii=1;jj=jj+1;c=c-degree;
end
Coefficients=main_mat\New_y_data; % solve equation
ii=degree+1;
fprintf(' Linear model Poly%g:\n',degree')
fprintf(' P(x) = ')
while ii>0
   if ii-1>1
   fprintf('P%g*x^%g + ',ii,ii-1)
   ii=ii-1;
   elseif ii-1==1
   fprintf(' P%g*x ',ii)
   ii=ii-1;
   else
   fprintf(' + P1\n')
   ii=ii-1;
   end
end
ii=degree+1;
while ii>0
   fprintf(' P%g = %16.15f\n',ii,Coefficients(ii))
   ii=ii-1;
end



نوع مطلب : اموزش متلب 

داغ کن - کلوب دات کام
نظرات() 
Cialis online
یکشنبه 19 فروردین 1397 02:23 ق.ظ

You actually explained that very well.
precios cialis peru cialis dosage recommendations prices for cialis 50mg price cialis best interactions for cialis cialis 100 mg 30 tablet we recommend cialis info cialis generique 5 mg tadalafil tablets pastillas cialis y alcoho
foot pain relief
چهارشنبه 7 تیر 1396 08:45 ب.ظ
You could certainly see your expertise within the paintings you write.
The arena hopes for even more passionate writers like you who aren't afraid to
mention how they believe. At all times follow
your heart.
foot pain at night
دوشنبه 5 تیر 1396 01:24 ق.ظ
Hey there, You have done an incredible job. I'll definitely digg it and individually recommend to my friends.
I am sure they'll be benefited from this web site.
Walker
چهارشنبه 20 اردیبهشت 1396 11:53 ق.ظ
As the admin of this website is working, no question very quickly it
will be renowned, due to its quality contents.
BHW
جمعه 25 فروردین 1396 03:46 ب.ظ
Remarkable things here. I am very glad to look your article.
Thank you so much and I'm looking forward to touch
you. Will you kindly drop me a mail?
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر