c# - 生成给定多项式次数和系数列表的向量
问题描述
我正在使用 Unity,我正在制作一个生成器,用户在其中输入多项式的次数加上它的所有系数。例如,我可以有 3 级和[1,2,3,4]
,应该是1x^3 + 2x^2 + 3x^1 + 4x^0
。这是我所拥有的:
int[] coef = TitleToGame.coeficients;
for (int x = -10; x <= 10; x++)
{
float y = 0;
for (int i = 0; i < TitleToGame.degree - 1; i++)
{
if (i == 0)
{
y = coef[TitleToGame.degree] * Mathf.Pow(x, i);
}
else
{
y += coef[TitleToGame.degree - i] * Mathf.Pow(x, i);
}
Instantiate(block, new Vector3(x, y, 5), Quaternion.identity);
}
}
我正在尝试从域 -10 到 10 生成块。但是,结果看起来有点古怪。
带有 [1,1,1,1] 的 3 阶显示带有额外线性线的抛物线:
2 级显示一条直线(带有多余的不需要的平线),1 级不显示任何内容,4 级也显示一条抛物线。我究竟做错了什么?
解决方案
当我假设您想在外部循环(从-10 到 10)中调用它时,您正在内部 for 循环中调用 Instantiate。
此外,您可能不需要那个 if-else 语句。两条线都做同样的事情。
for (int i = 0; i < TitleToGame.degree - 1; i++)
{
y += coef[TitleToGame.degree - i] * Mathf.Pow(x, i);
}
Instantiate(block, new Vector3(x, y, 5), Quaternion.identity);
推荐阅读
- impala - 我可以使用列名作为数据吗
- jdbc - Snowflake JDBC 驱动程序“在每个表上选择以摄取”权限
- python - Foursquare API 使用 Python 中的列表调用单个场所
- sql - Postgres/SQL 中针对保留关键字的列命名约定是什么?
- python - 使用python在复杂图像的白色边界上裁剪图像
- angular - 我如何获得 Angular 输入字段值?
- elasticsearch - ES 版本升级 | 5.X 至 7.X
- fortran - 使用不带 % 的 fortran 派生类型变量
- groovy - 如何创建一个 groovy 文件来搜索 PR 中的特定文件
- javascript - jquery自动检查带有数组中值的复选框