首先建立M文件或直接点击(File/New/Function)建立函数文件,其中函数文件的格式是:
function [输出变量] = 函数名称(输入变量)
% 注释 % 函数体
function [y] = e(x) e为函数名称, (x)为未知量
y=x^3+(x-0.98)^2/(x+1.25)^3-5*(x+1/x)
需要注意的是,在调用函数的时候, y=???(5) ???为保存这个函数的文件的 名称。
2:
第一种:
利用 syms x
······················
result = solve(y==0,x) 从而求出x的值。
第二种:
y=fzreo('定义函数的名称',[-100,100])
其中[-100,100]的意思是 在 这个范围的解。
3:
y=fminbnd('定义函数的名称',-100,100)
a=-99.999
4:
4.如果函数不保存在默认目录下会有什么后果?
当函数没有保存在默认目录下时,系统会提示:
>>a=fminbnd(‘exec8’,-100,100)
???Error using ==>feval
Undefined function ‘exec8’.
Error in ==>D:\matlab\tool\matlab\function\fminbnd.m
On line 115 ==>x=xf;fx=feval(function,x,varargin{:});
5: 构造一个多项式,求根,再由根求出原来的多项式。得到的多项式与原来的多项式是否相同,为什么?
得到的多项式与原来的多项式不一定相同,因为,这里所用的求根方法时先把多项式转化为伴随矩阵,然后再求特征值,所以在取根时会有近似,所以在由根求出的原来的多项式,也同样会有近似,所以得到的多项式与原来的多项式会有差别。
6. MATLAB求多项式的根是用什么方法,与传统方法相比有什么优点?
Roots(c); syms x
可以是符号表达式,也可以是字符串表达式
在matlab中求多项式的根可以使用这个方法。
y=x^4-3x^3+8x^2-x-8
P=[1,-3,8,-1,-8]
x=roots(p)求出x的方程解。
pp=poly(x) 求出原函数