我有三个m文件使用相同的变量并对这些变量进行计算。我已经创建了一个索引m文件,其中我声明了所有变量,我可以使用变量名称将变量共享给剩余的m文件。我的问题是变量名称经常更改,然后我必须手动更改所有这些文件中的变量名称。如何制作一个Matlab脚本,它可以自动从索引文件中获取变量名称和值,并将它们放到剩余的m文件中。
答案 0 :(得分:0)
我觉得你只需要一个小例子,你可以继续前进,所以我们走了: 首先使用不同的变量名称调用每个值。如果你有很多相同类型的值,那么数组更容易:
A0=0; A1=6; A2=12 %each one with its own name
B=zeros(16,1); %create an array of 16 numbers
B(1)= 0; %1 is the first element of an array so care for A0
B(2)= 6;
B(8)= 12;
disp(B); % a lot of numbers and you can each address individually
disp(B(8)); %-> 12
你可以把所有这些放在你的脚本中并尝试一下。现在到功能部分。您的功能可以有输入,输出,两者都没有。如果您只想创建数据,则不需要输入而是输出。
将其保存为myfile1.m
:
function output = myfile1()
number=[3;5;6]; %same as number(1)=3;number(2)=5;number(3)=6
%all the names just stay in this function and the variable name is chosen in the script
output = number; %output is what the file will be
end
这是myfile2.m
function output = myfile2(input)
input=input*2;%double all the numbers
%This will make an error if "input" is not an array with at least 3
%elements
input(3)=input(3)+2; %only input(3) + 2;
output = input;
end
现在尝试
B=myfile1() %B will become the output of myfile1
C=myfile2(B) %B is the input of myfile2 and C will become the output
save('exp.mat','C')
我希望这会让你开始。