在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3406|回复: 5

求教解非线性方程参数传递问题

[复制链接]
发表于 2007-12-21 10:11:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 eecsseudl 于 2013-4-29 10:08 编辑

我是matlab的初学者,碰到一个解非线性方程的问题解决不了,希望各位高手能够帮忙解决!
具体是:我要解一个非线性方程,方程中包含了一些参数,这些参数的值需要通过主程序提供,我编了一个子程序,然后在命令窗口编了一个主程序,子程序中参数Th,Ph的值由主程序传递:
主程序:
>> Th=298.15h=1;
>> Vr=fzero('fz',10)
子程序:
function f=fz(Vr)
R=83.14472;
Tc=190.6;
Pc=46.41;
Vc=R.*Tc./Pc;
Tr=Th./Tc;
Pr=Ph.*10./Pc;
a1=8.72553928e-2;a2=-7.52599476e-01;a3=3.75419887e-1;a4=1.07291342e-2;
a5=5.49626360e-3;a6=-1.84772802e-2;a7=3.18993183e-4;a8=2.11079375e-4;
a9=2.01682801e-5;a10=-1.65606189e-5;a11=1.19614546e-4;a12=-1.08087289e-4;
a13=4.48262295e-2;a14=7.53970000e-1;a15=7.71670000e-2;
f=Pr.*Vr./Tr-(1+(a1+a2./Tr.^2+a3./Tr.^3)./Vr+(a4+a5./Tr.^2+a6./Tr.^3)./Vr.^2+(a7+a8./Tr.^2+a9./Tr.^3)./Vr.^4+(a10+a11./Tr.^2+a12./Tr.^3)./Vr.^5+(a13./(Tr.^3.*Vr.^2)).*(a14+a15./Vr.^2).*exp(-a15./Vr.^2));

在命令窗口运行上述程序,总是出现如下错误:??? Error using ==> fzero
FZERO cannot continue because user supplied function_handle ==> fz
failed with the error below.

Undefined function or variable 'Th'.

另外如将参数Th,Ph的值在子程序中赋值,则运行没有问题,但这有不符合我的整个程序的计算要求。希望各位高手能够帮忙!







发表于 2007-12-21 19:53:34 | 显示全部楼层
Vr=fzero('fz',10)
f=fz(Vr)
如何调用?
 楼主| 发表于 2007-12-22 16:58:34 | 显示全部楼层

求助解非线性方程参数传递问题

各位Matlab高手,我将我上次求助的问题简化了一下,希望各位高手能够帮忙指点迷津!
具体是:我要解一个非线性方程,方程中包含了一些参数,这些参数的值需要通过主程序提供。
例如:我要求解方程:ax+b/x+c=0的解,其中参数a、b、c的值必须由主程序计算得出,我变了一个子程序,通过主程序调用来解方程(当然实际程序要复杂得多):

子程序:
function f=fz(x)
f=a.*x+b./x+c;

主程序在命令窗口输入:
a=1;b=2;c=3;
x=fzero('fz',-5)

运行后总是出现如下错误提示:
??? Error using ==> fzero
FZERO cannot continue because user supplied function_handle ==> fz
failed with the error below.
Undefined function or variable 'a'.

但如果我将参数a=1;b=2;c=3;移到子程序中,变为:
子程序:
function f=fz(x)
a=1;b=2;c=3;
f=a.*x+b./x+c;

主程序在命令窗口输入:
x=fzero('fz',-5)

运行结果正常:x =   -2.0000

我现在存在的问题是参数a、b、c的值是由其它程序计算而来,不可能在子程序中输入,请问怎样将参数a、b、c的值传递到子程序?或者采用其它的解非线性方程的办法?
发表于 2007-12-25 00:55:38 | 显示全部楼层
look!
发表于 2008-2-12 00:06:57 | 显示全部楼层
收下,谢谢
发表于 2013-5-11 09:35:40 | 显示全部楼层
回复 3# czy515


    我也遇到了这个问题 你怎么解决的呀
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-5-19 06:23 , Processed in 0.033056 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表