![]() |
[求助]如何解出这个复杂方程组?
常量
L=0.175*2; A=0.09; w=400; u0=4*pi*10.^(-7); Rmag=1/u0*L/A; Rluft=1/u0*0.0048/(1.1*A); 变量 x i是从-1到1变化的,取值可以是-1:0.01:1 方程 H=-diff(f1); f1=i*w-f2; f2=sign(x)*L*H*(abs(x)/A); f3=L*H*(abs(f4)/A)/[abs(f4)+10^(-9)]; f4=x-i*w/Rmag+f1/Rmag; x=(i*w-f2)*[1/Rmag+1/(Rluft+f3)]; sign这个命令在这里总是出错,我不知道哪里错了.我用的是solve命令解的,解不出来。后来我一步一步分来解,sign这里出错。 我的程序 function [Ftots, Flufts, RFe2s, VRFe1s] = myresolve(indices, l, H, A, Ro, Rluft) indices = -400:1:400; %这个相当于i*w L= 0.175*2; H = 1; A = 0.03*0.029; u0 = 4*pi*10.^(-7); Rmag = 1/u0*l/A; Rluft = 1/u0*0.0048/(1.1*A); Ftots=[]; Flufts=[]; RFe2s=[]; VRFe1s=[]; for index=indices, f2=sym(sprintf('VRFe1=(%g)*Ftot', l*H/A)); %Ftot就是x,这里是f2 f3=sym(sprintf('RFe2=(%g)*abs(Fluft)/(abs(Fluft)+10^(-9))', l*H/A)); %f3 f4=sym(sprintf('Fluft=Ftot-(%g)/(%g)+VRFe1/(%g)', index, Rmag, Rmag)); %f4 f5=sym(sprintf('Ftot=((%g)-VRFe1)*(1/(%g)+1/((%g)+RFe2))', index, Rmag, Rluft)); %x的方程 [Ftot, Fluft, RFe2, VRFe1] = solve(f1, f2, f3, f4); Ftots=[Ftots eval(Ftot)]; Flufts=[Flufts eval(Fluft)]; RFe2s=[RFe2s eval(RFe2)]; VRFe1s=[VRFe1s eval(VRFe1)]; end end 这样编,我去掉了2个问题,sign的判定,还有H应该是f1的一阶导数。 结果倒是能算出来,但是我想要i和Ftot的图像, 我输入plot命令就出错.这是怎么回事呢? 第2个问题,如果加入sign还有H=-diff(index-VRFe1) 这里应该怎么编程?? |
:tongue: :biggrin:
|
所有时间均为北京时间。现在的时间是 05:00。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.