Tôi tạo ra một chức năng xử lý vô danh như thế này:Lô một chức năng ẩn danh mà không cần tên biến rõ ràng
f = @(x,y)sqr(x)+sqr(y)
Đây là một quả cầu với hai biến x
và y
. Có vẻ như hoạt động vì tôi có thể gọi một số thứ như
f(2,3)
và MATLAB cho tôi kết quả phù hợp ans = 13
.
Trong bước cuối cùng, tôi muốn vẽ hàm đó từ câu 7-7 cho cả x
và y
. Vì vậy, tôi gọi
fmesh(f,[-7 7])
và hình bên phải bật lên. Càng xa càng tốt.
Đối với một số lý do, mà tôi không muốn chỉ định ở đây, bây giờ tôi muốn chỉnh sửa các chức năng xử lý như sau:
f = @(x)sqr(x(1))+sqr(x(2))
này nên là lĩnh vực tương tự, nhưng lần này với 2 biến x(1)
và x(2)
. Kể từ khi chức năng bây giờ muốn một mảng như là đối số tôi thay đổi nội dung các cuộc gọi thử nghiệm
f([2,3])
và nó vẫn mang lại cho tôi những kết quả đúng ans = 13
.
Nhưng đây là vấn đề: Làm thế nào để vẽ đồ thị chức năng muốn một mảng làm đối số? Lệnh lưới giống như trước đây tất nhiên không thành công, vì [-7,7]
có thứ nguyên sai. Điều tương tự cũng xảy ra với [[-7 7] [-7 7]]
và [[-7 7];[-7 7]]
.
Làm cách nào để có được một lô làm việc từ chức năng mới đó xử lý? Cảm ơn bạn trước!
Bạn có thể không thực sự làm điều đó. Bạn có thể bọc 'f' bên trong một hàm ẩn danh khác chấp nhận hai đầu vào và tạo ra một:' g = @ (x, y) f ([x, y]) ' – Suever