我有一个简单而有趣的问题。我很难谷歌,但我的谷歌感到不安,给了我相同的结果...... 我想知道是否可以更新常量变量表单工作区命令..
一个简单的例子:
function y =StupidQuestion
a = 10; % some value
b =[5,6,7;1,2,8]; % some value
y = b*a % some operation
我忘了告诉你我们可以使用下面的命令
用simulink块来做set_param('obj', 'parameter1', value1, 'parameter2', value2, ...)
我希望使用指定值3周,并且没有任何理由我想将我的值 [a,b] 更改为其他但通过命令窗口。任何的想法。等待你有趣的回复...................
答案 0 :(得分:2)
您可以为输入设置默认值:
function y = foo(a,b)
if nargin < 1 || isempty(a), a = 10; end
if nargin < 2 || isempty(b), b = [5,6,7;1,2,8]; end
y = b*a
end
您可以在没有输入的情况下致电foo()
(它将使用a
和b
的默认值)或提供您自己的值:foo(12)
,{{1} },foo(12,[10,20])
等......
答案 1 :(得分:0)
一种可能的方法是将一些变量保存在外部文件中。请注意,在这种情况下,a
和b
仅在功能工作区中(除非您单独加载test.mat
的内容,否则您不会看到它们的值)。我传递文件名而不是硬编码,以防你需要在多个设置之间切换。
我个人更喜欢拥有一个人类可读的数据文件,但概念保持不变(你只需要一些解析器函数,它返回a
和b
的值文件)。
a = 10; % some value
b =[5,6,7;1,2,8]; % some value
save('test.mat','a','b');
clear a b;
function y = savedvariables(filename)
load(filename);
y = b*a; % some operation
end
y = savedvariables('test.mat');