关于Matlabn=input('\n请输入分点数n:n=');x=-1:2/(n-1):1;fx=1./(1.+25.*x.^2);plot(x,fx,'ko');holdon;y=polyfit(x,fx,n-1);cs=csapi(x,fx);x=-1:0.01:1;yy=polyval(y,x);fx='1/(1+25*x^2)';fnplt(cs,'m-');holdon;fplot(fx,[-1,1],'b-');plot(x
第一个在我机器上完美运行,可能是你的输入值有误,你输入一个大于1的整数试试。
第二个是一个函数式M文件,运行的时候需要输入参数,比如把这一段代码放到了M文件里,起一个名字,比如:叫做myfun.m ,随后,你要用的时候就可以按照函数开头写的那个格式调用这个函数了(和调用系统规定好的函数一样方便):即按照以下格式写:
coefs=cubicspline(x0,y0)
或cubicspline(x0,y0)的格式。
如果还不理解,我用下面一个例子来给你大致讲解一下函数式M文件:
定义一个函数,使该函数能够算出z=x.*y+x./y的值:
function z=myfun(x,y) %这一句是函数头,标示着函数的输入输出参数形式
z=x.*y+x./y; %可用一行或多行语句写出如何由输入参数算出输出参数
以后你想用算出当x=2,y=3时,x.*y+x./y的值时,就可以成下面的形式:
myfun(2,3)
这样,matlab就会按照函数中规定好的算法给你返回一个z的值了。
也可以这样用:mydata=myfun(2,3);这样,相当于把函数返回的值(z),赋值给了mydata
很可惜matlab应用的方向太多,而我对这方面的应用不熟悉。。
这两个程序应该都没错。
第一个是你没有输入正确的值。
第二个是你调用函数时调用错误,你大致看一下,x0,y0分别是什么意思,是用的前面哪里的数,比如它的x0,y0是你以前已经算出的一个x,y或已知的x,y(假定你把这个M文件命名为myfun.m),你在窗口中调用它时不要输入myfun或myfun().要输入z=myfun(x,y)或myfun(x,y) ————这里的x,y就是指这函数所需要的运算的数,比如我上面举例中的x,y一样。
这是我编的程序x=-5:0.01:5;y=(3*x.^2+4*x+4)/(x.^2+x+1);pl 2020-04-27 …
已知(x+1)n=a+a1(x-1)+a2(x-1)2+a3(x-1)3+…+an(x-1)n,( 2020-05-13 …
已知(x+1)n=a0+a1(x-1)+a2(x-1)2+a3(x-1)3+…+an(x-1)n, 2020-05-13 …
已知(x+1)n=a0+a1(x-1)+a2(x-1)+a3(x-1)3+…+an(x-1)n,( 2020-05-13 …
误差级别怎么计算的?“x^1999/(x^n-(x-1)^n)的极限等于1/a,x趋于正无穷,x的 2020-05-14 …
已知:(x+1)n=a0+a1(x-1)+a2(x-1)2+a3(x-1)3+…+an(x-1)n 2020-05-17 …
已知多项式2x^2+x+m有一个因式是(x-1),求m的值方法一设另一个因式为(2x+n),则2x 2020-07-25 …
已知集合M={x丨x/(x-1)≥0},N={y丨y=3x^2+1,x∈R},则M交N等于已知集合 2020-08-02 …
关于Matlabn=input('\n请输入分点数n:n=');x=-1:2/(n-1):1;fx= 2020-10-31 …
X、Y分别服从参数为(n,p)(m,p)的二项分布,通过计算求出X+Y的分布我用的方法Z=X+YP( 2020-10-31 …