python报错:only size-1 arrays can be converted to Python scalars 解决方案
用Pycharm进行数据分析时,对一个二元函数做处理。函数如下:代码如下:# 定义适应度函数def F(x1,x2):return (20*x1 + 10*x2 + 10*x1*x2 - math.exp(0.2 * x1) - math.exp(0.3 * x2))报错如下:TypeError: only size-1 arrays can be converted to Python scal
·
用Pycharm进行数据分析时,对一个二元函数做处理。函数如下:
代码如下:
# 定义适应度函数
def F(x1,x2):
return (20*x1 + 10*x2 + 10*x1*x2 - math.exp(0.2 * x1) - math.exp(0.3 * x2))
报错如下:
TypeError: only size-1 arrays can be converted to Python scalars
后来经查询,发现将math改成np即可解决,当然要事先导入numpy库才可以使用np对象。
代码如下:
import math
import numpy as np
# 定义适应度函数
def F(x1,x2):
return (20*x1 + 10*x2 + 10*x1*x2 - np.exp(0.2 * x1) - np.exp(0.3 * x2))
改完之后错误解决。
原因是:
numpy.exp()可用作函数使用
输入可以为数组,返还可以表示函数值,可用于图像绘制
math.exp()输入必须为固定的数或者其他数据类型(数组),
必须固定,不能是变量,不能用于画图
输出为固定数值在数值计算时使用

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)