贴吧用户_GZME3b6
关注数: 2
粉丝数: 1
发帖数: 18
关注贴吧数: 2
为啥会出现erfc必须为实数啊,可是动力学方程中用到他了 大佬们我用ode45求解动力学方程,但是运行的时候提醒我erfc输入必须为实数,这个问题怎么解决啊,实在找不到原因所在了
大神们有没有知道这几行都应该写成啥样 %频域积分 %%%%%%%%%%%%%%%%%%%%%%%%%% clear; clc; close all hidden %%%%%%%%%%%%%%%%%% fni=input('频域积分-输入数据文件名:','s'); fid=fopen(fni,'r'); sf=fscanf(fid,'%f',1);%采样频率 fmin=fscanf(fid,'%f',1);%最小截止频率 fmax=fscanf(fid,'%f',1);%最大截止频率 c=fscanf(fid,'%f',1);%单位变换系数 it=fscanf(fid,'%f',1);%积分次数 sx=fscanf(fid,'%s',1);%横向坐标轴的标注 sy1=fscanf(fid,'%s',1);%纵向坐标轴输入单位的标注 sy2=fscanf(fid,'%s',1);%纵向坐标轴输出单位的标注 fno=fscanf(fid,'%s',1);%输出数据文件名 x=fscanf(fid,'%f',[1,inf]);%输入数据存成行向量
运行完提示我这个什么原因,明明算完s是一个数 clc clear syms zn dn sigma=2.04 N=7.324*10^(-3) beta=6.337 sigmas=((N*beta*sigma).^2-3.72*10^(-4)).^0.5/N/beta t=0.01 Q=t/(N*pi*beta*sigma) sigmas=((N*beta*sigma).^2-3.72*10^(-4)).^0.5/N/beta N=7.324*10^(-3) beta=6.337 s=vpasolve((int((zn-dn).*(1/((2.*pi).^0.5).*(sigma/sigmas).*exp(-0.5.*(sigma/sigmas).^2.*zn.^2)),dn,Inf))-Q) fun=@(zn) (zn-s).^(1/2).*(1/((2.*pi).^0.5).*(sigma/sigmas).*exp(-0.5.*(sigma/sigmas).^2.*zn.^2)) q=integral(fun,s,Inf)
原图是D是变量Ar随D变化,这个错误怎么解决 主程序 clc clear n=1; Ars=zeros(1,4); x=linspace(1,1.4,4); for D=x Ars(n)=hanshu(D); n=n+1; end Ar=Ars; figure(1) D=linspace(1,1.4,4); hold on plot (D,Ar,'*-') xlabel ('D') ylabel ('Ar') 子程序 function [Ars]=hanshu(D) syms Ar; g=1*10^(-10); Aa=0.0112 G=g/((Aa).^0.5) k=1; Q=0.01; ac=G.^2./((k*Q/2).^(2./(D-1))); g1=D.*((2-D)./D).^(D./2)./(3-2.*D); g2=((2-D)./D).^((3-2.*D)./2); g3=(D./(2-D)).^((2-D)./2) P=8*10.^(-6); equ=P==(1-3.*pi./16).*pi.*G.^(D-1).*g1.*Ar.^(D./2).*(g2.*Ar.^((3-2.*D)./2)-ac.^((3-2*D)./2))+k.*Q.*g3.*Ar.^(D./2).*ac.^((2-D)./2); Ars=vpasolve(equ,Ar);
怎么能把这个等式中al用其他字母表示出来 P = (1 - 3*pi/16)*pi*e*G^(d - 1)*al^(d/2)* f1*(al^((3 - 2*d)/2) - ac^((3 - 2*d)/2)) + f2*K*Sy*al^(d/2)*ac^((2 - d)/2)
总提醒我al识别不了,p是变量al在p的式子右边 E=1.3*10^11 D=1.69 G=1*10^(-10) K=2.8 Sy=3*10^8 n=0.072 a=0.421 v=3*10^(-3) h=1*10^(-5) A=1 ac=G^2*(2*E/K/Sy)^(2/(D-1)) f1=D/(3-2*D) f3=D/(2-D) P=(0:0.5*10^7:3*10^7) P=(1-3*pi/16)*pi*E*G^(D-1).*al^(D/2)*f1*(al^((3-2*D)/2)-ac^((3-2*D)/2))+f2*K*Sy.*al^(D/2)*ac^((2-D)/2) Ar=D*al/(2-D) Kl=9*(A-Ar).^3*n*a*v/2./Ar/pi/h.^4 figure(1) hold on plot (P,Kl) xlabel ('P') ylabel ('Kl')
这段程序求解Ar怎么解不出来 E=1.3*10^11 D=1.69 G=1*10^(-10) K=2.8 Sy=3*10^8 n=0.072 a=0.421 v=3*10^(-3) h=1*10^(-5) A=1 ac=G^2*(2*E/K/Sy)^(2/(D-1)) f1=(D/(3-2*D))*((2-D)/D)^(D/2) f2=((2-D)/D)^((3-2*D)/2) f3=(D/(2-D))^((2-D)/2) P=(0:0.5*10^7:3*10^7) Ar=solve('(1-3*pi/16)*pi*G^(D-1)*f1*Ar^(D/2)*(f2*Ar^((3-2*D)/2)-ac^((3-2*D)/2))+K*Sy*f3*Ar^(D/2)*ac^((2-D)/2)-p','Ar')
对于这个P的公式想把其中Ar用其他字母表示出来,怎么表示不出来 P = (1 - 3*pi/16)*pi*G^(d - 1)*f1* Ar^(d/2)*(f2*Ar^((3 - 2*d)/2) - ac^((3 - 2*d)/2)) + K*Sy*f3*Ar^(d/2)*ac^((2 - d)/2) P=Ar^(d/2) f1 (-ac^(1/2 (3 - 2 d)) + Ar^(1/2 (3 - 2 d)) f2) G^(-1 + d) (1 - (3 pi)/16) pi + ac^((2 - d)/2) Ar^(d/2) f3 K Sy
这段程序中P是变量 P的公式中有Ar,Kl的公式中也有Ar E=1.3*10^11 D=1.69 G=1*10^(-10) K=2.8 Sy=3*10^8 A=1 ac=G^2*(2*E/K/Sy)^(2/(D-1)) al=(2-D)*Ar/D f1=(D/(3-2*D))*((2-D)/D)^(D/2) f2=((2-D)/D)^((3-2*D)/2) f3=(D/(2-D))^((2-D)/2) P=(0:0.5*10^7:3*10^7) P=(1-3*pi/16)*pi*G^(D-1)*f1*Ar^(D/2)*(f2*Ar^((3-2*D)/2)-ac^((3-2*D)/2))+K*Sy*f3*Ar^(D/2)*ac^((2-D)/2) Kl=9*(A-Ar).^3*n*a*v/2./Ar/pi/h.^4 figure(1) hold on plot (P,Kl) xlabel ('P') ylabel ('Kl')
计算过程中超过1024的递归深度怎么解决 P = (4/3)*E*Sqrt[R]*Sqrt[(t - P/Sqrt[a]/E)]^3 D[P, t] $RecursionLimit::reclim2: 在 Sqrt[R] 计算过程中超过 1024 的递归深度. Hold[4/3 E Sqrt[R] (-(P/(Sqrt[a] E)) + t)^(3/2)] $RecursionLimit::reclim2: 在 Sqrt[R] 计算过程中超过 1024 的递归深度. Hold[\!\( \*SubscriptBox[\(\[PartialD]\), \(t\)]P\)]
1
下一页