Matlab 如何绘制具有符号变量的向量数组?

Matlab 如何绘制具有符号变量的向量数组?,matlab,symbolic-math,dsolve,Matlab,Symbolic Math,Dsolve,**我想画一个包含符号变量的数组向量。但我得到一个错误,如下所示 syms A Epsilon0 k1 k2 e s d R s f T c0 v0 v An = 0.5*10^(-9); Epsilon0n = 8.85*10^-12; k1n = 10; k2n = 10; en = 1.6*10^-19; sn = 1.8*10^(-9);%m gap size% dn = 3*sn; % total dis

**我想画一个包含符号变量的数组向量。但我得到一个错误,如下所示

syms A Epsilon0 k1 k2 e s d R s f T c0 v0 v 
An        = 0.5*10^(-9);
Epsilon0n = 8.85*10^-12;
k1n       = 10;
k2n       = 10;
en        = 1.6*10^-19;
sn        = 1.8*10^(-9);%m gap size%
dn        = 3*sn; % total distance
Rn        = 1;
c0n=(An*Epsilon0n*k1n)/dn; 
t1=0:0.1:5;
fn=1000;
v0n=7.5;
Tn=5/f;
vn=v0n*sin(2*3.14*fn*t1);
plot(t1,vn); 
inits = 'q(0)=(20*10^(-20)),Q(0)=0';
[q,Q] = dsolve('Dq=((v/R)-(1/R)*(((d*q)+(s*Q))/(c0*d)))','DQ=   (((q+Q)/(A*Epsilon0*k1))*s)',inits);
qn1=vpa(subs(q,{A,Epsilon0,k1,k2,e,s,d,R,c0},  {An,Epsilon0n,k1n,k2n,en,sn,dn,Rn,c0n}),3);
i=1;
while i<length(t1);
qn2(i)=subs(qn1, v, vn(i));
i=i+1;
end
t2=t1(1:50);
plot(t2,qn2)
???使用==>绘图时出错 无法从sym转换为双精度

36处==>dsolvenew中的错误 绘图(t2、qn2)**

代码如下所示

syms A Epsilon0 k1 k2 e s d R s f T c0 v0 v 
An        = 0.5*10^(-9);
Epsilon0n = 8.85*10^-12;
k1n       = 10;
k2n       = 10;
en        = 1.6*10^-19;
sn        = 1.8*10^(-9);%m gap size%
dn        = 3*sn; % total distance
Rn        = 1;
c0n=(An*Epsilon0n*k1n)/dn; 
t1=0:0.1:5;
fn=1000;
v0n=7.5;
Tn=5/f;
vn=v0n*sin(2*3.14*fn*t1);
plot(t1,vn); 
inits = 'q(0)=(20*10^(-20)),Q(0)=0';
[q,Q] = dsolve('Dq=((v/R)-(1/R)*(((d*q)+(s*Q))/(c0*d)))','DQ=   (((q+Q)/(A*Epsilon0*k1))*s)',inits);
qn1=vpa(subs(q,{A,Epsilon0,k1,k2,e,s,d,R,c0},  {An,Epsilon0n,k1n,k2n,en,sn,dn,Rn,c0n}),3);
i=1;
while i<length(t1);
qn2(i)=subs(qn1, v, vn(i));
i=i+1;
end
t2=t1(1:50);
plot(t2,qn2)
syms A Epsilon0 k1 k2 e s d R s f T c0 v0 v
An=0.5*10^(-9);
ε=8.85*10^-12;
k1n=10;
k2n=10;
en=1.6*10^-19;
sn=1.8*10^(-9);%m间隙大小%
dn=3*sn;%总距离
Rn=1;
c0n=(An*Epsilon0n*k1n)/dn;
t1=0:0.1:5;
fn=1000;
v0n=7.5;
Tn=5/f;
vn=v0n*sin(2*3.14*fn*t1);
图(t1,vn);
inits='q(0)=(20*10^(-20)),q(0)=0';
[q,q]=dsolve('Dq=((v/R)-(1/R)*(((d*q)+(s*q))/(c0*d)),'Dq=((q+q)/(A*Epsilon0*k1))*s),inits);
qn1=vpa(subs(q,{A,ε0,k1,k2,e,s,d,R,c0},{An,ε0,k1n,k2n,en,sn,dn,Rn,c0n}),3);
i=1;

当iSo使用符号向量时,我们讨论的是符号变量的向量值函数吗?@patrik..我刚刚上传了代码。我想画一个向量“qn2”和时间“t2”…谢谢,基本上做一个t和v上的二维图?这就是你想要的吗?你为什么要用符号数学来解决这个问题,而不是用数字来解决它(比如用
ode45
)。数字计算也可以。。你能帮我用ode45解决这个问题吗@霍奇勒