Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
 
 
主题工具 显示模式
旧 2008-03-16, 12:33   #1
jackie
初级会员
 
注册日期: 2007-12-22
帖子: 6
声望力: 0
jackie 正向着好的方向发展
默认 [求助]高手请帮忙给解决一个问题

高手请帮忙给解决一个问题

我知道如果把数据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)

谢谢啦!!!!清高手给点意见
jackie 当前离线   回复时引用此帖
 


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
【求助】Laplace 滤波 s7401543 MATLAB论坛 0 2008-02-13 08:37
【讨论】Matlab动态显示的问题讨论 tqr591513792 MATLAB论坛 0 2007-12-20 14:50
【文章】仿真动画软件设计作品--电路开闭 yesman MATLAB论坛 0 2007-12-11 16:21
【求助】matlab 对复杂计算会出现较大误差吗? tao043 MATLAB论坛 2 2007-08-24 09:54


所有时间均为北京时间。现在的时间是 08:58


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.