




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、矩阵运算矩阵建立,转置、加、减、乘、求逆等运算。解:>> a=1 3 9; 2 4 6; 5 7 8a = 1 3 9 2 4 6 5 7 8>> a' ans = 1 2 5 3 4 7 9 6 8>> b = 1 2 3;2 1 2;3 2 1;>> sum = a + bsum = 2 5 12 4 5 8 8 9 9>> devide = a - bdevide = 0 1 6 0 3 4 2 5 7>> mutiply = a * b mutiply = 34 23 18 28 20 20 43 33
2、 37>> qinuni = inv(a)qinuni = 0.4545 -1.7727 0.8182 -0.6364 1.6818 -0.54550.2727 -0.3636 0.0909二、M文件的编写与运行 例:输出10003000年的闰年。解:1.建立year.m文件,如下:for year0 = 1000:3000 if mod(year0 , 4) = 0 & mod (year0 , 100) =0 disp(year0); elseif mod (year0 , 4) = 0 & mod (year0 , 400) = 0 disp(year0);
3、else disp(' '); endend2.运行year.m文件,结果为:1004 1008 1012 1016 1020 1024 1028 1032 1036 1040 1044 1048 1052 1056 1060 1064 1068 1072 1076 1080 1084 1088 1092 1096 1104 1108 1112 1116 1120 1124 1128 1132 1136 1140 1144 1148 1152 1156 1160 1164 1168 1172 1176 1180 1184 1188 1192 1196 1200 1204 120
4、8 1212 1216 1220 1224 1228 1232 1236 1240 1244 1248 1252 1256 1260 1264 1268 1272 1276 1280 1284 1288 1292 1296 1304 1308 1312 1316 1320 1324 1328 1332 1336 1340 1344 1348 1352 1356 1360 1364 1368 1372 1376 1380 1384 1388 1392 1396 1404 1408 1412 1416 1420 1424 1428 1432 1436 1440 1444 1448 1452 145
5、6 1460 1464 1468 1472 1476 1480 1484 1488 1492 1496 1504 1508 1512 1516 1520 1524 1528 1532 1536 1540 1544 1548 1552 1556 1560 1564 1568 1572 1576 1580 1584 1588 1592 1596 1600 1604 1608 1612 1616 1620 1624 1628 1632 1636 1640 1644 1648 1652 1656 1660 1664 1668 1672 1676 1680 1684 1688 1692 1696 170
6、4 1708 1712 1716 1720 1724 1728 1732 1736 1740 1744 1748 1752 1756 1760 1764 1768 1772 1776 1780 1784 1788 1792 1796 1804 1808 1812 1816 1820 1824 1828 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 1892 1896 1904 1908 1912 1916 1920 1924 1928 1932 1936 1940 1944 1948 195
7、2 1956 1960 1964 1968 1972 1976 1980 1984 1988 1992 1996 2000 2004 2008 2012 2016 2020 2024 2028 2032 2036 2040 2044 2048 2052 2056 2060 2064 2068 2072 2076 2080 2084 2088 2092 2096 2104 2108 2112 2116 2120 2124 2128 2132 2136 2140 2144 2148 2152 2156 2160 2164 2168 2172 2176 2180 2184 2188 2192 219
8、6 2204 2208 2212 2216 2220 2224 2228 2232 2236 2240 2244 2248 2252 2256 2260 2264 2268 2272 2276 2280 2284 2288 2292 2296 2304 2308 2312 2316 2320 2324 2328 2332 2336 2340 2344 2348 2352 2356 2360 2364 2368 2372 2376 2380 2384 2388 2392 2396 2400 2404 2408 2412 2416 2420 2424 2428 2432 2436 2440 244
9、4 2448 2452 2456 2460 2464 2468 2472 2476 2480 2484 2488 2492 2496 2504 2508 2512 2516 2520 2524 2528 2532 2536 2540 2544 2548 2552 2556 2560 2564 2568 2572 2576 2580 2584 2588 2592 2596 2604 2608 2612 2616 2620 2624 2628 2632 2636 2640 2644 2648 2652 2656 2660 2664 2668 2672 2676 2680 2684 2688 269
10、2 2696 2704 2708 2712 2716 2720 2724 2728 2732 2736 2740 2744 2748 2752 2756 2760 2764 2768 2772 2776 2780 2784 2788 2792 2796 2800 2804 2808 2812 2816 2820 2824 2828 2832 2836 2840 2844 2848 2852 2856 2860 2864 2868 2872 2876 2880 2884 2888 2892 2896 2904 2908 2912 2916 2920 2924 2928 2932 2936 294
11、0 2944 2948 2952 2956 2960 2964 2968 2972 2976 2980 2984 2988 2992 2996三、数据文件的建立与读取例:建立班级一门课成绩数据库,编程读取并排序、另存。解:(1) 建立scores.dat的空文件然后在主窗口中输入如下:其中将成绩存放在数组score中>> score=96,89,86,68,46,87,65,55,76,78,70;>>%将成绩写入到scores.dat的文件中>> Fid=fopen('scores.dat', 'w');>> c
12、nt=fwrite(Fid, score, 'float');>> fclose(Fid);>>%从scores.dat的文件中读取成绩>> Fid=fopen('scores.dat', 'r');>> B,cnt=fread(Fid, 'float');>> B%从文件中读取的数据结果:B=96 89 86 68 46 87 65 55 76 78 70>> sortScore=sort(B,1)%排序%排序后的结果:sortScore= 46 55 65
13、 68 70 76 78 87 89 92 96 四、绘二维、三维图 例:画双纽线,螺线,球面。1. 二维(1) 绘制曲线 程序如下:>> t = -pi:pi/100:pi;>> x = t.*cos(3*t);>> y = t.*sin(t).*sin(t);>> plot(x,y)结果如下: (2)绘制正弦和余弦曲线程序如下:>> x=linspace(0,2*pi,100);>> y=sin(x);cos(x);>> plot(x,y)>> 结果如下:2. .三维 (1)螺旋线程序如下:&g
14、t;> t = 0 : 0.01 : 27 ;>> x = sin(t);>> y = cos(t);>> z = t;>> plot3(x,y,z)结果如下: (2)球面程序如下:>> a=input('please input the centure a: ')>>b=input('please input the centure b: ')>>c=input('please input the centure c: ')>>r=input(
15、'please input the radius:')>>x,y,z=sphere(30);>>x=x*r+a;>>y=y*r+b;>>z=z*r+c;>>mesh(X,Y,Z)结果如下:五、多项式运算例:多项式运算求值、求根。1.多项式运算建立ployadd.m文件,如下:functionpoly=polyadd(poly1,poly2)if length(poly1)<length(poly2)short=poly1;long=poly2;elseshort=poly2;long=poly1;endmz=le
16、ngth(long)-length(short);if mz>0poly=zeros(1,mz),short+long;elsepoly=long+short;end(1)在命令行里输入>> a=1,2,3,4;>> b=1,4,7,9;>> c=polyadd(a,b)结果(多项式相加)如下:c = 2 6 10 13(2)在命令行里输入>> a = 1,3,5,4;>> b = 2,3,4,6;>> c = conv(a,b)结果(多项式相乘)如下:c = 2 9 23 41 50 46 24(3)在命令行里输入
17、>> x,y = deconv(a,b)结果(多项式相除,除数为x,余数为y)如下:x = 0.5000y = 0 1.5000 3.0000 1.00002.多项式求值程序及结果如下:>> p = 1,2,-1,4;>> x = 2;>> polyval(p,x)ans = 183.多项式求根程序及结果如下:>> p = 3,-1,1,5;>> x = roots(p)x = 0.6667 + 1.1055i 0.6667 - 1.1055i -1.0000 六、曲线拟合例:数据的多项式拟合。解: x=0 30 60 9
18、0 120 150 180 210 240 270 300 330 360 y=-0.0167 -1.0927 -1.8725 -2.3586 -2.3061 -1.9576 -0.9574 -0.0080 0.8896 1.3877 1.1139 0.8517 -0.0167通过y=-0.52-1.90sin(2t/360-0.079)进行二次多项式拟合程序如下:>> x=0 30 60 90 120 150 180 210 240 270 300 330 360;>> y=-0.0167 -1.0927 -1.8725 -2.3586 -2.3061 -1.9576
19、 -0.9574 -0.0080 0.8896 1.3877 1.1139 0.8517 -0.0167;>> fun=(a,t) a(1)+a(2)*sind(t+a(3) >> a0=-0.5 -1.9 -0.079;>>a=nlinfit(x,y,fun,a0)>> t=0:5:360;>> yf=fun(a,t);>> plot(x,y,'*',t,yf)结果如下:七、线性规划例:线性规划求解(如教材中)。求解下列线性规划问题 程序如下:>> c=2;3;-5;>> a=-2
20、,5,-1;>> b=-10;>> Aeq=1,1,1;>> beq=7;>> x=linprog(-c,a,b,Aeq,beq,zeros(3,1)>> value=c'*x结果如下:x = 6.4286 0.5714 0.0000value = 14.5714八、微分方程数值解例:常微分方程数值解。利用:dsolve(方程1, 方程2,方程n, 初始条件, 自变量)用于求常微分方程的通解或特解例:求解方程 的通解。程序如下:>>u=dsolve('Du=1+u2','t')结果如
21、下:u=tan(C3 + t)九、插值问题例:样条插值。例:由可计算出一些稀疏的网格数据,对整个函数曲面进行插值模拟,并比较插值效果。(1) 已知数据网格程序如下:x,y=meshgrid(-3:0.6:3,-2:0.4:2);z=(x.2-2*x).*exp(-x.2-y.2-x.*y);surf(x,y,z);axis(-3,3,-2,2,-0.7,1.5);结果如下:(2) 线性插值算法程序如下:x,y=meshgrid(-3:0.6:3,-2:0.4:2);z=(x.2-2*x).*exp(-x.2-y.2-x.*y);surf(x,y,z);axis(-3,3,-2,2,-0.7,1
22、.5);x1,y1=meshgrid(-3:0.2:3,-2:0.2:2);z1=interp2(x,y,z,x1,y1);surf(x1,y1,z1);axis(-3,3,-2,2,-0.7,1.5);结果如下:(3) 样条插值算法程序如下:x,y=meshgrid(-3:0.6:3,-2:0.4:2);z=(x.2-2*x).*exp(-x.2-y.2-x.*y);surf(x,y,z);axis(-3,3,-2,2,-0.7,1.5);x1,y1=meshgrid(-3:0.2:3,-2:0.2:2);z1=interp2(x,y,z,x1,y1);surf(x1,y1,z1);axis
23、(-3,3,-2,2,-0.7,1.5);z2=interp2(x,y,z,x1,y1,'cubic');surf(x1,y1,z2);axis(-3,3,-2,2,-0.7,1.5);figure;z3=interp2(x,y,x1,y1,'spline');surf(x1,y1,z3);axis(-3,3,-2,2,-0.7,1.5);结果如下:十、综合练习:计算机模拟1、正方形ABCD的四个顶点各有一人.在某一时刻,四人同时出发以匀速v=1米/秒按顺时针方向追逐下一人,如果他们始终保持对准目标,则最终按螺旋状曲线于中心点O.试求出这种情况下每个人的行进轨迹. (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度诊所执业医师医疗风险防控聘用合同
- 二零二五年度手车转让与绿色出行推广合同
- 二零二五年度投资分红股收益分配协议
- 二零二五年度汽车展览会参展商展位电力合同
- 2025年度道路破碎修复与再生利用合同
- 2025年度青贮收割作业与农业物联网平台合作协议
- 二零二五年度口腔诊所医生培训与薪酬管理合同
- 二零二五年度商业秘密保护与员工保密义务合同
- 二零二五年度多功能办公场所租赁服务协议
- 2025年度蔬菜大棚承包与品牌授权合作协议
- 2025年常州工业职业技术学院单招职业技能测试题库及答案1套
- 2025年湖南理工职业技术学院单招职业适应性测试题库必考题
- 2025年湖南城建职业技术学院单招职业技能测试题库完美版
- 会计信息化练习题库+参考答案
- 武汉2025年湖北武汉市教育系统专项招聘教师679人笔试历年参考题库附带答案详解
- 高中主题班会 借哪吒精神燃开学斗志!课件-高一下学期开学第一课班会
- 2024年12月2025浙江湖州市长兴县综合行政执法局公开招聘辅助执法人员8人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 水产养殖尾水处理技术-第1篇-深度研究
- 财务管理毕业论文
- 二零二五年度医疗援助派驻服务协议4篇
- 合同签订培训课件
评论
0/150
提交评论