提问人:Mikayla Eckel Cifrese 提问时间:8/30/2023 最后编辑:Mikayla Eckel Cifrese 更新时间:9/1/2023 访问量:54
如何在 MatLab 实时脚本的代码输出之间添加换行符?
How can I add line breaks in between code outputs in a MatLab live script?
问:
我在实时脚本单元中有以下代码:
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
它输出这个:
我不明白为什么它没有像我告诉的那样在循环结束时显示新行。经过一堆谷歌搜索,我尝试了一堆使用 、 和 以及使用 、 和 代替 的变体,但似乎没有任何效果。如果我使用 or 函数,无论是否使用 I 、 或作为参数,它似乎都会忽略它。如果我使用 ,它会打印出来,而不仅仅是插入我想要的换行符。sprintf
fprintf
disp
"\n"
"\r\n"
char(10)
newline
fprintf
disp
"\n"
newline
char(10)
sprintf
ans = ' '
我怎样才能让它只显示换行符?
而且,为了更加清楚,这样就不会被错误地关闭为重复项,我不是在问如何在字符串中插入换行符——我是在问如何在实时脚本中的代码输出之间插入换行符。向字符串添加换行符的各种方法似乎不适用于在输出之间添加换行符。
编辑:有人评论说想尝试运行我的确切代码,我在顶部添加了变量定义,这是我在单独的文件中定义的函数定义:
function svalue = sym_with_units2str(value)
[value, unit] = separateUnits(value);
svalue = strcat(sim2str(value), symunit2str(unit));
end
答:
1赞
Mikayla Eckel Cifrese
8/30/2023
#1
我终于找到了一些有效的东西,所以发布它以防其他人遇到同样的问题。
替换为 或 让它显示换行符。disp(newline)
fprintf(' ')
disp(' ')
评论
for i = 1:2, disp('abc'), disp(newline), end
newline
clear newline
disp(newline)
V_DS_min
clear newline
newline
[]