中南大学matlab课程设计_第1页
中南大学matlab课程设计_第2页
中南大学matlab课程设计_第3页
中南大学matlab课程设计_第4页
中南大学matlab课程设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、matlab程序设计实践matlab基础班级:学号:姓名:表示多晶体材料织构的三维取向分布函数(f=f(ei, e,彷2) 是一个非常复杂的函数,难以精确的用解析函数表达,通常采用离散 空间函数值来表示取向分布函数,data.txt是三维取向分布函数的一 个实例。由于数据量非常大,不便于分析,需要借助图形来分析。请 你编写一个matlab程序画出如下的几种图形来分析其取向分布特征:(1)用slice函数给出其整体分布特征;100 >80、60、4020、0 0(2) 用 pcolor或contour 函数分别给岀(<p2=0, 5, 10, 15, 20, 25, 30,359

2、0)切面上f分布情况(需要用到subplot函数);5005050500 00 0o50505005000 00 00050500505050050050050(3)用plot函数给出沿a取向线(pl=090,(p=45,.(p2 = 0)的f 分布情况。流程图开始v解:(1)将文件data.txt内的数据按照要求读取到矩阵f(phil,phi,ph中, 代码如下:f id=fopen ( 1 data . txt1;%读取数据文件dmtm . txtfor i=l:18tline=fgetl(fid);endphil=l;phi=l;phi2=l;line=0;f=zeros(19,19,1

3、9);while feof(fid)tline=fgetl(fid);data=str2num(tline);line=line+l;if mod(line,20)=1phi2=(data/5)+1;phi=l;elsefor phil=l:19f (phi1,phi,phi2)=data(phil);endphi=phi+l;endendfclose(fid);将以上代码保存为readtext.m文件并在matlab中运行,运行结果 如下图所示:file edit view debug desktop window helparray editor - f龙 th m p * > jf

4、( <:.!)columns 1 through 91 15500 96620 77981 03381 46601 64821 65771 75611 92501 51351.15120 57670 52620 92591 23541 31901 42241 62161 72331,16440 18540 10220 34840 71080 69290 85861 44910 98210 5155-0 1706-0 06900 49980 47480 07130 71522 53810 1032-0 1995-0 4627-0 005904132-0 13090 53021 290

5、69;4 - '44 0 2535q 4199-0 4562-0 0679-0 06760 7741-0 51282 46816 9044-0 614b 0.43000 02230 26460 20820 80420 09803 19966 9189-1 1374-0 401 10 7240o 0390o 4094 1 0252o o1d92 sx24 t2do310507881 43580 6266-1 2536 1 8070-0 89870 63082 268525160 34742 09790 71581 5873-1 988227660 39700 9857-1 31050 4

6、6322 43391 08901 0766-1 29440 8500-0 60610 351913740 40562 10471 22860 4652-0 6654-0 5153-0 6552-0 13840 61460 31171 42720 96390 0252-0 2275-041540 6155-0 15560 25350 1032-0 00930 34400 45740 49220 3000-0 3111-0 60530 0286 0/18960 5096-0.11400 58820 52000 3300-0 7582-0 24840 98210 2vm3-u t>w/4-u

7、seuu 4us2u 53u1 72330 79730 3386-0 01240 53640 18580 09840 11380 04011 51340 4057-0 47010 38420 98900 26930 08330 55950 09441 15500 1251-0 68150 52091 22940 33310 10700 6204-0 0322columns10 through 18a nay1 qxc11 2”1 zao1 4aaa1 cq"h 77oan qas将以下代码保存为codel l.m文件:fopen(1 readtext.m1);readtext;x,y

8、,z=meshgrid(0:5:90,0:5:90,0:5:90);slice(x,y,zzf, 45, 90, 45, 90, 0,45)%运用slice函数绘制图形运行结果如右图所示figure 1file edit view insert tools desktop window help qpwa n: (2)将以下代码保存为codel_2_l.m文件:fopen(1 readtext m'); readtext;for i=l:19subplot (5,4,i)pcolor (f (:, :,i)end%运用pcolor函数绘制图形d *0q q f; © e q帀

9、口_一nxfigure 1file edit view insert tools desktop wirdow help运行结果如右图所示5 10 155 10 155 10 155 10 155 10 15将以下代码保存为codel_2_2.m文件:fopen ( 1 readtext .mf ) ;%运用contour函数绘制图形readtext;for i=l:19subplot (5,4 z i) contour(f (:, :,i) end运行结果如右图所示:151015*151015105 10155 10 155 10 155 10 15151051510515105ii慚5 1

10、0155 10 155 10 155 10 1515105際負1510515105 10155 10 155 10 155 10 15151051510151051510qfigure 1一口file edt view insert tools desktop window help4 愆 qo® 或 b5 10 155 10 155 10 155 10 155 10 155 10 155 10 15(3)(pl =0-90, (p=45,(p2 = 0 所对应的 f(pl,(p,(p2)即为 f(:,10,l)。将以下代码保存为codel_3.m文件:fopen(1 readtex

11、t m');readtext;plot ( 0 : 5 : 90 , f (:, 10,1) j -bo t%运用plot函数绘制图形text (60,6z *phi=45 phi2 = 0 *)dfigure 1 dfile edit view insert tools desktop window help运行结果如下图所示:d"八宏03,d1.编程实现以下科学计算算法,并举一例应用之。(参考书籍精通matlab科学算法,王正林等著,电子工业出版社,2009年)“多项式拟合”。思考:多项式拟合是用多项式拟合曲线的一种方式,低次数下运用此方法 符合较好,但较高次数下波动太大

12、,失去真实性。1.1多项式曲线拟合概述对给定数据点(xi,yj (i=l,2,.n),构造m次多项式,p (x) =qo + dxamxm (m<n )由曲线拟合定义,应该使得下式取极小值: 仃i2z为咖-刀/=!通过简单的计算可得岀系数是下面的线性方程组的解:cm+加+1%2ma,n其中,n,伙=0,1, ,2/71)/=!bk=w:,伙= 0,1,加)在matlab中编程实现的多项式曲线拟合函数为:multifit 功能:离散实验数据点的多项式曲线拟合。调用格式:a=multifit (x, y, m)其中:x为实验数据点的x坐标向量;y为实验数据点的y坐标向量;m为拟合多项式的次数

13、;a为拟合多项式的系数向量。1.2多项式曲线拟合编程流程图1.3多项式曲线拟合的matlab程序代码function a=mu 11ifi t (x, y, m)%离散实验数据点的多项式曲线拟合%实验数据点的x坐标向量:x%实验数据点的y坐标向量:y%拟合多项式的次数:m%拟合多项式的系数向量:an=length(x);m=length(y);辻(n 二 m)dispc数据点坐标不匹配!);return;endc(l: (2*m+l)=0;b(l: (m+l)=o;for j二l:(2*m+l)%求出c和bfor k=l:nc(j)=c(j)+x(k),(j-1);if (j<(m+2)

14、 b(j)=b(j)+y(k)*x(k)7j-l); endendendc(l, :)=c(l: (m+1);for s=2:(m+1)c(s, :)=c (s: (m+s);enda二b' c;%直接求解法求出拟合系数1.4多项式曲线拟合应用实例用二次多项式拟合下表所列的数据点。x1234y41018261.4.1操作流程图c, y, 数m.数(x, y, m)1.4.2操作命令» x二1:4;» y=4 10 18 26;>> a 二 mult if it (x, y, 2)1.4.3输出结果0. 16120. 5672输出结果为:a二 0. 048

15、9 即拟合的多项式为:p=0. 0489+0. 1612x+0. 5672/144结果如图matlab-ofile edit d«bug de#ctop window mtlpd (。“謀呼# amrtdwdory“383umtlt 0 hrv ml 0 mrw2、编程解决以下科学计算问题。例8-1-5如图8-1-8所示电路,设r = 2rj= 3 0 rj 4 qjxi,j2» jxa = j3jxc2 = j5»usi = 8z0 v, us2 = 6zo v, uss = 8z0 v, uh = 15z0 v, 求各支路的电流相僮和电压相世。亠ci-图8-1

16、-8例8-1-5的电肖图2.1问题分析解:建模:由等效电流源电路图可知各支路导纳为:yl=l/rl+l/(j*xl); y2=l/r2-l/(j*xcl); y3=l/r3-l/0*xc2) 均为两并联元件导纳之和,按照图屮电流方向,其电流为i l=ua*y 1,i2=(ub-ua)*y2, 13二 ub* y3则a, b两点的电流方程为y1 uay2(ubua)=us l/jxl+us2/r 1y2(ubua)y3ub=us3/r3us4/jxc2us2/r2写成矩阵形式:了1 + y2y2 _uaue jxl + us2/ r-y2y2 + y3ub_us3/r3-us4/jxc2-us2

17、/r2即可写成au=b2.2操作流程图2.3程序代码:function funlrl=2; r2=3; r3=4; xl=2; xc1=3; xc2=5; %给出原始数据usl=8; us2=6; us3=8; us4=15;% 给岀原始数据y1二l/rl+l/( j*xl);%用复数表示各支路导路y2=l/r2-l/( j*xcl);y3 = 1/r3-1 /( j*xc2);a= y1+ y2, -y2;- y2, y2+y3 ; %按线性方程组列ua, ub的系数矩阵b=usl/( j*xl)+us2/rl;us3/r3+us4/(- j*xc2)-us2/r2; %列出线性方程组右 师

18、u二ab;ua=u(1), ub=u(2)%求呃,ubil=ua*yl, 12=( ub -u3)*y2, 13二ub*y3,%求各支路的illr=ua/rl ,lll=ua/( j*xl),i2r= (ub-ua)/r2, i2c=(ub-ua)/(-j*xcl),i3r=ub/r3,13c=ub/(- j*xc2),w=compass(ua, ub, tl, t2, t3)%画向量图,设定此图的图柄为wset (w,' linewidth', 2)%改变向量图线宽end2.4运行结果如图:运行» funlua =4.8845 -0.598 li ub =5.487

19、4+ 2.5752iil=2.1432 -2.7413i12 =-0.8568+ l2587i13 =0.8568 + l7413ii1r =2.4422 - 0.2990ii1l =-0.2990 - 2.4422ii2r =0.2010+ l0578ii2c =-1.0578+ 0.2010ii3r =1.3718 + 0.6438ii3c =-0.5150+ 1.0975i179.0024180.0024181.0024182.0024183.00242.5运行结果截图matlabcofwtteeoavv t mariaftxnwxflfile edit debug desktop wn

20、dow help d " *o ef v2702. (2)钢9.3用二次多项式拟合数据:04 0.5 07 0.7 0.9; y=0.61 0. 92 0. 99 1.52 l47 2.03; 并作出数据点和拟合曲线图。解:由题要求,可用最小二乘拟合法拟合函数流程图程序x=0.1 0.4 0.5 0.7 0.7 0.9;y=0.61 0.92 0.99 1.52 1.47 2.03;cc=polyfit(x,y,2) %求出 a 与 b 的系数 xx=x(l):0.1 :x(length(x);yy 二 polyval(cc,xx);plot(xx,yy,jj hold onplot(x,y;x') %画出图形 axis(0,l,0,3) xlabelcx*)ylabel(y)%坐标轴名称运行结果截图file e4it debug

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论