Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2007-12-22
帖子: 6
声望力: 0 ![]() |
![]()
高手请帮忙给解决一个问题
我知道如果把数据miu1 miu2 miu3 A Vm Vmmiu1 Vmmiu2 Vmmiu3 Vd0换成具体的数值直接输入方程就能做出来,但这些是在上面求的的,不能求出来再编写求解程序 运用迭代法求解此方程组 mium1=miu1+td*Vm*Vmmiu(1); mium2=miu2+td*Vm*Vmmiu(2); mium3=miu3+td*Vm*Vmmiu(3); td=A*(exp(R/A)-1)/Vd0; R=sqrt(mium1^2+mium2^2+mium3^2); %%%%%%%%%迭代函数 function [p0,k,err,p]=fixpt(g,p0,tol,max1) %g是给定的迭代函数 %p0是给定的初始值 %max1是所允许的最大迭代次数 %k是所进行的迭代次数加1 %p是不动点的近似值 %err是误差 %p(p1,p2,...pn) P(1)=p0; for k=2:max1 P(k)=feval('g',P(k-1)); k; err=abs(P(k)-P(k-1)); p=P(k); if(err<tol) break; end if k==max1 disp('maximum number of iteration exceeded'); end end %%%%%%%%%%%%% function x=g(R,miu1,miu2,miu3,A,Vd0,Vm,Vmmiu) x=sqrt((miu1+A*(exp(R/A)-1)/Vd0*Vm*Vmu1)^2+(miu2+A*(exp(R/A)-1)/Vd0*Vm*Vmu1)^2+(miu3+A*(exp(R/A)-1)/Vd0*Vm*Vmu1)^2); 运行此命令[p0,k,err,p]=fixpt('g',0,10^(-5),20) 显示错误为 ??? Input argument "miu1" is undefined. Error in ==> g at 3 x=sqrt((miu1+A*(exp(R/A)-1)/Vd0*Vm*Vmu1)^2+(miu2+A*(exp(R/A)-1)/Vd0*Vm*Vmu1)^2+(miu3+A*(exp(R/A)-1)/Vd0*Vm*Vmu1)^2); Error in ==> fixpt at 12 P(k)=feval('g',P(k-1)); Error in ==> jinzhahuijian at 137 [p0,k,err,p]=fixpt('g',0,10^(-5),20) 谢谢啦!!!!清高手给点意见 |
![]() |
![]() |
![]() |
#2 |
游客
帖子: n/a
|
![]()
我和同学整出来了,在迭代函数和主函数,子函数中定义全局变量,
|
![]() |
![]() |
主题工具 | |
显示模式 | |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
【求助】利用SIMULINK设计一个单极性SPWM控制的单相逆变电路 | 随非而飞 | MATLAB论坛 | 1 | 2010-10-26 15:17 |
[资料]周期信号的傅里叶级数实验代码!!! | zdJack0305 | MATLAB论坛 | 2 | 2008-08-05 10:53 |
[求助]dct变换后 huffman dc ac编码 疑问? | strongbox | MATLAB论坛 | 0 | 2008-05-08 22:45 |
[求助]如何批处理文件名为自然数的文件 | cliveshao | MATLAB论坛 | 1 | 2008-04-05 00:25 |
今日大券商深研精选高增长潜力股一览(11.5) | labfans | MATLAB新闻聚合 | 0 | 2007-11-20 15:15 |