实验二2MATLAB的符号计算及可视化.docx

上传人:b****4 文档编号:5093554 上传时间:2022-12-13 格式:DOCX 页数:14 大小:90.81KB
下载 相关 举报
实验二2MATLAB的符号计算及可视化.docx_第1页
第1页 / 共14页
实验二2MATLAB的符号计算及可视化.docx_第2页
第2页 / 共14页
实验二2MATLAB的符号计算及可视化.docx_第3页
第3页 / 共14页
实验二2MATLAB的符号计算及可视化.docx_第4页
第4页 / 共14页
实验二2MATLAB的符号计算及可视化.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

实验二2MATLAB的符号计算及可视化.docx

《实验二2MATLAB的符号计算及可视化.docx》由会员分享,可在线阅读,更多相关《实验二2MATLAB的符号计算及可视化.docx(14页珍藏版)》请在冰豆网上搜索。

实验二2MATLAB的符号计算及可视化.docx

实验二2MATLAB的符号计算及可视化

实验二MATLAB的符号计算与可视化

1:

完成教材实验三第1节“1.创建符号表达式和符号表达式的操作”中

(1)-(5)部分的内容,分别用sym和syms创建符号表达式f和g,并对它们进行相关操作,思考每一条命令的作用是什么,并提交命令行和结果;

(1)创建符号变量。

①使用sym命令创建符号表达式:

>>f=sym('sin(x)')

f=

sin(x)

>>g=sym('y/exp(-2*t)')

g=

y*exp(2*t)

②使用syms命令创建符号表达式:

>>symsxyt

>>f=sym(sin(x))

f=

sin(x)

>>g=sym(y/exp(-2*t))

g=

y*exp(2*t)

(2):

自由变量的确定:

>>symvar(g)

ans=

[t,y]

>>symvar(g,1)

ans=

y

>>findsym(g,2)

ans=

y,t

(3):

用常数替换符号变量:

>>x=0:

10;

>>y=subs(f,x)

y=

Columns1through8

0

Columns9through11

练习:

用y替换x,查看结果及其数据类型。

z=subs(f,y)

z=

Columns1through8

0

Columns9through11

>>class(z)

ans=

double

(4):

符号对象与数值的转换和任意精度控制:

>>f1=subs(f,'5')

f1=

sin(5)

>>y1=double(f1)

y1=

>>y2=eval(f1)

y2=

练习:

将y1用sym函数转换为符号对象,并用’d’,’f’,’e’,’r’4种格式表示。

>>y2=sym(y1,'d')

y2=

>>vpa(y2,8)

ans=

-0.

>>class(y2)

ans=

sym

>>y3=sym(y1,'f')

y3=

-/9007

>>y4=sym(y1,'e')

y4=

-/9007

>>y5=sym(y1,'r')

y5=

-/9007

采用digits和vpa实现任意精度控制:

>>digits

Digits=32

>>vpa(f1)

ans=

>>vpa(f1,10)

ans=

(5):

求反函数和复合函数

①用finverse函数求f,g的反函数

>>f=sym('sin(x)');

>>g=sym('y/exp(-2*t)')

g=

y*exp(2*t)

>>finverse(f)

Warning:

finverse(sin(x))isnotunique.

ans=

asin(x)

>>finverse(g)

ans=

y/exp(2*t)

>>finverse(g,'t'

ans=

log(t/y)/2

②用compose函数求f,g的复合函数

>>compose(f,g)

ans=

sin(y*exp(2*t))

>>compose(f,g,'z')

ans=

sin(z*exp(2*t))

2;自建两个一元四次符号表达式,分别进行其符号表达式的加、减、乘等运算,并提交命令行和结果;

>>symsx

>>f=x^4+2*x^3-5*x^2+6*x+8

f=

x^4+2*x^3-5*x^2+6*x+8

>>class(f)

ans=

sym

>>g=2*x^4-5*x^3+8*x^2+7*x-2

g=

2*x^4-5*x^3+8*x^2+7*x-2

>>f+g

ans=

3*x^4-3*x^3+3*x^2+13*x+6

>>f-g

ans=

-x^4+7*x^3-13*x^2-x+10

>>f*g

ans=

(x^4+2*x^3-5*x^2+6*x+8)*(2*x^4-5*x^3+8*x^2+7*x-2)

3:

自建一个可化简一元五次多项式和一个三角函数符号表达式,依次使用pretty,horner,factor,simplify和simple等函数对该表达式进行化简,并提交命令行和结果;

symsxy

>>f=x^5+x^4+2*x+2

f=

x^5+x^4+2*x+2

>>g=cos(y)^2-sin(y)^2

g=

cos(y)^2-sin(y)^2

>>class(f)

ans=

sym

>>class(g)

ans=

sym

>>pretty(f)

54

x+x+2x+2

>>horner(f)

ans=

x*(x^3*(x+1)+2)+2

>>factor(f)

ans=

(x+1)*(x^4+2)

>>simplify(f)

ans=

(x^4+2)*(x+1)

>>simple(f)

simplify:

x^5+x^4+2*x+2

radsimp:

x^5+x^4+2*x+2

simplify(100):

(x^4+2)*(x+1)

combine(sincos):

x^5+x^4+2*x+2

combine(sinhcosh):

x^5+x^4+2*x+2

combine(ln):

x^5+x^4+2*x+2

factor:

(x+1)*(x^4+2)

expand:

x^5+x^4+2*x+2

combine:

x^5+x^4+2*x+2

rewrite(exp):

x^5+x^4+2*x+2

rewrite(sincos):

x^5+x^4+2*x+2

rewrite(sinhcosh):

x^5+x^4+2*x+2

rewrite(tan):

x^5+x^4+2*x+2

mwcos2sin:

x^5+x^4+2*x+2

collect(x):

x^5+x^4+2*x+2

ans=

(x^4+2)*(x+1)

>>pretty(g)

22

cos(y)-sin(y)

>>horner(g)

ans=

cos(y)^2-sin(y)^2

>>factor(g)

ans=

(cos(y)-sin(y))*(cos(y)+sin(y))

>>simplify(g)

ans=

cos(2*y)

>>simple(g)

simplify:

cos(2*y)

radsimp:

cos(y)^2-sin(y)^2

simplify(100):

cos(2*y)

combine(sincos):

cos(2*y)

combine(sinhcosh):

cos(y)^2-sin(y)^2

combine(ln):

cos(y)^2-sin(y)^2

factor:

(cos(y)-sin(y))*(cos(y)+sin(y))

expand:

cos(y)^2-sin(y)^2

combine:

cos(y)^2-sin(y)^2

rewrite(exp):

((1/exp(y*i))/2+exp(y*i)/2)^2-((i*exp(i*y))/2-i/(2*exp(i*y)))^2

rewrite(sincos):

cos(y)^2-sin(y)^2

rewrite(sinhcosh):

cosh(-y*i)^2+sinh(-y*i)^2

rewrite(tan):

(tan(y/2)^2-1)^2/(tan(y/2)^2+1)^2-(4*tan(y/2)^2)/(tan(y/2)^2+1)^2

mwcos2sin:

1-2*sin(y)^2

collect(y):

cos(y)^2-sin(y)^2

ans=

cos(2*y)

4:

完成教材实验四第1节“1.绘制二维图线”中的所有内容,绘制4种二维曲线,把图形窗口分割为2行2列,并分别标明图名、坐标值等;

M文件:

clf;

clc;

clear;

%2行2列子图的第1个图

figure

(1);

subplot(2,2,1);

t1=0:

:

2;

y1=sin(2*pi*t1);

plot(t1,y1);

title('y=sin(2\pit)');

%2行2列子图的第2个图

subplot(2,2,2);

t2=0:

:

2;

y2=[exp(-t2);exp(-2*t2);exp(-3*t2)];

plot(t2,y2);

axis([02]);

title('y=e-t,y=e-2t,y=e-3t');

%2行2列子图的第3个图

subplot(2,2,3);

t3=[0112234];

y3=[0022000];

plot(t3,y3);

axis([043]);

title('脉冲信号');

%2行2列子图的第4个图

subplot(2,2,4);

t4=0:

:

2*pi;

plot(sin(t4),cos(t4));

axis([]);

axisequal;

title('圆');

插图:

5:

参照教材实验四第3节“3.绘制特殊图形”中的相关内容,分别绘制条形图、实心图、阶梯图和火柴杆图,建议选取不同的函数来产生曲线;

M文件:

clf;

clc;

clear;

figure

(2);

%条形图

subplot(2,2,1);

x1=3:

6;

y1=[13

];

bar(x1,y1);

title('条形图');

xlabel('\itX','fontsize',10);

ylabel('Y');

text(5,7,'mypicture');

%实心图

subplot(2,2,2);

x2=0:

:

2*pi;

y2=cos(x2);

plot(x2,y2);

fill(x2,y2,'y');

title('实心图');

xlabel('\itX','fontsize',10);

ylabel('\itY','fontsize',10);

text(3,0,'thesecond','FontName','commercialscriptBT');

%阶梯图

subplot(2,2,3);

x3=0:

:

2*pi;

y3=sin(x3);

stairs(x3,y3);

title('阶梯图');

xlabel('\itX','fontsize',10);

ylabel('\itY','fontsize',10);

text(3,0,'thethrid','Fontsize',10);

%火柴杆图

subplot(2,2,4);

x4=0:

:

2*pi;

y4=cos(x4)+;

stem(x4,y4);

title('火柴杆图');

xlabel('\itX','fontsize',10);

ylabel('\itY','fontsize',10);

text(3,0,'thefourth','Fontsize',10);

6:

产生10个服从正态分布的随机数,计算该数组的统计变量(包括均值、标准差、最大值、最小值等),并绘制二维和三维饼状图。

注意程序运行时是否出现警告信息,思考为什么?

M文件:

clc;

clf;

clear;

figure(3);

y=randn(10,1);

mean(y)

std(y)

max(y)

min(y)

subplot(2,1,1);

explode=[0000010000];

pie(y,explode,{'1','2','3','4','5','6','7','8','9','10'});

subplot(2,1,2);

pie3(y,explode,{'1','2','3','4','5','6','7','8','9','10'});

运行结果:

ans=

ans=

ans=

ans=

Warning:

Ignoringnon-positivedatainpiechart.

>Inpieat41

Inhc5at14

Warning:

Ignoringnon-positivedatainpiechart.

>Inpie3at43

Inhc5at17

有警告出现,原因是:

随机数产生有负数,无法在饼图上表示。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1