纽贝在这里所以请不要太苛刻。 我有这三个功能,每个功能都有自己的文件:
"@angular/animations": "^4.4.6",
"@angular/cdk": "github:angular/cdk-builds",
"@angular/common": "^4.0.0",
"@angular/compiler": "^4.0.0",
"@angular/core": "^4.0.0",
"@angular/forms": "^4.0.0",
"@angular/http": "^4.0.0",
"@angular/material": "github:angular/material2-builds",
"@angular/platform-browser": "^4.0.0",
"@angular/platform-browser-dynamic": "^4.0.0",
"@angular/router": "^4.0.0",
"@ng-idle/core": "^2.0.0-beta.12",
"@ng-idle/keepalive": "^2.0.0-beta.12",
"angular2-moment": "^1.7.0",
"angular2-recaptcha": "^0.6.0",
"angulartics2": "^3.3.0",
"bootstrap": "^3.3.7",
"chartjs": "^0.3.24",
"core-js": "^2.4.1",
"file-saver": "^1.3.3",
"financejs": "^4.1.0",
"moment": "^2.18.1",
"ng2-ckeditor": "^1.1.9",
"ng2-currency-mask": "^4.4.1",
"ng2-slim-loading-bar": "^4.0.0",
"ngx-toastr": "^6.2.0",
"primeng": "^4.3.0",
"rxjs": "^5.1.0",
"web-animations-js": "^2.3.1",
"zone.js": "0.8.14"
如你所见,我想使用一个函数句柄,所以我可以在底部的两个函数中使用round。 函数必须在他们自己的文件中(到目前为止在matlab中不是问题)。 我的语法已关闭,但我无法找到一个处理带有两个变量的函数句柄的教程。
答案 0 :(得分:0)
如果我理解,函数句柄rd
仅存在于第一个脚本中,而其他脚本无法访问它。
如果您将第一个文件(函数)命名为runden.m
,并在其他函数中定义rd
而不在第一个函数中,则可以访问它。
两个注意事项 - 不要将保留的函数名称覆盖为add
,并使用end
代替endfunction
。
我建议安排这样的功能:
% file 1, named `runden.m`
function y = runden(x,L)
format long
y = (round(x*10^L))/10^L;
end
% file 2, named `ad.m`
function z = ad(x,y,L)
format long
rd = @(x) runden(x,L);
z = rd(rd(x)+rd(y));
end
% file 3, named `mult.m`
function z = mult(x,y,L)
format long
rd = @(x) runden(x,L);
z = rd(rd(x)*rd(y));
end