11
Tôi phải chuyển đổi một chuỗi như str='x^2+3'
thành một hàm. Giải pháp là lấy hàm nội tuyến f=inline(str)
, nhưng sẽ không được hỗ trợ trong các phiên bản sau.Làm thế nào để chuyển đổi chuỗi để xử lý chức năng trong Matlab?
Giải pháp thay thế là f=eval(['@(x)',f])
nhưng dường như không phải là tùy chọn gọn gàng.
Chức năng str2func
không hoạt động vì nó chỉ yêu cầu tên của hàm hiện có.
Khi OP tuyên bố rằng 'str2func' sẽ không hoạt động, bạn có thể đề cập rằng với' ['@ (x)' str] 'bạn thực sự tạo một hàm * tồn tại * sau đó và thuyết phục' str2func' làm nhiệm vụ của mình. Chỉ là một gợi ý, tôi sẽ xóa bình luận sau này. – thewaywewalk
Cảm ơn bạn đã phản hồi, tôi sẽ để lại bình luận của bạn ngay bây giờ ít nhất vì nó giải thích rõ ràng. – am304
Bạn cũng có thể nói rằng '['@ (x)' str]' là "tên" của chức năng ẩn danh được tạo ra trên bay –