专栏
标签
求教:plot 变量类型问题
一般问题
发布于 2024-09-29 21:01:50
查看 29过去637天
n=0:1:10
相关积分运算
yy=abs.(Xn) 
plot(n,yy) 报错:ERROR: MethodError: no method matching Float64(::Num)

其中yy是变量积分运算出来的如下:
11-element Vector{Num}:
0.5
0.3183098861837907
1.9490859162596877e-17
0.10610329539459688
1.9490859162596877e-17
0.06366197723675814
1.9490859162596874e-17
0.04547284088339867
1.9490859162596877e-17
0.035367765131532294
1.9490859162596877e-17
完整代码如下,我觉得是在变量设置的问题,但是yy变量表里有都有数值,但是由于变量类型的问题绘图出现问题,请达人给予指导,完整代码如下:

fs=1000 
T0=2*pi 
τ0=pi
E=1
τ=τ0/(2*pi)*100
t=LinRange(-10,10,fs)
#x=square(t,70)
x=1/2*E*(square(t.+pi/2,τ).+1)
@variables  tt  n f Xn 
n=0:1:10
f=E.*exp.(-1im.*n.*2 .*pi./T0.*tt)
Xn=int.(f,tt,-τ0/2,τ0/2)./T0
yy=abs.(Xn)
eltype(yy)
axes(yy,1)
length(yy)
ndims(yy)
plot(n,yy)

image.png

所属专栏:Julia语言
产品信息:Syslab科学计算环境
科学计算
采纳的回答
发布于 2024-09-30 09:54:50

您好,根据您的代码,得到的yy应该是Vector{Num},目前plot函数暂不支持该类型数据绘制,可以通过两种方式解决此代码报错:

  1. 通过value函数将num解封,第19行代码修改如下:
plot(n,value.(yy))
  1. 通过类型转换,将yy转换成浮点型数据即可,第19行代码修改如下:
plot(n,TySymbolicMath.double.(yy))

全部回答 1

发布于 2024-09-30 09:54:50

您好,根据您的代码,得到的yy应该是Vector{Num},目前plot函数暂不支持该类型数据绘制,可以通过两种方式解决此代码报错:

  1. 通过value函数将num解封,第19行代码修改如下:
plot(n,value.(yy))
  1. 通过类型转换,将yy转换成浮点型数据即可,第19行代码修改如下:
plot(n,TySymbolicMath.double.(yy))
用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天