kết quả từ 1 tới 3 trên 3

Ðề tài: Hàm trong matlab

    Your Ads Here
  1. #1
    Thành viên
    Tham gia
    Jun 2012
    Bài gởi
    1
    LIKE
    0
    Được LIKE 0 lần

    Post Hàm trong matlab

    các anh chị cho em hỏi về cách sử dụng hàm [P,S,MU] = POLYFIT(X,Y,N). các giá trị S , MU tính như thế nào vậy ạ. e đưa ra 1 bài cụ thể như sau. nhờ các anh chị giúp đỡ :
    t=1:10;
    A=[9088 10503 12681 15290 17896 21302 24326 29105 32450 37192];
    f=polyfit(t,A,2)
    X=1:10;
    Y=174.8.*X.^2+1223.3.*X+7523.3;
    [f,S,q]=polyfit(t,A,2);
    [Y,delta]=polyval(f,X,S,q);
    plot(t,A,'o',X,Y,'k',X,[Y-delta;Y+delta]','r:');
    xlabel('t,nam'),ylabel('A,GWh')
    grid;
    legend('Du lieu','Ham hoi quy bac hai.','Sai so.',2)
    %tinh sai so
    ssb=(A-Y).^2;


    er=sqrt(sum(ssb)./size(t))*100/mean(A);
    ert=er(2)
    em muon hoi y nghia
    [f,S,q]=polyfit(t,A,2);
    [Y,delta]=polyval(f,X,S,q);
    cach tinh cac thanh phan S,q, delta .

    Em xin chân thành cảm ơn
     
    thay đổi nội dung bởi: office.pham, 06-06-2012 lúc 03:18 PM Lý do: Viết không dấu

  2. Your Ads Here
  3. #2
    Nhóm Q
    mori's Avatar
    Tham gia
    Oct 2008
    Bài gởi
    749
    LIKE
    1,147
    Được LIKE 1,221 lần

    Default Ðề: Hàm trong matlab

    Bạn mở hàm con đó ra, gõ tên nháy chuột phải chọn Open Selection hoặc ấn F4. Nó có các comment về hàm này, về thuật toán, về các biến... Còn muốn hiểu chức năng bạn xem lại mục help.

    Nếu mình nhờ không nhầm thì là biết 1 đa thức bậc n nào đó, và biết giá trị y_i của đa thức tại x_i nào đó (x,y là vector) , hãy tìm các hệ số trong đa thức. Không nhớ rõ lắm đâu. bạn nên xem lại trong help (mở bằng cách ấn F1 khi bôi đen vào lệnh mình viết ra, hoặc mở trực tiếp trong menu help-> product help)

    function [p,S,mu] = polyfit(x,y,n)
    %POLYFIT Fit polynomial to data.
    % P = POLYFIT(X,Y,N) finds the coefficients of a polynomial P(X) of
    % degree N that fits the data Y best in a least-squares sense. P is a
    % row vector of length N+1 containing the polynomial coefficients in
    % descending powers, P(1)*X^N + P(2)*X^(N-1) +...+ P(N)*X + P(N+1).
    %
    % [P,S] = POLYFIT(X,Y,N) returns the polynomial coefficients P and a
    % structure S for use with POLYVAL to obtain error estimates for
    % predictions. S contains fields for the triangular factor (R) from a QR
    % decomposition of the Vandermonde matrix of X, the degrees of freedom
    % (df), and the norm of the residuals (normr). If the data Y are random,
    % an estimate of the covariance matrix of P is (Rinv*Rinv')*normr^2/df,
    % where Rinv is the inverse of R.
    %
    % [P,S,MU] = POLYFIT(X,Y,N) finds the coefficients of a polynomial in
    % XHAT = (X-MU(1))/MU(2) where MU(1) = MEAN(X) and MU(2) = STD(X). This
    % centering and scaling transformation improves the numerical properties
    % of both the polynomial and the fitting algorithm.
    %
    % Warning messages result if N is >= length(X), if X has repeated, or
    % nearly repeated, points, or if X might need centering and scaling.
    %
    % Class support for inputs X,Y:
    % float: double, single
    %
    % See also POLY, POLYVAL, ROOTS.

    % Copyright 1984-2006 The MathWorks, Inc.
    % $Revision: 5.17.4.9 $ $Date: 2007/08/03 2127 $

    % The regression problem is formulated in matrix format as:
    %
    % y = V*p or
    %
    % 3 2
    % y = [x x x 1] [p3
    % p2
    % p1
    % p0]
    %
    % where the vector p contains the coefficients to be found. For a
    % 7th order polynomial, matrix V would be:
    %
    % V = [x.^7 x.^6 x.^5 x.^4 x.^3 x.^2 x ones(size(x))];

    if ~isequal(size(x),size(y))
    error('MATLAB:polyfit:XYSizeMismatch',...
    'X and Y vectors must be the same size.')
    end

    x = x(;
    y = y(;

    if nargout > 2
    mu = [mean(x); std(x)];
    x = (x - mu(1))/mu(2);
    end

    % Construct Vandermonde matrix.
    V(:,n+1) = ones(length(x),1,class(x));
    for j = n:-1:1
    V(:,j) = x.*V(:,j+1);
    end

    % Solve least squares problem.
    [Q,R] = qr(V,0);
    ws = warning('off','all');
    p = R\(Q'*y); % Same as p = V\y;
    warning(ws);
    if size(R,2) > size(R,1)
    warning('MATLAB:polyfitolyNotUnique', ...
    'Polynomial is not unique; degree >= number of data points.')
    elseif warnIfLargeConditionNumber(R)
    if nargout > 2
    warning('MATLAB:polyfit:RepeatedPoints', ...
    ['Polynomial is badly conditioned. Add points with distinct X\n' ...
    ' values or reduce the degree of the polynomial.']);
    else
    warning('MATLAB:polyfit:RepeatedPointsOrRescale', ...
    ['Polynomial is badly conditioned. Add points with distinct X\n' ...
    ' values, reduce the degree of the polynomial, or try centering\n' ...
    ' and scaling as described in HELP POLYFIT.']);
    end
    end
    r = y - V*p;
    p = p.'; % Polynomial coefficients are row vectors by convention.

    % S is a structure containing three elements: the triangular factor from a
    % QR decomposition of the Vandermonde matrix, the degrees of freedom and
    % the norm of the residuals.
    S.R = R;
    S.df = max(0,length(y) - (n+1));
    S.normr = norm(r);

    function flag = warnIfLargeConditionNumber(R)
    if isa(R, 'double')
    flag = (condest(R) > 1e+10);
    else
    flag = (condest(R) > 1e+05);
    end
     
    thay đổi nội dung bởi: mori, 06-06-2012 lúc 04:18 PM
    Kogoro_Thám Tử Gà Mờ

  4. Những người đã nhấn LIKE cho mori vì bài viết hữu ích:

    Nova (06-06-2012)

  5. #3
    Thành viên
    Tham gia
    Jul 2012
    Bài gởi
    1
    LIKE
    0
    Được LIKE 0 lần

    Default Ðề: Hàm trong matlab

    POLIFIT là một hàm dùng để lấy xấp xỉ một đồ thị. Cấu trúc của lệnh POLIFIT như sau, bạn tham khảo nhé !
    x = []; ----------------- mảng x
    y = []; ----------------- mảng y
    n = k; ----------------- dạng của đường cong xấp xỉ (n = 2: parabol, n = 3, 4,5, ....)
    p = polyfit(x,y,n);
    xi = linspace(…,…,…);
    z = polyval(p,xi);
    plot(x,y,xi,z);
     


Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Chủ đề giống nhau

  1. Đa thức trong matlab
    By lab.cdt in forum MATLAB
    Trả lời: 0
    Bài mới: 18-05-2012, 01:00 AM
  2. Vễ mp trong matlab
    By promoraiati in forum MATLAB
    Trả lời: 1
    Bài mới: 05-05-2012, 10:22 AM
  3. Trả lời: 1
    Bài mới: 02-05-2012, 10:20 PM
  4. Trả lời: 4
    Bài mới: 06-01-2011, 09:19 PM
  5. cho em xin tài liệu về ứng dụng matlab trong đo lường
    By Meclancer in forum Tài liệu - Mã nguồn
    Trả lời: 2
    Bài mới: 04-01-2008, 03:15 PM

Bookmarks

Quyền Hạn Của Bạn

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Múi giờ GMT. Hiện tại là 08:10 AM.
Mã nguồn vBulletin. Copyright ©2000-2014, Jelsoft Enterprises Ltd.
Bản quyền nội dung thuộc MES Lab.
Vui lòng ghi rõ nguồn MES LAB. và LINK đến bài trích dẫn

Thành viên tự chịu trách nhiệm về nội dung mình đăng lên.
Diễn đàn không chịu trách nhiệm về nội dung các liên kết ngoài.
A Project by: MES Lab.