2012-09-13 40 views
7

Chức năng clearvars có hướng dẫn được trình bày here.Sử dụng clearvars chính xác trong MATLAB

Vì vậy, nói rằng tôi có một tập hợp các biến,

a, b, c, d 

và tôi muốn xóa các biến này trừ d tôi sẽ có thể làm điều này:

clearvars * -except d 

nhưng tôi nhận được lỗi sau:

clearvars * -except d 
       | 
Error: Unexpected MATLAB expression. 

Lý do cho điều này là gì?

+0

@PeterMortensen, chỉnh sửa của bạn có như vậy một bình luận ass thông minh. Tôi thích nó ... –

Trả lời

7

này hoạt động: clearvars '*' -except d

Matlab phải có một vấn đề chuyển đổi * thành một chuỗi khi nó ngày của riêng mình. Tốt với cả hai số a**a, nhưng không phải là *.

Ngoài ra, công trình này:

clearvars('*', '-except', 'd') 
5

Không cần ký tự *.

+0

nhưng ví dụ trên trang nói điều này: clearvars a * -except -regexp a $ là một ví dụ về một hệ thống làm việc, vậy tại sao sao không hoạt động? –

+1

Trong trường hợp đó, '*' hoạt động như một ký tự đại diện để khớp với bất kỳ biến nào bắt đầu bằng 'a'. Hãy thử tạo một số biến như 'aa = 1; ab = 2; ac = 3', sau đó sử dụng một cái gì đó như 'clearvars a * -except ab' để xem nó hoạt động như thế nào. – AGS

+1

Tôi hiểu nó hoạt động như thế nào, nhưng thường thì ngôi sao biểu thị mọi thứ. Tôi đoán nó chỉ là một cuộc trốn tránh matlab là tại sao các ngôi sao của chính nó không hoạt động. –

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