Vì vậy, gần đây tôi đã chuyển đổi từ Mathematica sang Matlab, và trong khi Matlab có hầu hết các tính năng hữu ích của Mathematica, tôi không thể tìm ra cách thực hiện tương đương với hoạt động thiết lập bị trì hoãn của Mathematica ': ='. trong một thời trang lười biếng.Bạn có thể thực hiện một bộ trì hoãn (: = trong Mathematica) trong Matlab không?
Ví dụ, trong Mathematica:
y = 2;
x: = y;
y = 3;
x
sẽ cung cấp cho các giá trị của x là 3, trong khi cách duy nhất tôi có thể nhận được hành vi này cùng trong Matlab là:
y = 2;
x = @() (y);
y = 3;
x()
đó, trong khi về mặt kỹ thuật trả lời câu hỏi của tôi, là một tác phẩm quảng cáo hoc khá xung quanh và đòi hỏi điều trị x là một hàm.
Vì vậy, có cách tự nhiên hơn để làm điều này là Matlab?
EDIT:
giải pháp ad-hoc của tôi chỉ hoạt động khi y là một lĩnh vực của một lớp xử lý, tôi rời này ra khỏi các mã cho rõ ràng (nó phải được someclass.y). Tốt nhất là câu trả lời cho câu hỏi của tôi sẽ không có hạn chế này, nhưng tôi vẫn chấp nhận nó nếu nó đã làm.
cảm ơn bạn đã nắm bắt, tôi đã chỉnh sửa bài đăng của mình để giải thích. Tuy nhiên, điều này thực sự là một nhận xét về câu hỏi của tôi chứ không phải là câu trả lời, vì bạn chưa cố gắng cung cấp câu trả lời ... Ngoài ra, trong khi tôi nhận ra Mathematica và Matlab ban đầu là các ngôn ngữ khác nhau (biểu tượng và tính toán số), họ đã bắt đầu chồng lên nhau theo những cách không tầm thường. Cả hai cũng cho phép lập trình trong các mô hình khác nhau, do đó, thực sự không còn là một 'MATLAB-way' nữa. – zergylord
@zergylord: sự thật là tôi bắt đầu nó như một bình luận, nhưng đã trở thành quá dài cho một. Tôi sẽ xóa nó nếu bạn cảm thấy điều này không thêm bất kỳ giá trị: ( – Amro
Ah có, giới hạn ký tự ác. Nvm sau đó, bạn không nên xóa nó vì nó là thông tin :). – zergylord