关于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一样。
已知向量a=(2,1),b=(x,y).(1)若x∈{-1,0,1,2},y∈{-1,0,1},求向 2020-03-30 …
(1),设g(x)=1+x,且当x≠0时,f(g(x))=(1-x)/x,求f(1/2)(2),f 2020-04-26 …
x趋向于1时f(x)=(x^2-1)/(x-1)的极限为什么等于0我做的是limx→1(x^2-1 2020-05-16 …
∫(0,+∞)xe^x/(1+e^x)^2dx,求出来了,但是感觉不对!用定积分先求出了.最后正无 2020-06-12 …
设X≥1,比较因为比较x3与x2-x+1的大小解x-(x-x+1)=x-x+x-1=x(x-1)+ 2020-06-18 …
1.7/x²-1+8/x²-2x=37-9x/x^3-x²-x+12.3/x²+x-2=x/x-1 2020-07-18 …
求指数级数和问题a1+a2+a3+.a1=1-exp(x);a2=[1-1/2*exp(x)]*[ 2020-07-23 …
1.设f(x+1/x)=x2+1/x2,则f(x)=?2.下列函数中为奇函数的是A.{(ex方)- 2020-07-31 …
观察下列各式(x∧2-1)÷(x-1)=x+1,(x∧3-1)÷(x-1)=x∧2+x+1.1.写出 2021-01-01 …
五道分式方程1.10/(2x-1)+5/(1-2x)=22.1/(x-1)(x-2)=1/(x-4) 2021-01-24 …