The MATLAB Notebook v1.docx
- 文档编号:2870517
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:8
- 大小:52.67KB
The MATLAB Notebook v1.docx
《The MATLAB Notebook v1.docx》由会员分享,可在线阅读,更多相关《The MATLAB Notebook v1.docx(8页珍藏版)》请在冰豆网上搜索。
TheMATLABNotebookv1
x=2*pi/3+2^3/5-0.3*exp(-3)
x=
3.6795
[例]
z1=3+4*i,z2=2*exp(i*pi/6)
z=z1*z2
z1=
3.0000+4.0000i
z2=
1.7321+1.0000i
z=
1.1962+9.9282i
[例]
A=[1,3;2,4]-i*[5,8;6,9]
B=[1+5*i,2+6*i;3+8*i,4+9*i]
C=A*B
[例]
作曲线
t=0:
pi/50:
4*pi;
y0=exp(-t/3);
y=exp(-t/3).*sin(3*t);
plot(t,y,t,y0,t,-y0)
grid
legend('exp(-t/3).*sin(3*t)','exp(-t/3)','-exp(-t/3)')
f=
sin(x)/x
[例]
作曲面
x=-8:
0.5:
8;
y=x';
X=ones(size(y))*x;
Y=y*ones(size(x));
R=sqrt(X.^2+Y.^2)+eps;
Z=sin(R)./R;
mesh(Z);
colormap([1,0,0])
[例]
求多项式
的根。
解:
r=roots([1,-6,-72,-27])
r=
12.1229
-5.7345
-0.3884
[例]
p=[1234];
r=roots(p)
r=
-1.6506
-0.1747+1.5469i
-0.1747-1.5469i
[例]
求函数
在t=2附近的零点。
步骤一:
建立函数文件f2.m
functiony=f2(t)
y=0.2*t-exp(-0.5*t).*sin(t+pi/6);
步骤二:
求方程的根(函数的零点)
z=fzero('f2',2)
z=1.6993
[例]
求
的数值解。
步骤一:
建立函数文件myxyz.m
functionq=myxyz(p)
x=p
(1);y=p
(2);z=p(3);
q=zeros(3,1)%此指令可省略
q
(1)=sin(x)+y^2+log(z)-7;
q
(2)=3*x+2^y-z^3+1;
q(3)=x+y+z-5;
步骤二:
在给定的初值下,调用fsolve函数求方程的根
x=fsolve('myxyz',[111])或xyz0=[111];x=fsolve('myxyz',xyz0)
x=0.5990
2.3959
2.0050
MATLAB的符号计算功能
[例]
sym('x')
?
?
?
Error:
TheinputcharacterisnotvalidinMATLABstatementsorexpressions.
r=sym('(1+sqrt(x))/2')
r=
x^(1/2)/2+1/2
syms可以定义多个符号:
[例]
symsabcxkty
f=a*(2*x-t)^3+b*sin(4*y)
g=f+cos(k*x)
[例]
symsxta
f=sin(x)/x
g=limit(f)
limit((cos(x+a)-cos(x))/a,a,0)
limit((1+x/t)^t,t,inf)
[例]
左、右极限的求法
symx
limit(1/x)
limit(1/x,x,0,'left')
limit(1/x,x,0,'right')
[例]
求
和
。
clear
symsx;
a=sym('x/sqrt(1-cos(x))');
f=limit(a,x,0,'left');
g=limit(a,x,0,'right');
solve(f,t)——对f中的符号变量t解方程f=0(t缺省值为x或最接近x的字母)
[例]
symsabxc
f=a*x^2+b*x+c
s=solve(f)
?
?
?
Error:
TheinputcharacterisnotvalidinMATLABstatementsorexpressions.
ss=solve(f,b)
注:
求解形如f(x)=q(x)形式的方程,则需要用单引号把方程括起来。
[例]
s=solve('cos(2*x)+sin(x)=1')
[例]
求解方程组
[x,y]=solve('x^2+x*y+y=3','x^2-4*x+3=0')
collect——合并同类项
expand——将乘积展开为和式
horner——把多项式转换为嵌套表示形式
factor——把多项式进行因式分解
simplify——利用各种恒等式化简代数式
[例]
clear
symsxty
collect(x^3+2*x^2-5*x^2+4*x-3*x+12-3)
g=collect((1+x)*t+t*x)
expand((x-1)*(x-2)*(x-3))
gg=expand(cos(x+y))
expand(cos(3*acos(x)))
horner(x^3-6*x^2+11*x-6)
ggg=horner(1.1+2.2*x+3.3*x^2)
factor(x^3-6*x^2+11*x-6)
n=1:
5;
x=x(ones(size(n)))
p=x.^n+1
f=factor(p)
simplify((1-x^2)/(1-x))
s=simplify(sin(x)^2+cos(x)^2)
q=simplify((1/x^3+6/x^2+12/x+8)^(1/3))
matlab工具包还提供了一个强有力的函数simple,它综合运用上述函数进行化简,并找出长度最短的表达式,指令如下:
f=simple(S)——对表达式S进行化简,输出长度最短的表达式;
simple(S)——对表达式S进行化简,输出用各种函数化简的结果,及长度最短的表达式;
[f,how]=simple(S)——对表达式S进行化简,输出长度最短的表达式f及f是哪一个函数作用的结果how。
[例]
f=simple(sin(x)^2+cos(x)^2)
simple(1/x^3+6/x^2+12/x+8)
[f,how]=simple(1/x^3+6/x^2+12/x+8)
subs(S,old,new)——用符号new代替表达式S中的符号old;
[例]
subs(x+y,x,4)
symsab
f=subs(cos(a)+sin(b),[a,b],[sym('alpha'),2])
G=vpa(g,d)返回符号表达式在有效数字个数为d时的数值解。
vpa(pi,10)
g=finverse(f)返回函数f的反函数。
其中f为单值的一元数学函数,如f=f(x)。
若f的反函数存在,设为g,则有g[f(x)]=x。
[例]
求函数
的反函数。
程序设计及运行结果如下:
clear
y=sym('log(x)-1');
g=finverse(y)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- The MATLAB Notebook v1