jifang29 发表于 2006-4-5 14:53

[求助]这样调用为什么不对呢

<P>function f=laguerrenew1(F,m)<BR>    f=F*b.^m;<BR>    y3=symsum(f);<BR>    b=solve('y3=0');<BR>    disp b<BR>运行如下<BR>??? Input argument 'F' is undefined.</P>
<P>Error in ==&gt; D:\MATLAB6p5\work\LAGUERRE\laguerreb.m<BR>On line 2==&gt;   f=F*b.^m;</P>

happy 发表于 2006-4-5 14:55

回复:(jifang29)[求助]这样调用为什么不对呢

这是个函数,不能直接运行,要在别的函数中调用它或者在命令窗口调用它<BR><BR>把这个函数下到一个m文件中,注意调用的时候要给出F和m的值

cdwxg 发表于 2006-4-5 15:04

是不是function的都不能直接运行,都需要调用<BR>然后在调用前要给出各变量值呢?<BR>

FtpAdmin 发表于 2006-4-5 15:26

回复:(cdwxg)是不是function的都不能直接运行,都需...

<DIV class=quote><B>以下是引用<I>cdwxg</I>在2006-4-5 15:04:25的发言:</B><BR>是不是function的都不能直接运行,都需要调用<BR>然后在调用前要给出各变量值呢?<BR></DIV>
<P>不是,没有输入参数的就可以直接运行</P>

cdwxg 发表于 2006-4-5 15:37

哦<BR>对头,你们都是哈工大的啊?<BR>太强了

jifang29 发表于 2006-4-6 09:46

<P>我看了你们的回复很感谢,在实际操作方面我还是不怎么懂.现在我下面的laguerrenew1.m程序已经有运行结果.<BR>不好意思,我这段程序已经在这里出新了N次还没有搞定,还多谢各位的耐心指导.<BR>function laguerrenew1<BR>A=;B=;C=[];<BR>for C=;<BR>    l=ceil(max(C));<BR>    n=length(A)*(l+1)-1;<BR>end;l,n<BR>y2=[],<BR>syms b;<BR>for i=1:length(A)<BR>    product=1;<BR>    y1=A(i).*((B(i)-b).^l);<BR>    for j=1:length(A)      <BR>      if (j~=i)<BR>      product=product.*((1-b.*B(j)).^(l+1));      <BR>      y2=;<BR>      end;product<BR>    end;y1,y2<BR>end<BR>    sum=0; y3=0; F=[];<BR>for m=0:n<BR>    fori=1:length(A),   <BR>         sum=sum+diff(y2(i),b,m);<BR>    end;sum<BR>    if (m==0),<BR>      F=sum; <BR>    elseif (m&gt;0),<BR>      F=; <BR>    end<BR>f=subs(F,b,0);<BR>end;f<BR><BR>在下面的程序中我需要用到上面计算的f结果,m的取值范围也同于上面程序中的m.所以我想直接调用在下程序<BR>function s=laguerrenew1(f,m)<BR>         s=f*b.^m;<BR>         y3=symsum(s);<BR>         b=solve('y3=0');<BR>         disp b</P>
<P><BR>但这样是不对的,希望各位高手帮改一下,有这方面的好书也推荐下,我看到的都是简单的程序结构和运算,对于语言的语法方面比较少,多谢论坛的各位朋友!</P>

happy 发表于 2006-4-6 10:38

回复:(jifang29)[求助]这样调用为什么不对呢

一是直接接着算不就行了,加什么funciton<BR><BR>二是把上面的的代码写成字程序返回f和m,下面的代码调用这个function

happy 发表于 2006-4-6 10:39

回复:(jifang29)[求助]这样调用为什么不对呢

<P>建议先搞清楚什么是function吧</P>
页: [1]
查看完整版本: [求助]这样调用为什么不对呢