Làm thế nào để bạn vẽ một gradient trong python?

Độ dốc được tính toán bằng cách sử dụng chênh lệch trung tâm chính xác bậc hai ở các điểm bên trong và chênh lệch chính xác một bên [tiến hoặc lùi] bậc một hoặc bậc hai tại các ranh giới. Do đó, độ dốc được trả về có cùng hình dạng với mảng đầu vào

Thông sốfarray_like

Mảng N chiều chứa các mẫu của hàm vô hướng

varargslist của vô hướng hoặc mảng, tùy chọn

Khoảng cách giữa các giá trị f. Giãn cách đơn vị mặc định cho tất cả các kích thước. Khoảng cách có thể được chỉ định bằng cách sử dụng

  1. vô hướng đơn để chỉ định khoảng cách mẫu cho tất cả các kích thước

  2. N vô hướng để chỉ định khoảng cách mẫu không đổi cho mỗi thứ nguyên. tôi. e. dx, dy, dz, …

  3. N mảng để xác định tọa độ của các giá trị dọc theo mỗi chiều của F. Độ dài của mảng phải khớp với kích thước của chiều tương ứng

  4. Bất kỳ sự kết hợp nào của N vô hướng/mảng có nghĩa là 2. và 3

Nếu trục được đưa ra, số lượng varargs phải bằng số lượng trục. Mặc định. 1

edge_order{1, 2}, tùy chọn

Độ dốc được tính bằng cách sử dụng chênh lệch chính xác thứ tự N tại các ranh giới. Mặc định. 1

axisNone hoặc int hoặc bộ số nguyên, tùy chọn

Độ dốc chỉ được tính toán dọc theo trục hoặc các trục đã cho. Mặc định [trục = Không có] là tính toán độ dốc cho tất cả các trục của mảng đầu vào. trục có thể âm, trong trường hợp đó, nó được tính từ trục cuối cùng đến trục đầu tiên

Returnsgradientndarray hoặc danh sách ndarray

Một danh sách ndarray [hoặc một ndarray duy nhất nếu chỉ có một chiều] tương ứng với các đạo hàm của f đối với mỗi chiều. Mỗi đạo hàm có cùng dạng với f

ghi chú

Giả sử rằng \[f\in C^{3}\] [i. e. , \[f\] có ít nhất 3 đạo hàm liên tục] và để \[h_{*}\] là kích thước bậc không đồng nhất, chúng tôi giảm thiểu “lỗi nhất quán” \[\eta_{i}\] giữa độ dốc thực

\[\eta_{i} = f_{i}^{\left[1\right]} - ​​\left[ \alpha f\left[x_{i}\right] + \beta f\left[x_{i}

Bằng cách thay thế \[f[x_{i} + h_{d}]\] và \[f[x_{i} - h_{s}]\] bằng khai triển chuỗi Taylor của chúng, điều này chuyển thành việc giải hệ phương trình tuyến tính sau

\[\begin{split}\left\{ \begin{array}{r} \alpha+\beta+\gamma=0 \\ \beta h_{d}-\gamma h_{s}=1 \\ \beta h_{ . \end{split}\]

Kết quả gần đúng của \[f_{i}^{[1]}\] như sau

\[\hat f_{i}^{[1]} = \frac{ h_{s}^{2}f\left[x_{i} + h_{d}\right] + \left[h_{d}

Điều đáng chú ý là nếu \[h_{s}=h_{d}\] [i. e. , dữ liệu cách đều nhau], chúng tôi tìm thấy xấp xỉ bậc hai tiêu chuẩn

\[\hat f_{i}^{[1]}= \frac{f\left[x_{i+1}\right] - f\left[x_{i-1}\right]}{2h} +

Với một quy trình tương tự, các xấp xỉ tiến/lùi được sử dụng cho các ranh giới có thể được suy ra

Người giới thiệu

1

quý A. , Sacco R. , Saleri F. [2007] Toán số [Văn bản trong Toán ứng dụng]. Newyork. lò xo

2

Durran D. r. [1999] Phương pháp số cho phương trình sóng trong động lực học chất lỏng địa vật lý. Newyork. lò xo

3

Fornberg B. [1988] Tạo các công thức sai phân hữu hạn trên các lưới cách nhau tùy ý, Toán học tính toán 51, không. 184. 699-706. PDF

ví dụ

>>> f = np.array[[1, 2, 4, 7, 11, 16], dtype=float]
>>> np.gradient[f]
array[[1. , 1.5, 2.5, 3.5, 4.5, 5. ]]
>>> np.gradient[f, 2]
array[[0.5 ,  0.75,  1.25,  1.75,  2.25,  2.5 ]]

Khoảng cách cũng có thể được chỉ định bằng một mảng biểu thị tọa độ của các giá trị F dọc theo kích thước. Ví dụ, một khoảng cách thống nhất

>>> x = np.arange[f.size]
>>> np.gradient[f, x]
array[[1. ,  1.5,  2.5,  3.5,  4.5,  5. ]]

Hoặc một cái không đồng nhất

>>> x = np.array[[0., 1., 1.5, 3.5, 4., 6.], dtype=float]
>>> np.gradient[f, x]
array[[1. ,  3. ,  3.5,  6.7,  6.9,  2.5]]

Đối với mảng hai chiều, kết quả trả về sẽ là hai mảng được sắp xếp theo trục. Trong ví dụ này, mảng đầu tiên đại diện cho độ dốc theo hàng và mảng thứ hai theo hướng cột

Trong phương pháp tối ưu hóa giảm dần độ dốc, một hàm giả thuyết, $h_\boldsymbol{\theta}[x]$, được khớp với một tập dữ liệu, $[x^{[i]}, y^{[i]}] . Hàm chi phí mô tả mức độ phù hợp của giả thuyết với dữ liệu đối với một lựa chọn nhất định về $\boldsymbol \theta$

Ví dụ: một người có thể muốn khớp một tập dữ liệu đã cho thành một đường thẳng, $$ h_\boldsymbol{\theta}[x] = \theta_0 + \theta_1 x. $$ Một hàm chi phí phù hợp có thể là tổng của bình phương sự khác biệt giữa dữ liệu và giả thuyết. $$ J[\boldsymbol{\theta}] = \frac{1}{2m} \sum_i^{m} \left[h_\theta[x^{[i]}] - y^{[i]}\ . $$ Phương pháp giảm độ dốc bắt đầu với một tập hợp các giá trị tham số ban đầu là $\boldsymbol\theta$ [giả sử $\theta_0 = 0, \theta_1 = 0$], sau đó tuân theo một quy trình lặp, thay đổi các giá trị của $\ . $$ \theta_j \rightarrow \theta_j - \alpha \frac{\partial}{\partial \theta_j}J[\boldsymbol{\theta}]. $$

Để đơn giản hóa mọi thứ, hãy xem xét việc khớp một tập dữ liệu thành một đường thẳng qua gốc tọa độ. $h_\theta[x] = \theta_1 x$. Trong bài toán một chiều này, chúng ta có thể vẽ một đồ thị đơn giản cho $J[\theta_1]$ và thực hiện theo quy trình lặp cố gắng hội tụ tại điểm cực tiểu của nó

Việc khớp một đường thẳng chung với một tập dữ liệu yêu cầu hai tham số và do đó $J[\theta_0, \theta_1]$ có thể được hiển thị dưới dạng biểu đồ đường đồng mức. Quy trình lặp tương tự đối với hai tham số này cũng có thể được thực hiện dưới dạng các điểm trên biểu đồ này

Biểu đồ độ dốc là gì?

Độ dốc là một từ khác của "độ dốc" . Độ dốc của đồ thị tại một điểm càng cao thì đường tại điểm đó càng dốc. Độ dốc âm có nghĩa là đường dốc xuống.

Làm cách nào tôi có thể vẽ biểu đồ bằng Python?

Các bước sau đã được thực hiện. .
Xác định các giá trị trục x và trục y tương ứng dưới dạng danh sách
Vẽ chúng trên canvas bằng cách sử dụng. hàm lô []
Đặt tên cho trục x và trục y bằng cách sử dụng. xlabel[] và. các hàm ylabel[]
Đặt tiêu đề cho cốt truyện của bạn bằng cách sử dụng. chức năng tiêu đề []
Cuối cùng, để xem cốt truyện của bạn, chúng tôi sử dụng. chức năng hiển thị []

Chủ Đề