![]() |
请教函数写法
[SIZE="4"][/SIZE]
大家好,我想计算一个函数。在m文件里定义这个函数时。因为函数写起来很复杂,需要好多项加和得到。而这些加和项的格式又是一样的。所以想用一个循环把它表示出来。 把系数写成矩阵的形式,可是运行时候出错。 请高手指教如何修改。。谢谢!下面是我写的程序。 function y=eqxy(x) ABCi=[16.07382 -2871.05 224.02 15.98639 -3080.01 218.69 16.57200 -3621.00 226.41]; Xi=[0.5 0.5 0.4 0.2 0.3 0.3 0.2 0.8 0.2 0.2 0.4 0]; Pt=[760 300 760 760]; for i=1:3 y1=exp(ABCi(i,1)+ABCi(i,2)/(x+ABCi(i,3)))*Xi(i,1)/Pt(i,1); y=y+y1; end y=y-1; 这里是三相加和的,以后会有更多。所以想找一个比较容易实现的方法。 |
回复: 请教函数写法
函数里的x为多少,还有就是y的初值应赋值为零,然后相加!!!
望有帮助!!! |
回复: 请教函数写法
[QUOTE=TTT_IOU;29050]函数里的x为多少,还有就是y的初值应赋值为零,然后相加!!!
望有帮助!!![/QUOTE] 感谢您的回复。 是这样,x为要求的值。这个相当于写出一个表达式。然后在用其他的算法,比如说牛顿迭代法求解X。 我不知道可不可以实现我说的目的,请指教!谢谢您! |
回复: 请教函数写法
Pt为一向量,在i=3时,Pt(3,1)是多少???
望写的明白点!!! |
回复: 请教函数写法
不知道你这个是什么函数,这个函数的Pt要倒置一下,才可以运行。看看下面是不是你要的。
ABCi=[16.07382 -2871.05 224.02 15.98639 -3080.01 218.69 16.57200 -3621.00 226.41]; Xi=[0.5 0.5 0.4 0.2 0.3 0.3 0.2 0.8 0.2 0.2 0.4 0]; Pt=[760 300 760 760]'; for i=1:3 y1=exp(ABCi(i,1)+ABCi(i,2)/(x+ABCi(i,3)))*Xi(i,1)/Pt(i,1); y=y+y1; end |
回复: 请教函数写法
[QUOTE=TTT_IOU;29054]Pt为一向量,在i=3时,Pt(3,1)是多少???
望写的明白点!!![/QUOTE] 是这样 Pt与Xi后面表示第一列的1会在另一个程序里面设置。并运行第二、第三。第四列。此处可以看做常数。 谢谢关注与解答。 |
所有时间均为北京时间。现在的时间是 11:18。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.