matlab中一段程序,谁帮我看看错在哪里了?谢谢 syms x for i =0.01:0.01:1 y(i*100)=int(1,x,0,i) end
重新写一遍:symsxfori=0.01:0.01:1y(i*100)=int(1,x,0,i)end...
重新写一遍:
syms x
for i =0.01:0.01:1
y(i*100)=int(1,x,0,i)
end 展开
syms x
for i =0.01:0.01:1
y(i*100)=int(1,x,0,i)
end 展开
展开全部
y(i*100) 应该改成 y(round(i*100))
默认情况下,matlab始终以双精度浮点数(double)存储数据,只不过为了方便使用,在很多计算中都进行了适当的判断。比如输入 a=4 ,得到的 a 并不是一个整型变量,而是一个浮点数,不过没有小数部分而已;但大多数情况下,这样的数可以作为普通整数使用,比如调用数组元素。但涉及计算的时候,比如 0.07*100 并不一定能得到整数 7 ,需要用roud、ceil、floor、fix等函数进行适当取整
默认情况下,matlab始终以双精度浮点数(double)存储数据,只不过为了方便使用,在很多计算中都进行了适当的判断。比如输入 a=4 ,得到的 a 并不是一个整型变量,而是一个浮点数,不过没有小数部分而已;但大多数情况下,这样的数可以作为普通整数使用,比如调用数组元素。但涉及计算的时候,比如 0.07*100 并不一定能得到整数 7 ,需要用roud、ceil、floor、fix等函数进行适当取整
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询