与C一样,我想创建一个自己的数据类型,所以我有一个文件声明这种类型,以后可以将它们用作掩码。我想做的是这样的事情:
function declareParameter()
param1=struct(...
'argument_a1',[],...
'argument_a2',[],...
'argument_a3',[]);
param2=struct(...
'argument_b1',[],...
'argument_b2',[]);
param2=struct(...
'argument_c1',[],...
'argument_c2',[],...
'argument_c3',[],...
'argument_c4',[]);
end
所以我有param,我可以使用"我自己定义的数据类型"。我的代码后期我只想写
p=param1;
p.argument_a1=....;
o=param2;
o.argument_b2=....;
n=param3;
n.argument_c1=...;
n.argument_c4=...;
有没有可能定义像param
那样我可以用作系统范围原型的东西?在函数中执行此操作不起作用,因为结构只是局部变量....
答案 0 :(得分:2)
这可以满足您的需求吗?
function out = param
out=struct(...
'argument1',[],...
'argument2',[],...
'argument3',[]);
end
>> a = param
a =
argument1: []
argument2: []
argument3: []
>> b = param
b =
argument1: []
argument2: []
argument3: []
或者你可以创建一个简单的对象,如果你想限制只有名为argument1
,argument2
和argument3
的字段,可能会更好:
classdef param
properties
argument1
argument2
argument3
end
end
>> a = param
a =
param with properties:
argument1: []
argument2: []
argument3: []
>> b = param
b =
param with properties:
argument1: []
argument2: []
argument3: []