m 파일을 실행할 때 Matlab R2015a의 작업 공간에 정의 된 변수를 사용하여 내장 함수를 재정의하는 방법을 알고 싶습니다.Matlab : 작업 공간에서 변수를 사용하여 내장 함수를 재정의하는 방법
function test
fun1
clear input
load test
plot(input)
return
function fun1
input=1:10;
save('test.mat','input')
return
을 내가 테스트를 실행 한 후 내가 얻을 : 나는 정의하면
는 말은 매트랩의 내장 함수로 입력을 취하고있다
Error using input
Not enough input arguments.
Error in test (line 8)
plot(input)
.
변수 이름을 변경하지 않고이를 해결하는 방법을 알고 계십니까?
감사합니다.
당신은 내장 함수를 덮어해서는 안됩니다. (이런 종류의 에러를 피하기 위해) – obchardon
그러나 내장 함수의 정확한 이름과 같은 변수 나 새로운 .m 파일을 생성하면이 내장 함수는 "덮어 쓰기"됩니다. – obchardon
@ obchardon 나는 동의하지 않는다. 예를 들어 커스텀 클래스 ('plus() '등등)에 대해 연산자를 오버로딩하는 경우와 같이, 무엇을하고 있는지를 아는 경우에는 아무런 문제가 없습니다. MATLAB은 필요할 때 원본 버전을 호출하기 위해 [builtin'] (https://www.mathworks.com/help/matlab/ref/builtin.html) 함수 ("_Execute 내장 함수에서 오버로드 된 메소드 _")를 제공하기도합니다 . || cardogar -로드를 사용하여 "변수를 존재하게 만드는"나쁜 습관입니다. 훨씬 더 나은 접근법은'A = load (...); var = A.someName'을 사용하면 mlint와 인간 모두를 혼란에 빠뜨릴 수 있습니다. –