我正在尝试在计算均值和方差后构建二项式拟合程序。该程序可以正确执行,但我无法以表格格式获取所有用户的输入数据。目前,仅以表格格式捕获最后的数据。
如何使用 scilab 获取表中所有用户输入的数据?
代码和输出: Scinotes 代码
我建议您使用向量/数组/矩阵以及 Scilab 中已有的函数(例如:函数
sum
返回矩阵元素的总和...)。
以这段代码为例:您可以存储值然后进行操作。
clear
N = input('N: ')
xin = zeros(1, N) //creating an array (all elements are zero)
fin = zeros(1, N)
for i = 1:N
xin(1, i) = input('xin: ') // assign the element at line 1 and column i
fin(1, i) = input('fin: ')
end
fsum = sum(fin)
product = xin.*fin // The .* means an elementwise product
fsp = sum(product)
for j = 1:N
mprintf('\n\t %.2f \t %.2f \t %.2f', xin(1, j), fin(1, j), product(1, j))
end
请发布代码而不是图像。我们无法通过屏幕截图进行测试。 您的代码在 for/end 块周围缩进严重。 在
for i
中,每次迭代都会覆盖 xin
和 fin
值。
这是一个有效的输入示例:
mode(1)
for i=1:3, xf(i,:) = evstr(input("Enter data x, value f : ","s")); end
Enter data x, value f : 2, 34
Enter data x, value f : 3, 11
Enter data x, value f : 5, 67
然后
--> xf
xf =
2. 34.
3. 11.
5. 67.
--> Mean = sum(prod(xf,"c"))/sum(xf(:,2))
Mean =
3.8928571