2012-01-15 38 views
5

Có thể lấy đạo hàm của một function_handle như một khác function_handle?Lấy đạo hàm của hàm function_handle trong MATLAB

Giống như:

fun1 = @(x) x^2; 
    % do that ... 
    disp(fun2); 
    @(x) x*2 

tôi biết làm thế nào để tìm đạo hàm của một hàm mang tính biểu tượng nhưng tôi không thể chuyển đổi một function_handle đến một chức năng mang tính biểu tượng.

Tôi mới tham gia MATLAB và tôi không thể tìm thấy bất kỳ cách nào để thực hiện điều đó. Cảm ơn trước.

+0

xem http://stackoverflow.com/q/2307705/1132686 –

Trả lời

0

Bạn có thể nhận được một chức năng xấp xỉ:

delta = 0.0001; 
d = @(x)((fun1(x+delta) - fun1(x))./delta) 
1

Câu trả lời ngắn gọn là "Không" MATLAB không biết nội dung của hàm function_handle có ý nghĩa gì theo nghĩa biểu tượng. Bạn nên tạo nó bằng cách sử dụng syms ở vị trí đầu tiên.

Câu trả lời dài hơn sẽ là sử dụng Hộp công cụ toán học biểu tượng, như được đề xuất bởi @A Danesh hoặc xấp xỉ theo đề xuất của @Andrey.

Tuy nhiên, nếu bạn luôn làm việc với đa thức, sau đó bạn có thể lưu trữ các hệ số như một mảng và sử dụng các chức năng sau:

  • polyval để đánh giá
  • conv nhân
  • deconv để chia
  • polyder để phân biệt
  • polyint để tích hợp
0

bạn không thể phân tích từ trình xử lý chức năng.

nhưng nếu bạn có hộp công cụ toán học biểu tượng, bạn có thể dẫn xuất hàm tượng trưng và tạo một hàm xử lý từ kết quả.

Các vấn đề liên quan