icon1.gif [求助]如何解出这个复杂方程组?

常量

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) 这里应该怎么编程??

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐