Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-06-16
年龄: 47
帖子: 4
声望力: 0 ![]() |
![]()
常量
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) 这里应该怎么编程?? |
![]() |
![]() |
![]() |
#2 |
高级会员
注册日期: 2008-01-02
帖子: 247
声望力: 22 ![]() |
![]()
:tongue: :biggrin:
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
[分享]推荐一个IT科研类的非盈利论坛(IT人家园http://www.itrjy.com) | 414195686 | MATLAB论坛 | 2 | 2009-10-18 16:25 |
[原创]来见识一下中国人的骄傲,真正的符号计算 | 七重天 | MATLAB论坛 | 38 | 2009-03-13 17:35 |
[求助]如何将多张BMP图片立体化 | andyhanxun | MATLAB论坛 | 0 | 2008-09-07 20:53 |
[求助]求助高手!!用MATLAB制作动画 | shingo | MATLAB论坛 | 1 | 2008-05-11 08:33 |
【求助】请教??? Attempt to execute SCRIPT ezplot as a function | zhaoxwchina | MATLAB论坛 | 0 | 2007-08-18 16:00 |