嗨,我正在尝试将双精度值放入向量中,但是当我显示此矢量时,我看到放入其中的双精度值已转换为整数。如何避免这种情况?
我检查了teta的值,它们符合预期(即1.802、1.688),但是在矩阵x
中,这些值全为1。
SerialPort = 'COM23';
s = serial(SerialPort, 'BaudRate', 115200);
fopen(s);
n = 1;
while n<200
dis = fscanf(s,'d',2);
ang = fscanf(s,'d',3);
intDis = str2double(dis);
intAng = str2double(ang);
teta = pi/6 +(intAng-100)*pi/300;
x(n) = teta
y(n) = intDis;
n = n+1;
end
%polar(x,y)
fclose(s);
delete(s);
clear s;
答案 0 :(得分:0)
发生这种情况的唯一方法是,如果@GET("https://demo6861386.mockable.io/banner/test")
fun getPromotionalBanner(): Call<MerchantpromotionBDTO>
在脚本启动之前被声明为整数(或者可能是逻辑?)。您应该始终始终初始化所有变量,以避免出现意外错误:在循环之前将x
添加到脚本中。
但是您的循环恰好运行200次迭代,因此您知道x=[];
的大小将在末尾。您可以预分配:
x
我还建议您研究x = zeros(200,1);
循环的语法,因为在这种情况下,它比for
更简单。