注册 登录
编程论坛 Matlab

大侠们过节好!急切求教!

hxgcom 发布于 2008-09-26 21:04, 981 次点击
n1=0;
F=1300;
E=2.06e+5;
n2=0;
b=1;
h=100;
for i=0:20
   for j=0:20
   h=h+290/20;
   k1=inline('sqrt(F/(E*Jz(h,b)))','h','b','F');
 kk=vectorize(k1);
 k=kk(h,b);   
end
  % pause
   b=b+1/20;
  % n2=n2+1;
end
??? Error using ==> inline/subsref
Not enough inputs to inline function.
这个程序折磨我好几天了 先谢谢各位阅读的人了。
2 回复
#2
meteora11062008-09-26 21:28
第一个错误:k1=inline('sqrt(F/(E*Jz(h,b)))','h','b','F');
E和Jz都没有指明,就算之前指明,在定义内联函数k1时,这种形式也还是读不出E和Jz,
应该这样,'sqrt(F/(E*Jz(h,b)))'改为['sqrt(F/(',num2str(E),'*',num2str(Jz(h,b)),'))'];这里我假定你的E和Jz(h,b)是数
第二个错误:k=kk(h,b);   
你定义的kk是含三个变量的内联函数,所以调用kk也得输入三个数k=kk(h,b,F);
你再改改
#3
hxgcom2008-09-26 22:13
多谢,多谢! 改对了,呵呵
1