matlab自我学习Word文档下载推荐.docx

上传人:b****7 文档编号:22143709 上传时间:2023-02-02 格式:DOCX 页数:23 大小:283.32KB
下载 相关 举报
matlab自我学习Word文档下载推荐.docx_第1页
第1页 / 共23页
matlab自我学习Word文档下载推荐.docx_第2页
第2页 / 共23页
matlab自我学习Word文档下载推荐.docx_第3页
第3页 / 共23页
matlab自我学习Word文档下载推荐.docx_第4页
第4页 / 共23页
matlab自我学习Word文档下载推荐.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

matlab自我学习Word文档下载推荐.docx

《matlab自我学习Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《matlab自我学习Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。

matlab自我学习Word文档下载推荐.docx

a)

x(k

(1))

k=

5

6

7

8

9

10

ans=

0.6600

非线性拟和y=a*x^b+c的程序,求a,b,c.

%functionFitPaperData

formatlong

E1=rand(89,1);

E2=rand(89,1)+3;

F=inline('

p

(1).*x.^p

(2)+p(3)'

p'

x'

);

[p,r,j]=nlinfit(E1,E2,F,[1,2,3]);

p

p=

4.0651680818094960.006602435466971-0.535683924373363

我想写一个函数,输入参数是一个字符串比如是"160",函数主要目的是完成数据存储,我现在的问题是存储文件时,文件命名的问题,比如我想把输入的参数作为文件名的一部分,比如希望输出的文件名为"

temp160"

这个该怎样实现啊,谢谢!

i=160;

name=['

temp'

num2str(i),'

.txt'

%假设你想把当前工作区的数据存储为temp160.txt;

eval('

save(name)'

[1,2,3,NaN,5,NaN,7,8,9,10]

如何将NaN以外的8个数加起来,然后求这8个数的平均数。

a=[123nan5nan78910];

mean_a=mean(a(~isnan(a)))

在画图时

使用holdon可以保持上一幅图当前图可以画在同一个轴上,而不覆盖。

如果不使用holdon则新图会把旧图覆盖

参见helpholdon

bmpread:

从磁盘中读bmp文件

gifread:

从磁盘中读gif文件

tiffread:

从磁盘中读tiff文件

pcxread:

从磁盘中读pcx文件

图中加注文本(Addtextinthefigure)

text(x,y,’字符串’)

例:

在上图中加语句。

t=0:

pi/100:

2*pi;

y=sin(t);

plot(t,y)

axis([02*pi,-11])

xlabel('

0\leq\itt\rm\leq\pi'

FontSize'

16)

ylabel('

sin(t)'

20)

title('

正弦函数图形'

FontName'

隶书'

text(3*pi/4,sin(3*pi/4),'

\leftarrowsin(t)=0.707'

'

text(pi,sin(pi),'

\leftarrowsin(t)=0'

text(5*pi/4,sin(5*pi/4),'

sin(t)=-0.707\rightarrow'

16,...

'

HorizontalAlignment'

right'

句中:

leftarrow表示加一个向左的箭头

rightarrow表示加一个向右的箭头

HorizontalAlignment表示右对齐水平排列

gtext函数用于在图形窗口上用鼠标直接在指定的位置上加注文本,调用格式:

gtext(‘字符串‘)

gtext('

加的内容'

输入数在命令窗口:

F=input('

输入优先关系矩阵F:

常识:

1whos查看工作空间中变量的详细属性

2inf,Inf:

无穷大nan,NaN:

Not-a-Number,一个不定值,如0/0

3pi:

圆周率,其值为imag(log(-1))i,j:

虚部单位

4格式解释例

format短格式(缺省显示格式),同short3.1416

formatshort短格式(缺省显示格式),只显示5位3.1416

formatlong长格式,双精度数15位,单精度数7位3.14159265358979

formatshorte短格式e方式(科学计数格式)3.1416e+000

formatlonge长格式e方式3.141592653589793e+000

formatshortg短格式g方式3.1416

formatlongg长格式g方式3.14159265358979

formatcompact压缩格式

formatloose自由格式

format+/formatbank/formatrat/formathex(详情查看联机帮助)

5save将所有变量存入文件matlab.mat

savemydata将所有变量存入指定文件mydata.mat

savemydata.mat将所有变量存入文件mydata.mat

6loadmydata载入数据文件中的所有变量

loadmydataAx从数据文件中提取指定变量

7clearAx清除指定的变量

8可以先输入命令的前几个字符,再按上下键缩小搜索范围

命令补全功能:

Tab键用Esc键删除命令行

9常用函数有:

eye(size(A))产生与A矩阵同阶的单位矩阵

zeros(m,n)产生0矩阵

ones(m,n)产生幺矩阵

rand(m,n)产生随机元素的矩阵

Size(a)返回包含两个元素的向量。

Length(a)返回向量的长度。

zeros(m,n)生成一个m行n列的零矩阵,m=n时可简写为zeros(n)

ones(m,n)生成一个m行n列的元素全为1的矩阵,

m=n时可写为ones(n)

eye(m,n)生成一个主对角线全为1的m行n列矩阵,

m=n时可简写为eye(n),即为n维单位矩阵

diag(X)若X是矩阵,则diag(X)为X的主对角线向量

若X是向量,diag(X)产生以X为主对角线的对角矩阵

tril(A)提取一个矩阵的下三角部分

triu(A)提取一个矩阵的上三角部分

rand(m,n)产生0~1间均匀分布的随机矩阵m=n时简写为rand(n)

randn(m,n)产生均值为0,方差为1的标准正态分布随机矩阵

m=n时简写为randn(n)

其它特殊矩阵生成函数:

magic、hilb、pascal

10Matlab图形可视化

1)在同一图形窗口中用命令plot(x,y)绘出正弦余弦函数的图形。

x=0:

0.01:

y=[sin(x);

cos(x)];

plot(x,y)

2)二维函数曲线专用命令fplot

3)

subplot(m,n,i)

其含义为:

把图形窗口分割为m行n列子窗口,然后选定第i个窗口为当前窗口。

subplot命令不仅用于二维图形,对三维图形一样适用。

其本质是将figure窗口分为几个区域,再在每个区域内分别绘图。

4)axis([xmin,xmax,ymin,ymax,zmin,zmax])

5)三维曲线绘图命令

三维函数plot3主要用来表现单参数的三维曲线,与二维绘图函数plot相比,只多了第三维数据。

其调用格式为:

plot3(X1,Y1,Z1,s1,X2,Y2,Z2,s2,…)

参数的含义如下:

Xn、Yn、Zn:

第一到三维数据,是尺寸相等的向量/矩阵;

s、s1、s2:

是字符串,用来设置线型、颜色、数据点标记。

0.1:

8*pi;

plot3(sin(t),cos(t),t)

title(’绘制螺旋线’)%用命令title对图形主题进行标注

xlabel(’sin(t)’,’FontWeight’,’bold’,’FontAngle’,’italic’)

ylabel(’cos(t)’,’FontWeight’,’bold’,’FontAngle’,’italic’)

zlabel(’t’,’FontWeight’,’bold’,’FontAngle’,’italic’)

%命令zlabel用来指定z轴的数据名称

gridon

6)平面网格点的生成

函数命令meshgrid用来生成x-y平面上的网格点矩阵。

调用形式为:

[X,Y]=meshgrid(x,y)

[X,Y]=meshgrid(x)等价于[X,Y]=meshgrid(x,x)

参数含义如下:

x:

是区间[x0,xm]上分划的向量;

y:

是区间[y0,yn]上分划的向量;

X,Y:

输出变量矩阵,矩阵X的行向量都是向量x,矩阵Y的列向量都是向量y。

函数meshgrid将由两个向量决定的区域转换为对应的网格点矩阵。

[X,Y]=meshgrid(-2:

2:

2,-2:

2);

[X,Y]%将划分结果输出至矩阵

ans=

-202-2-2-2

-202000

-202222

Z=X.*exp(-X.^2-Y.^2);

%计算网格点上的函数值赋予变量

Z

Z=

-0.000700.0007

-0.036600.0366

-0.000700.0007

10,利用三维网格表面命令surf绘制图形。

z=peaks;

%绘制山峰的图像,将函数值赋予变量z

surf(z)%对山峰的图像进行着色处理

shadinginterp%函数shading改变着色方式

11,a.柱面的表达cylinder

cylinder命令中,柱面的轴线定义为z轴,只要给出母线的描述就可完成一个柱面。

调用格式为:

[X,Y,Z]=cylinder(R,N);

[X,Y,Z]=cylinder(R):

缺省值N=20;

[X,Y,Z]=cylinder:

缺省值N=20,R=[1,1]。

R:

是一描述柱面母线的向量;

N:

是旋转柱面上的分割线条数;

[X,Y,Z]:

是返回的x,y,z坐标向量。

绘制一个柱面。

t=pi:

3*pi;

r=sin(t)+t;

cylinder(r,30)

shadinginterp

12,b.球面的表达sphere

[X,Y,Z]=sphere(N):

产生一个(N+1)×

(N+1)的矩阵,然后用函数surf命令绘制一个单位的球面,N为设置分割线的条数;

[X,Y,Z]=sphere:

缺省

值N=20。

画一个球面。

[X,Y,Z]=sphere;

surf(X,Y,Z)

13,特殊图形绘制

13.1.面积图命令area

表现各个不同部分对整体所作的贡献

area(X,Y):

与plot的命令的使用方法相似,将连线图到x轴的那部分填上了颜色;

area(Y):

缺省值X=1:

SIZE(Y);

area(X,Y,LEVEL)或area(Y,LEVEL):

填色部分为由连线图到y=level的水平线之间的部分。

绘制一面积图

X=-2:

2;

Y=[3,5,2,4,1;

5,4,2,3,5;

3,4,5,2,1];

area(X'

Y'

legend('

因素1'

因素2'

因素3'

13.2用绘制直方图的几种命令绘制直方图。

subplot(2,2,1)

bar(X,Y'

r'

y'

colormap(cool)

subplot(2,2,2)

barh(X,Y'

grouped'

subplot(2,2,3)

stacked'

\Sigmay'

colormap(summer)

13.3绘制三维直方图。

bar3(X,Y'

zlabel('

bar3h(X,Y'

13.3.饼图命令pie

饼图又叫扇形图,用于显示向量中元素所占向量元素总和的百分比。

pie和pie3分别用于绘制二维和三维饼图。

调用格式:

pie(X):

向量X的饼图。

把X的每一个元素在所有元素总和中占的比例表达出来;

pie(X,EXPLODE):

向量EXPLODE(和向量X长度相等)用于指定饼图中抽出一部分的块(非零值对应的块);

pie(...,LABELS):

LABELS是用于标注饼图的字符串数组,其长度必须和向量X相等;

H=pie(...):

返回包括饼图和文本对象句柄。

用函数pie和pie3绘制饼图。

x=[200,360,120,400,320];

subplot(2,2,1),

pie(x,[00010])

subplot(2,2,2),

pie3(x,[00010])

subplot(2,2,3),

pie(x(2:

5))

subplot(2,2,4),

x=[0.1,0.12,0.21,0.34,0.11];

pie3(x,{'

})

13,4极坐标、柱坐标和球坐标系下绘制图形

1.极坐标系下绘制图形

ploar是直接在极坐标系下绘图的命令

ploar(THETA,RHO,S)

其中S是字符串,用来控制图形的线型。

绘制半径为2的渐开线。

rhe=2;

theta=0:

pi/20:

4*pi;

rho=rhe+theta*rhe;

polar(theta,rho,'

14,坐标轴的调整和图形的标注

14.11坐标轴调整命令

2.图形标注

坐标轴和图形标题标注

标注坐标轴x、y和z的命令函数为xlabel、ylabel和zlabel,调用格式为:

xlabel(’text’)

xlabel(’text’,’Property1’,PropertyValue1,’Property2’,PropertyValue2,...)

H=xlabel(...)返回坐标轴标注的句柄。

其中,’text’是要添加的标注文本。

’Property’是文本的属性名,’PropertyValue’是属性值(所用字体、大小、标注角度等)。

图形加标题的函数为title,其调用格式与坐标轴标注类似。

b.图例的标注

legend命令实现不同图例的说明。

legend(string1,string2,string3,...)

legend(string1,string2,string3,...,Pos)

按顺序把字符串添加到相应的曲线线型符号之后;

Pos对图例的位置作出设置和调整:

0=自动把图例置于最佳位置(和图中曲线重复最少);

1=置于图形窗口的右上角(缺省值);

2=置于图形窗口的左上角;

3=置于图形窗口的左下角;

4=置于图形窗口的右下角;

-1=置于图形窗口的右侧(外部)。

3.控制分格线

对二维和三维图形都适用。

有三种用法:

gridon:

打开分格线控制开关,以后绘制的图形都带有分格线;

gridoff:

关闭分格线控制开关,以后绘制的图形都不带分格线;

grid:

用于实现分格线绘制切换。

绘制图形,并用函数xlabel、title和legend命令进行标注。

y=sin(t);

y1=cos(t);

plot(t,y,'

:

t,y1,'

r*'

x轴(0--4\pi)'

fontsize'

12,'

fontweight'

bold'

y轴'

绘制正弦波和余弦波Pos=1'

10,'

fontangle'

italic'

text(pi,0,'

\leftarrowsin(\pi)=0'

text(pi,-1,'

\leftarrowcos(\pi)=-1'

text(pi/2,0.9,['

\uparrowsin(\pi/2)='

num2str(sin(pi/2))])

text(0,-0.6,['

绘图日期:

date])

text(0,-0.8,['

MATLAB版本:

version])

正弦波'

余弦波'

figure

(2)

plot(t,y,'

绘制正弦波和余弦波Pos=0'

0)

gridon

figure(3)

绘制正弦波和余弦波Pos=-1'

text(7*pi/2,0,'

\rightarrowcos(\pi*7/2)=0'

-1)

gridoff

二,Matlab符号运算

Matlab的符号数学工具箱可以完成几乎所有得符号运算功能。

主要包括:

符号表达式的运算,符号表达式的复合、化简,符号矩阵的运算,符号微积分、符号作图,符号代数方程求解,符号微分方程求解等

1,sym函数用来建立单个符号变量,一般调用格式为:

符号变量=sym(A)

参数A可以是一个数或数值矩阵,也可以是字符串

2,syms命令用来建立多个符号变量,一般调用格式为:

syms符号变量1符号变量2...符号变量n

3,符号表达式的建立:

(1)用sym函数直接建立符号表达式。

(2)使用已经定义的符号变量组成符号表达式。

y=sym('

sin(x)+cos(x)'

)x=sym('

y=sin(x)+cos(x)

4,按字母顺序列出符号表达式expr中的所有符号变量

f=sym('

2*w-3*y+z^2+5*a'

)findsym(f),

4,subs(f,x,a)

用a替换字符函数f中的字符变量x

a是可以是数/数值变量/表达式或字符变量/表达式

(若x是一个由多个字符变量组成的数组或矩阵,则a应该具有与x相同的形状的数组或矩阵。

如:

A=sym('

[1+x,sin(x);

5,exp(x)]'

A(1,2)%引用

A(2,2)=sym('

cos(x)'

)%重新赋值

得:

sin(x)

A=

[x+1,sin(x)]

[5,cos(x)]

三,类常见符号运算

1,因式分解

>

s=factor(100)

s=

2255

symsx;

f=x^6+1;

factor(f)

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

2,函数展开

symsxy;

f=sin(x+y);

expand(f)

cos(x)*sin(y)+cos(y)*sin(x)

3,合并同类项

collect(f,v):

按指定变量v进行合并

collect(f):

按默认变量进行合并

4,函数简化

y=simple(f):

对f尝试多种不同的算法进行简

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

当前位置:首页 > 高等教育 > 农学

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

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