数学实验课堂笔记Word格式文档下载.docx
《数学实验课堂笔记Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数学实验课堂笔记Word格式文档下载.docx(20页珍藏版)》请在冰点文库上搜索。
![数学实验课堂笔记Word格式文档下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/451c3cb2-ae4f-403b-8e25-d5d804a6ea9b/451c3cb2-ae4f-403b-8e25-d5d804a6ea9b1.gif)
cat(2,student.scores)
858092788085908888829080
cat(3,student.scores)
ans(:
:
1)=
2)=
3)=
cat(4,student.scores)
1,1)=
1,2)=
1,3)=
张庭硕'
[85,80]);
钟书蓉'
[80,85]);
黄念中'
[88,82]);
fori=1:
length(student)%打印出每个学生的名字
fprintf('
student%g:
%s\n'
i,student(i).name);
end
student1:
张庭硕
student2:
钟书蓉
student3:
黄念中
二元正态密度函数
t=-8:
0.1:
8;
[x,y]=meshgrid(t);
z=1/pi*exp(-0.5*(x.^2+y.^2));
subplot(1,1,1)
meshc(x,y,z)
title('
二元正态密度函数'
)
t=-2:
2;
z=x.*exp(-x.^2-y.^2);
surf(x,y,z)
mesh(x,y,z)
MATLAB编程
function[a,l]=fum(r)
a=pi*r.*r;
l=2*pi*r;
[a,b]=fum(1:
5)
a=
3.141612.566428.274350.265578.5398
b=
6.283212.566418.849625.132731.4159
A=input('
enterr=?
'
34
A=
34
辗转相除法在MATLAB上面的实现:
p1=[131131];
p2=[12012];
[Q,R]=deconv(p1,p2)
Q=
11
R=
00-100-1
FOR循环
y=0;
n=100;
fori=1:
n;
y=y+1/(i^2);
end
y
y=
1.6350
clear
i=1:
100;
s=1./i;
s*s'
i=1:
f=1./i.^2;
y=sum(f)
a=[12356734245-3-4-3]
12356734245-3-4-3
(a>
0)*a'
807
z=1-exp(-x)-exp(-y)+exp(-x-y-x*y);
概率论P152例三的而为随机变量'
五、分段函数在MATLAB上面的实现
1.x=0:
0.01:
10;
y=sqrt(x).*(x>
=0&
x<
4)+2*(x>
=4&
6)+(5-x/2).*(x>
=6&
8)+1*(x>
=8);
plot(x,y,'
r'
'
linewidth'
2)
axis([01002.1])
gridon
六、MATLAB在积分中的应用
functions=tfen(f,a,b,n)
ifnargin<
3
error('
必须输入被积函数f和积分区间端点a,b'
);
ifnargin==3
n=1000;
h=(b-a)/n;
x=a:
h:
b;
y=f(x);
s=sum(y(1:
end-1)+y(2:
end))*h/2;
edit
s=tfen(@sin,0,pi,200)
s=
2.0000
***三维图形的绘制***
4、>
[x,y,z]=peaks;
[C,h]=contour(x,y,z,12,'
xlabel('
x-axis'
),ylabel('
y-axis'
clabel(C,h);
注意clabel(C,h)的作用
6、三维图形用参数方程作图的问题
theta=0:
pi/40:
2*pi;
t1=0:
6;
[theta,t]=meshgrid(theta,t1);
X=cos(theta)+t;
Y=sin(theta)+2*t;
Z=t;
surf(X,Y,Z)
8、shadinginterp(interpolation)的运用
example10
shadinginterp
9、对于surf图形的修饰问题
[x0,y0,z0]=sphere(30);
x=2*x0;
y=2*y0;
z=2*z0;
surf(x0,y0,z0);
shadinginterp;
holdon;
mesh(x,y,z);
colormaphot;
holdoff;
hiddenoff;
axisequal;
axisoff
colormap([1,0,0])
colormap([1,1,0])针对曲面图和曲线图
colormap([1,0,0;
1,1,0])
MATLAB解代数方程
1、迭代法
4、不同的迭代方式,收敛的速度不一样,而且有的是发散的,无法求出结果
5、如何构造(x)使收敛速度更快?
6、怎样确定初始值是在这个位置,还是在那个位置→边界是分形结构这个非常复杂。
如果选择不好,会产生混沌现象
7、迭代后的另一种情况是既不发散,也不收敛例如x=3.7*x*(1-x)
8、对于f(x)==0的迭代有没有一般的方法?
X=x+f(x)再结合
可得x=x-f(x)/f'
(x)*********************************************************牛顿切线法
以上是对于单变量的情况
下面讨论多变量的情况
f(x,y,z)=0&
g(x,y,z)=0&
h(x,y,z)=0
19、多元统计分析
x=[631.60161.900.36403.0026073.0035.34
498.40143.203.57176.001023.006.26
557.6070.602.18199.0011571.009.48
684.10281.801.40286.0016660.0029.39
644.0093.501.98234.0013621.0022.68
620.30248.602.56296.0017210.0021.84
498.40147.502.50284.0013578.0013.49];
x2=zscore(x);
y2=pdist(x2,'
euclidean'
z2=linkage(y2,'
centroid'
c2=cophenet(z2,y2)
c2=
0.6398
t=cluster(z2,6)
t=
5
4
1
6
3
2
h=dendrogram(z2)
h=
173.0011
175.0011
176.0011
177.0011
178.0011
179.0011
xlabel'
ylabel('
ylabel'
聚类分析研究'
数据拟合问题的研究
x=[202530354045505560];
y=[8059851170136515701790203023002610];
z1=polyfit(x,y,3);
y1=polyval(z1,x);
z2=polyfit(x,y,4);
y2=polyval(z2,x);
plot(x,y,'
o'
x,y1,'
r-'
x,y2,'
b-.'
legend('
原始数据'
三阶多项式'
四阶多项式'
MATLAB做出曲线的散点图的代码
+'
*'
888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888
背景介绍
Matlab提供了一系列绘图函数,常见的包括绘制2D曲线的plot函数、绘制2D隐函数曲线的ezplot函数、绘制3D曲面的mesh和surf函数、绘制3D显函数曲面的ezmesh和ezsurf函数。
值得注意的是,ez系列的绘图函数里只有ezplot是绘制隐函数曲线的,ezmesh和ezsurf都是画显函数曲面的(不要被ez的名字误解了)。
遗憾的是,matlab里并没有提供直接绘制3D隐函数曲面的函数。
本帖的目的就是归纳总结几种方便易用的绘制隐函数曲面的办法。
问题描述
如何绘制3元方程f(x,y,z)=0确立的隐函数曲面z=g(x,y)?
其中,方程f(x,y,z)=0无法求解z关于x、y的表达式,即g(x,y)的显式表达式无法获取。
准备工作——基础函数介绍
为了解决上述问题,我们需要先对几个重要的图形函数isosurface、patch、isonormals取得初步的了解,如果您已经对这三个函数很熟悉,可以直接跳过这一步。
l.
isosurface
等值面函数
调用格式:
fv=isosurface(X,Y,Z,V,isovalue)
作用:
返回某个等值面(由isovalue指定)的表面(faces)和顶点(vertices)数据,存放在结构体fv中(fv由vertices、faces两个域构成)。
如果是画隐函数
v=f(x,y,z)=0
的三维图形,那么等值面的数值为isovalue=0。
2.
patch函数
patch(X,Y,C)
以平面坐标(X,Y)为顶点,构造平面多边形,C是RGB颜色向量
patch(X,Y,Z,C)以空间3-D坐标(X,Y,Z)为顶点,构造空间3D曲面,C是RGB颜色向量
patch(fv)
通过包含vertices、faces两个域的结构体fv来构造3D曲面,fv可以直接由等值面函数isosurface得到
例如:
patch(isosurface(X,Y,Z,V,0))
3.
isonormals等值面法线函数
isonormals(X,Y,Z,V,p)
实现功能:
计算等值面V的顶点法线,将patch曲面p的法线设置为计算得到的法线(p是patch返回得到的句柄)。
如果不设置法线的话,得到曲面在过渡地带看起来可能不是很光滑
有了上述三个函数后,我们已经具备间接绘制3D隐函数曲面的能力了。
下面以方程
f(x,y,z)=x.*y.*z.*log(1+x.^2+y.^2+z.^2)-10=0为例,讲解如何画3D隐函数曲面。
解决办法一:
isosurface+patch+
isonormals
实现原理:
先定义3元显函数v=f(x,y,z),
则
v=0
定义的等值面就是z=g(x,y)的3D曲面。
利用isosurface函数获取v=0的等值面,将得到的等值面直接输入给patch函数,得出patch句柄p,并画出patch曲面的平面视角图形。
对p用isonormals函数设置曲面顶点数据的法线,最后设置颜色、亮度、3D视角,得到3D曲面。
代码如下:
f=@(x,y,z)x.*y.*z.*log(1+x.^2+y.^2+z.^2)-10;
[x,y,z]=meshgrid(-10:
.2:
10,-10:
10);
v=f(x,y,z);
h=patch(isosurface(x,y,z,v,0));
isonormals(x,y,z,v,h)
set(h,'
FaceColor'
EdgeColor'
none'
x'
ylabel('
y'
zlabel('
z'
alpha
(1)
gridon;
view([1,1,1]);
camlight;
lightinggouraud
Ezplot针对的隐函数的图像是二维的,三维的是无法做到的,所以说上面的内容还是很有价值的。
代码说明:
∙alpha函数用于设置patch曲面的透明度(可以是0~1任意数值),1
表示不透明,0
表示最大透明度。
如果想设置透明度为0.7,可以修改alpha
(1)为alpha(0.7)。
∙使用此代码解决特定问题时,只需将第1行的函数表达式替换为特定问题的函数表达式,将第2行数据(x、y、z)范围换成合适的范围,后续代码无需任何变动。
关于三维参数方程的图像的操作的再一次研究与探讨:
u=-pi/2:
pi/10:
pi/2;
v=-pi:
0;
[u,v]=meshgrid(u,v);
x=2*sec(u).*cos(v);
y=3*sec(u).*sin(v);
z=4*tan(u);
surf(x,y,z)
u=-2*pi:
pi/50:
v=-2*pi: