收藏 分销(赏)

MATLAB基础.doc

上传人:xrp****65 文档编号:7683793 上传时间:2025-01-12 格式:DOC 页数:5 大小:51KB 下载积分:10 金币
下载 相关 举报
MATLAB基础.doc_第1页
第1页 / 共5页
MATLAB基础.doc_第2页
第2页 / 共5页


点击查看更多>>
资源描述
附录:MATLAB简介 第一部分 MATLAB基础 一、 MATLAB入门 启动MATLAB后,就进入命令窗口(Command Window),提示符为>> 1、简单的运算 例1 计算球体积 r=2; %有“;”不显示结果 v=4/3*pi*r^3 %没有“;”显示结果 注意:1、可多个命令写一行,命令间用“,”或“;”分开。 2、允许使用←↑→↓键来编辑前面的命令。 2、变量和数据 (1)变量有数值型和字符型两类,变量类型和数组大小无需预先定义。 (2)常用的常量 i或j―复数单位 pi― Inf―无穷大 (3)变量名以字母开头,后可跟字母、数字和下划线,区分大小写。 (4)变量查询用who或whos,清除变量用clear。 (5)数据显示格式是整数作为整数显示,实数显示4位小数,可通过format命令改变。 (6)数据保存用save,调用用load。 例2 变量定义、查询和清除 a=1+2*i A=’This is a string’ who %变量查询 whos %变量查询 a %显示变量a的值 clear a A; %清除变量a和A clear; %清除所有变量 例3 数据显示、保存和调用 b=5 c=pi format rational; c format; c save; %当前所有变量和数据保存到数据文件matlab.mat clear; c load; c 3、数学函数 如 sin(A) asin(A) tan(A) cot(A) exp(A) sqrt(A) abs(A) log(A) 二、作图 图形可直接保存为M文件,也可以将其作为图片剪贴到WORD文档或其它应用程序中,图形的颜色、线型、标记均可设定。 1、曲线图 plot(x,y) 作出以数据(x(i),y(i))为节点的折线图 fplot(‘fun’,[a,b]) 作出函数fun在区间[a,b]上的曲线图 plot3(x,y,z) 作出空间曲线图 例4 作平面曲线的图形 x=-1:0.2:2; y=abs(x).^2.*sin(5*x); plot(x,y,’:ro’); close; fplot(‘x^3-x-1’,[-1,2]) close; %关闭已有图形窗口 fplot(‘[tan(x),sin(x),cos(x)]’,[-2*pi,2*pi,-2*pi,2*pi]) 例5 作空间曲线的图象 clear; close; t=0:0.1:20; r=exp(-0.2*t); h=0.5*pi*t; x=r.*cos(h); y=r.*sin(h); z=t; plot3(x,y,z) 2、曲面图 [x,y]=meshgrid(xa,ya) 生成x-y平面上的网格数据 mesh(x,y,z) 绘制网面图 例6 作曲面图象 clear; close; %关闭已有图形窗口 xa=-2:0.2:2; ya=xa; [x,y]=meshgrid(xa,ya); z=x.*exp(-x.^2-y.^2); mesh(x,y,z) 三、符号运算 符号运算的变量、表达式均为符号对象,应当用sym或syms生成。如 syms a,b,c; %生成符号变量a,b,c 例7 多项式运算举例 syms x; f=(x-1)^3; g=(x+1)^3; h=f*g s=expand(h) %展开 hf=factor(s) %因式分解 hsub=subs(s,x,x^2+x+1) %变量代换 hsim=simple(hsub) %化简 四、代数方程(组)求根 roots 求多项式方程的根 fzero 求一元函数在[a,b]的实根(要求函数在a,b两点异号) fsolve 求方程(组)的数值解 solve 方程(组)求解 例8 求方程的根 roots([1 2 0 -5]) 例9 求方程在[2,6]中的实根 fzero(‘sin(x)-0.1*x’,[2,6]) 例10 解方程组 [x,y,f]=fsolve(‘[4*x(1)-x(2)+exp(x(1))/10-1 , -x(1)+4*x(2)+x(1)^2/8]’,[0,0]) 例11 求方程和方程组的根 solve(‘x^2-3*x+exp(x)-2’,’x’) solve(‘x^2-3*x+exp(x)=2’) [x,y]=solve(‘x^2+x*y+y=3’,’x^2-4*x+3=0’) 五、曲线插值与拟合 1、一维插值 Y1=interp1(X,Y,X1,’method’) 其中X和Y为原始数据点;X1为加细的数据点或是我们希望得到插值数据的数据点。 method是指定插值方法: linear 线性插值 spline 三次样条插值 cubic 三次插值 pp=spline(x,y) 得到样条插值的分段多项式 [b,c]=unmkpp(pp) b显示样条函数的结点,c显示样条函数的各个分段三次多项式的系数. 例12 三次多项式插值 clear;close; x=linspace(0,2*pi*300,19); y=[502.8 ,525.0,514.3,451.0,326.5,188.6,92.2,59.6,62.2,102.7,147.1,191.6,236.0,280.5,324.9,369.4413.8,458.3,502.8]; plot(x,y,’o’);axis([0,2000,0,550]); 可见,可以用三次多项式插值,下面画出柱高插值曲线图。 xi=0:2*pi*300; yi=interp1(x,y,xi,’cubic’); plot(xi,yi); 例13 三次样条插值 x=1:12; y=[5 6 9 15 25 29 31 30 22 25 27 24]; close; plot(x,y,x,y,’+’) pp=spline(x,y); [b,c]=unmkpp(pp) 例14 三次样条插值 t=[0 0.921 1.843 2.949 3.871 4.978 5.9 7.006 7.982 8.967 10.954 12.032 12.954 13.875 14.982 15.903 16.826 17.931 19.037 19.959 20.839 22.958 23.88 24.986 25.908]; r=[54.516 42.320 38.085 41.679 33.297 37.814 30.748 38.455 32.122 41.718 73.686 76.434 71.686 60.19 68.333 59.217 52.011 56.626 63.023 54.859 55.439 57.602 57.766 51.891 36.464]; plot(t,r,’b+’); % (t,r)表示时间和流速 title(‘流速散点图’);xlabel(’时间(小时)’); ylabel(‘流速(立方米/小时)’) 使用MATLAB软件中的三次样条插值命令得到用水率函数如下图所示。 x0=t;y0=r; [l,n]=size (x0); dl=x0(n)-x0(1); x=x0(1):1/3600:x0(n); %被插值点 ys=interp1 (x0,y0,x,’spline’); %样条插值输出 plot (x,ys); title(‘样条插值下的流速图’);xlabel(’时间(小时)’); ylabel(‘流速(立方米/小时)’) 2、二维插值 ZI=interp2(x,y,z,xi,yi) 使用双线性插值 ZI=interp2(x,y,z,xi,yi,’spline’) 使用二元三次样条插值 ZI=interp2(x,y,z,xi,yi,’cubic’) 使用二元三次插值 其中x,xi为行向量,y,yi为列向量,z为矩阵。 ZI=griddata (x,y,z,xi,yi) 使用三角形线性插值 ZI=griddata (x,y,z,xi,yi,’cubuc’) 使用三角形三次插值 其中x,y,z均为向量(不必单调)xi,yi为网格向量。 例15 二元函数插值 x=[129 140 108 88 185 195 105 157 107 77 145 162 162 117]; y=[7 141 28 147 22 137 85 -6 -81 3 45 -66 84 -38]; z=[4 8 6 8 6 8 8 9 9 8 8 9 4 9]; h=-z;xi=75:5:200;yi=[-50:10:150]’; hi=griddate(x,y,h,xi,yi,’cubic’); %采用三角形三次插值 mesh(xi,yi,hi);view(-60,30); contour(xi,yi,hi,[-5,-5],’k’) %等高线图 3、曲线拟合 p=polyfit(x,y,n) 按n次多项式拟合 例16 线性函数拟合 x=[100 110 120 130 140 150 160 170 180 190]; y=[45 51 54 61 66 70 74 78 85 89]; close; plot(x,y) p=polyfit(x,y,1) 例17 非线性函数化为线性函数拟合 t=[0 1 2 3 4 5 6 7 8 9 10]; u=[100 75 55 40 30 20 15 10 10 5 5]; close; plot(t,u) T=t; U=log(u); p=polyfit(T, U,1) b=p(1) a=exp(p(2)) 例18 多项式函数拟合 x=[34 36 37 38 39 39 39 40 40 41 42 43 43 45 47 48]; y=[1.30 1.00 0.73 0.90 0.81 0.70 0.60 0.50 0.44 0.56 0.30 0.42 0.35 0.40 0.41 0.60]; close; plot(x,y) p=polyfit(x,y,2) xi=linspace(34,48,1000); %绘图的X轴数据 z=polyval(p,xi); %得到多项式在数据点处的值 close; plot(x,y,’ko’,xi,z,’r-’)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服