我在实时脚本单元中有此代码:
u = symunit;
syms V_GS
V_t_value = 0.4*u.V;
K_n_W_L_value = 2*u.mA/u.V^2;
%get V_GS
i_d_equation_saturation = 0.5*K_n_W_L_value*(V_GS - V_t_value)^2;
assume(V_GS >= V_t_value) %saturation region condition for V_GS is needed, otherwise the equation has two solutions
i_D_values = {50*u.uA, 200*u.uA};
for i = 1:2
disp(replace(strcat('i_D = ', sym_with_units2str(i_D_values{i})), "mc", "u"))
V_GS_value = solve(i_d_equation_saturation - i_D_values{i});
%saturation region condition for V_DS
V_DS_min = V_GS_value - V_t_value;
V_GS_value = sym_with_units2str(V_GS_value)
V_DS_min = sym_with_units2str(V_DS_min)
disp(newline)
end
输出这个:
我不明白为什么它没有像我告诉的那样在循环末尾显示新行。经过一番谷歌搜索后,我尝试了一系列使用
sprintf
、fprintf
和 disp
的变体,以及使用 "\n"
、"\r\n"
和 char(10)
代替 newline
,但似乎没有任何作用。如果我使用 fprintf
或 disp
函数,它似乎会一起忽略它,无论是否使用 I "\n"
、newline
或 char(10)
作为参数。如果我使用 sprintf
,它会打印 ans = ' '
,而不是仅仅插入我想要的换行符。
如何让它只显示换行符?
而且,为了更加清楚,这样就不会被错误地关闭为重复项,我不是询问如何在字符串中插入换行符——我是在问如何插入换行符实时脚本中的代码输出之间。向字符串添加换行符的各种方法似乎不适用于在输出之间添加换行符。
编辑:有人评论说想要尝试运行我的确切代码,我在顶部添加了变量定义,这是我在单独文件中定义的函数定义:
function svalue = sym_with_units2str(value)
[value, unit] = separateUnits(value);
svalue = strcat(sim2str(value), symunit2str(unit));
end
我终于找到了有用的东西,所以将其发布以防其他人遇到同样的问题。
用
disp(newline)
替换 fprintf(' ')
可以显示换行符。