function simps()
A=[0,0];
B=[0,0];
set_param('circuit/LINE2','Capacitance',num2str(C(1)))
sim('circuit')
B=[Real,Reactive];
A=[A;B];
end
C
是一个矩阵。它包含10个变量。像1,10,50,100随机。它在uF。
circuit
是文件名
Real Reactive
是to workspace
名称。
LINE2
是RLC分支的名称。 RLC分支仅包含电容。
我收到错误
“类型的输入参数的未定义函数或方法'C' '双'。 “
我搜索了stackoverflow,每个人都在讨论目录问题。但我的所有文件都在RUN目录中。
我做了
>> which C
它返回了
C is a variable.
所以我认为C在matlab的目录路径中。那么错误在哪里?
答案 0 :(得分:2)
您必须执行以下任一操作
a)将C
作为参数传递给函数simps()
或强> 的
b)从工作区评估C
C = evalin( 'base', 'C' );
在使用之前的函数内部。
此外,通常不鼓励使用eval
和evalin
,因为它会使您的代码更难以关注和重复使用。
提示:
您可能希望将两者结合起来,如下所示
function simps(C)
if nargin == 0
C= evalin( 'base', 'C' );
end
% Your code