广州大学matlab大作业
- 格式:doc
- 大小:426.00 KB
- 文档页数:8
matlab⼤作业实验报告,《Matlab程序设计》期末实验报告-⼤作业2015.doc《MATLAB程序设计》实验报告学院: 学号: 姓名:⼀、题⽬:1、(10分)已知矩阵,⽤Matlab代码实现以下要求:(1)将矩阵赋给变量A,并在屏幕上显⽰A;(2)将A按列进列逆序重排,重排后的矩阵赋给变量B,并在屏幕上显⽰B;(3)⽤reshape命令将A重排为⼀个2⾏6列矩阵并赋给变量C;(4)将A重排为⼀个列向量,将其赋给变量D,求D的平均值,在屏幕上显⽰D和它的平均值;(5)⽤命令查看变量A的维数,并显⽰运⾏结果。
2、(10分)写代码实现以下要求:构造菜单项‘Plot’,菜单项Plot有两个⼦菜单项Plot sin(选择此项后执⾏画出曲线,线型为虚线,线条颜⾊为红⾊)和Plot cos(选择此项后执⾏画出曲线 ,线型为实线,线条宽度为2)。
3、(20分)已知,实现下列操作:(1)在同⼀个图形窗⼝,同⼀坐标系下⽤不同的颜⾊和线型绘制三条曲线,并添加图例来区分三条曲线(5分)。
(2)⽤subplot命令,以⼦图的⽅式绘制三条曲线,图形排列⽅式为三⾏⼀列(5分)。
(3) 分别⽤直⽅图(bar)、棒状图(stem)和填充图(fill)绘制三条曲线,以⼦图⽅式绘制,排列⽅式为3⾏3列,共9幅⼦图(10分)。
4、(10分)⽤surf命令绘制曲⾯图形,⽤shading interp命令进⾏插值着⾊处理并添加垂直颜⾊棒。
5、(15分)⾃2011年9⽉1⽇起,我国实⾏新的个⼈所得税征收办法,起征点为3500元,请⽤If-else if-else-end结构实现⼈⼯输⼊⽉收⼊后能计算出个⼈所得税的缴纳额并显⽰⽉收⼊10000元时应缴纳的税款。
级数应纳税所得额x(元)税率备注1x<=15003%x指⽉收⼊扣除起征点3500元之后的余额;215008000045%同上6. (10分)⽤while-end循环结构计算级数和的值,输⼊n值,能计算出f的值,并显⽰结果。
MATLAB大作业备选题目1、基于MATLAB旳有噪声语音信号处理本课题规定基于MATLAB对有噪音语音信号进行处理,综合运用数字信号处理旳理论知识对加噪语音信号进行时域、频域分析和滤波,运用MATLAB作为工具进行计算机实现。
在设计实现旳过程中,规定使用双线性变换法设计IIR数字滤波器,对模拟加噪语音信号进行低通滤波、高通滤波及带通滤波,并运用MA TLAB作为辅助工具完毕设计中旳计算与图形旳绘制。
2、基于MATLAB旳学生平均学分、绩点计算软件设计学分与绩点,是每位大学生所关怀旳重要指标之一,诸多同学辛劳学习,早出晚归,不停旳奔走于教室、图书馆、食堂、寝室之间,为旳就是可以考个好成绩,获得好旳绩点。
然而在平时我们计算学分与绩点旳时候,大都只能用计算器一种一种数据旳输入,其过程繁琐麻烦,又轻易出错。
因此,本课题规定运用所学旳MATLAB知识,来实现平均学分、绩点旳计算,并开发有关人机界面。
3、基于MATLAB旳试卷分析管理系统本设计规定基于MATLAB中GUI旳编程措施,并波及有关数据库知识。
规定通过一种简易旳顾客交互界面,实现对考试试卷旳成绩录入、查询、修改和试题整体分析等功能,以学习使用MATLAB编程为目旳,尤其是对MATLAB中G UI旳掌握,加深对MATLAB旳理解,学习用MATLAB实现实际应用。
4、基于MATLAB旳图像处理软件设计学习MATLAB GUI程序设计,运用MATLAB图像处理工具箱,设计和实现一种简易旳图像处理软件,实现如下几点功能:1)图像旳读取和保留。
2)设计图形顾客界面,让顾客可以对图像进行任意旳亮度和对比度变化调整,显示和对比变换前后旳图像。
3)设计图形顾客界面,让顾客可以用鼠标选用图像感爱好区域,显示和保留该选择区域。
4)编写程序通过近来邻插值和双线性插值等算法将顾客所选用旳图像区域进行放大和缩小整数倍旳操作,并保留,比较几种插值旳效果。
5)图像直方图记录和直方图均衡,规定显示直方图记录,比较直方图均衡后旳效果。
M A T L A B大作业作业要求:(1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。
(2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。
打印稿不要求MATLAB程序,但电子稿要包含MATLAB程序。
(3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。
不要抄袭复制,可以参考网上、文献资料的内容,但要理解,要变成自己的语言,按自己的思路组织内容。
(4)从给出的问题中至少选择一题(多做不限,但必须独立完成,严禁抄袭)。
(5)大作业占过程考核的20%,从完成情况、工作量、作业文档方面评分。
第一类:绘制图形。
(B级)问题一:斐波那契(Fibonacci)螺旋线,也称黄金螺旋线(Golden spiral),是根据斐波那契数列画出来的螺旋曲线,自然界中存在许多斐波那契螺旋线的图案,是自然界最完美的经典黄金比例。
斐波那契螺旋线,以斐波那契数为边的正方形拼成的长方形,然后在正方形里面画一个90度的扇形,连起来的弧线就是斐波那契螺旋线,如图所示。
问题二:绘制谢尔宾斯基三角形(Sierpinskitriangle)是一种分形,由波兰数学家谢尔宾斯基在1915年提出,它是一种典型的自相似集。
其生成过程为:取一个实心的三角形(通常使用等边三角形),沿三边中点的连线,将它分成四个小三角形,然后去掉中间的那一个小三角形。
接下来对其余三个小三角形重复上述操作,如图所示。
问题三:其他分形曲线或图形。
分形曲线还有很多,教材介绍了科赫曲线,其他还有皮亚诺曲线、分形树、康托(G. Cantor)三分集、Julia集、曼德布罗集合(Mandelbrot set),等等。
这方面的资料很多(如),请分析构图原理并用MATLAB 实现。
问题四:模拟掷骰子游戏:掷1000次骰子,统计骰子各个点出现的次数,将结果以下表的形式显示,并绘制出直方图。
广州大学学生实验报告开课学院及实验室:机械与电气工程学院计算机楼 301室2014 年10 月30 日2、MATLAB指令窗的基本操作MATLAB指令窗给用户提供了最直接的交互界面,可用于输入和执行指令、显示指令运行结果、调试MATLAB程序等常用的MATLAB仿真计算功能。
本实验掌握以下在指令窗执行的基本操作,达到熟悉使用指令窗的目的:(1)最简单的计算器使用方法:在MATLAB指令窗中,可按计算器的方式进行一般的数学计算,MATLAB的运算符的含义大致与常见的运算规则一致;(2)在指令窗中输入和生成矩阵:与一般的计算器不同,在MATLAB中可直接输入和生成矩阵。
实际上,矩阵是MATLAB工作的基本元素。
(3)数值表述方法:在MATLAB中的大部分数值的表述方式与平常是相同的,需要注意的是在表示比较大的数时,MATLAB默认采用科学计数法显示;(4)变量命名规则:对于MATLAB变量命名规则,需要注意以下几点:a、变量名、函数名对字母大小写敏感b、变量名的第一个字母必须是英文字母,后续可以是字母、数字、下划线c、变量的有效时限:在变量定义赋值之后,会作为内存变量保存并显示在Workspace Browser中。
因此,凡是显示在Workspace Browser中的变量都是“有效”的,其后可以被调用,否则不能被调用。
d、对于像 等常用的数学常量,MATLAB定义了预定义变量与其对应,在使用时需多加留意。
e、复数和复数矩阵的表示方法。
(5)其他操作的操作要旨和操作技巧的运用。
3、计算结果的图形表示计算结果可视化是MATLAB的主要组成部分,借助图形表现数据是十分常用的“数据表达手段”,尤其当数据量相当庞大时,因为图形可以表现数据内在联系和宏观特征。
关于MATLAB绘图的基本方法在后续章节中详细讲述,本实验主要通过示例了解MATLAB绘图的基本功能。
4、Current Directory、路径设置器和文件管理理解当前目录Current Directory和搜索路径的作用是正确使用MATLAB的关键环节。
Matlab的基本操作一、使用函数实现对下列矩阵的左旋和右旋以及反转已知答案:如图:矩阵如图矩阵的左旋如图一矩阵的右旋如图二矩阵的左右反转如图三矩阵的上下反转如图四二、已知A=[8 9 5 ] B=[-1 3 -2][36 -7 11] [2 0 3][21 -8 5] [-3 1 9 ]计算:1)A+5*B;2)A*B和A.*B3)A^3和A.^34)A/B和B\A5)[A,B]答案:A=[8 9 5;36 -7 11;21 -8 5];B=[-1 3 -2;2 0 3;-3 1 9];A+5*BA*BA.*BA^3A.^3A/BA\B[A,B]程序运行结果如下:第二章、Matlab程序设计一、已知S=1+2+22+23+…+263求S的值答案:代码如下:ClearClcs=0,j=2for i=1:63s=s+j^iends程序运行结果如下:二、第三章、Matlab绘图一、在同一坐标系中画出下列函数的图像:x2,-x2,xsin(x)在[0,2π]上的函数图像程序代码如下:clearclcx=0:pi/100:2*pi;y1=x.^2;y2=-x.^2;y3=x.*sin(x);title('同一坐标下的函数图像')plot(x,y1,':',x,y2,'h',x,y3,'--')程序运行结果如下:二、绘制极坐标图像:程序代码如下:clearclcx=0:0.01:2*pi;y=2*cos(2*(x-pi/8));title('极坐标图像')xlabel('x')ylabel('y')polar(x,y)程序运行结果如下:第四章、Matlab符号运算一、求函数y=e-x2 的傅立叶变换及其逆变换程序代码如下:clearclcsyms x t;y=exp(-x^2);Ft=fourier(y,x,t)fx=ifourier(Ft,t,x)程序运行结果如下:二、求下列极限值:答案:1、程序代码:clearclcsyms x;s1=sin(2*x)/sin(5*x);limit(s1,x,0)s2=(1+1/x)^(2*x);limit(s2,x,inf)程序运行结果如下:第五章、Matlab数值运算一、建立一个3*4阶随机矩阵,求矩阵的最大值、最小值、方差和标准差、极差、协方差,和自相关阵程序代码如下:clearclcA=rand(3,4)B=var(A)C=std(A)D=range(A)E=cov(A)F=corrcoef(A)程序运行结果如下:二、求函数f(x)=x3-2x+1在x=[-1 1]之间的极小值和x=-1附近的零点程序代码如下:clearclc[x,y]=fminbnd('x.^3-2.*x+1',-1,1)[x,y]=fzero('x.^3-2.*x+1',-1)程序运行结果如下:第六章、Matlab图形用户界面一、建立一个具有三个输入框的窗口对话框程序代码如下:clearclcprompt={'姓名','年龄','班级'};DTitle='注册学生信息';line[1;1;1];def{'乔阳','18','100412105'};info=inputdlg(prompt,DTitle,line,def,'ON')程序运行结果如下:二、设计一个表现下载进度的进度条程序代码如下:clearclch = waitbar(0,'正在下载,请稍等……');for i=1:1000waitbar(i/10000,h)endclose(h)程序运行结果如下:第七章、Matlab Simulink 仿真一、仿真信号x(t)=sin(t)sin(10t)的波形仿真步骤:1.建立模型窗口:生成无标题(intitled)的模型窗口;2.添加信号源模块(sine)、输出模块(scope)、数学模块(Dot product)3.设置模块参数:如下图:4.编辑模块即将各个模块连接起来。
matlab大作业学号姓名:年级:专业:1、产生一个10 10的随机矩阵A,要求A中元素均为整数,范围[1,50]。
1)求出A中所有元素之和S,平均值M。
2)找到所有小于平均值,且能被3整除的元素。
3)绘制出A的二维纵向柱状图,横坐标为[8 5 9 1 2 3 4 7 10 13],条形宽度为0.7的“stacked”样式。
代码如下:clc,clear all,close allA=round(rand(10,10)*50);disp(A)S=sum(sum(A));P=mean(mean(A));disp(S)disp(P)disp('所有小于平均数且能被三整除的元素')XPS=H((mod(H,3)==0)&(H<P));disp(XPS')subplot(1,1,1),bar(A,0.7,'stacked'),title('ygh');set(gca,'XTickLabel',{'8','5','9','1','2','3','4','7','10','13'})2、产生一个随机四位密码。
用户用“input”进行输入对比。
猜错提示“WRONG”,正确提示“RIGHT”同时退出程序,最多五次机会。
代码如下:clc,clear all,close alldisp('请输入密码')A=round(8999*rand(1,1))+1000;m=1;while m<=5N=input('请输入一个四位数:');if A==N;disp('RIGHT');breakelsedisp('WRONG');endm=m+1;enddisp('密码是:')disp(A)disp('输入结束')3、按照脚本文件的编程风格,用for和while循环嵌套输出如下的乘法口诀表。
M A T L A B大作业作业要求:(1)编写程序并上机实现,提交作业文档,包括打印稿(不含源程序)和电子稿(包含源程序),以班为单位交,作业提交截止时间6月24日。
(2)作业文档内容:问题描述、问题求解算法(方案)、MATLAB程序、结果分析、本课程学习体会、列出主要的参考文献。
打印稿不要求MATLAB程序,但电子稿要包含MATLAB程序。
(3)作业文档字数不限,但要求写实,写出自己的理解、收获和体会,有话则长,无话则短。
90问题五:利用MATLAB软件绘制一朵鲜花,实现一定的仿真效果。
提示:二维/三维绘图,对花瓣、花蕊、叶片、花杆等的形状和颜色进行详细设置。
第二类:插值与拟合。
(B级)问题一:有人对汽车进行了一次实验,具体过程是,在行驶过程中先加速,然后再保持匀速行驶一段时间,接着再加速,然后再保持匀速,如此交替。
注意,整个实验过程中从未减速。
在一组时间段50个时间点的速度。
(2)绘制插值图形并标注样本点。
问题二:估算矩形平板各个位置的温度。
已知平板长为5m,宽为3m,平板上3×5栅格点上的温度值为44,25,20,24,30;42,21,20,23,38;25,23,19,27,40。
(1)分别使用最近点插值、线性插值和三次样条插值进行计算。
(2)用杆图标注样本点。
(3)绘制平板温度分布图。
对a,b,c,d的值。
提示:曲线拟合并绘图分析第三类:定积分问题。
(B级)问题一:地球密度随着离中心(r=0)距离的变化而变化,不同半径处的密度如表所示,试估问题二:河道平均流量Q(m3/s)可使用速度和深度的乘积的积分来计算(河道横截面不规则),公式如下。
其中V(x)是离岸x(m)距离处的水速(m/s),H(x)是离岸x距离处的水深(m)。
根据收集到过5(1(2(3(Q,单位是m(1(2(1(2(3)将节点1的力改为方向向上,计算这种改变对H2和V2的影响。
(4)将节点1的力撤销,而在节点1和2处施加1500N的水平外力,求节点3处垂直反作用力(V3)。
广州大学学生实验报告开课学院及实验室:机械与电气工程学院计算机楼 301室2014 年10 月30 日2、MATLAB指令窗的基本操作MATLAB指令窗给用户提供了最直接的交互界面,可用于输入和执行指令、显示指令运行结果、调试MATLAB程序等常用的MATLAB仿真计算功能。
本实验掌握以下在指令窗执行的基本操作,达到熟悉使用指令窗的目的:(1)最简单的计算器使用方法:在MATLAB指令窗中,可按计算器的方式进行一般的数学计算,MATLAB的运算符的含义大致与常见的运算规则一致;(2)在指令窗中输入和生成矩阵:与一般的计算器不同,在MATLAB中可直接输入和生成矩阵。
实际上,矩阵是MATLAB工作的基本元素。
(3)数值表述方法:在MATLAB中的大部分数值的表述方式与平常是相同的,需要注意的是在表示比较大的数时,MATLAB默认采用科学计数法显示;(4)变量命名规则:对于MATLAB变量命名规则,需要注意以下几点:a、变量名、函数名对字母大小写敏感b、变量名的第一个字母必须是英文字母,后续可以是字母、数字、下划线c、变量的有效时限:在变量定义赋值之后,会作为内存变量保存并显示在Workspace Browser中。
因此,凡是显示在Workspace Browser中的变量都是“有效”的,其后可以被调用,否则不能被调用。
d、对于像 等常用的数学常量,MATLAB定义了预定义变量与其对应,在使用时需多加留意。
e、复数和复数矩阵的表示方法。
(5)其他操作的操作要旨和操作技巧的运用。
3、计算结果的图形表示计算结果可视化是MATLAB的主要组成部分,借助图形表现数据是十分常用的“数据表达手段”,尤其当数据量相当庞大时,因为图形可以表现数据内在联系和宏观特征。
关于MATLAB绘图的基本方法在后续章节中详细讲述,本实验主要通过示例了解MATLAB绘图的基本功能。
4、Current Directory、路径设置器和文件管理理解当前目录Current Directory和搜索路径的作用是正确使用MATLAB的关键环节。
广州大学机电学院电气101MATLAB大作业MATLAB是由美国公司发布主要面对科学计算、可视化以的计算环境。
它可以将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个视窗环境中,为科学研究众多科学领域提供了一种全面的解决方案,代表了当今国际科学计算软件的先进水平。
MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB在以下的领域里解决各种问题是一个十分有效的工具:• 工业研究与开发。
• 数学教学,特别是线性代数。
所有基本概念都能涉及。
• 在数值分析和科学计算方面的教学与研究。
能够详细地研究和比较各种算法。
• 在诸如电子学、控制理论和物理学等工程和科学学科方面的教学与研究。
• 在诸如经济学、化学和生物学等有计算问题的所有其他领域中的教学与研究。
这学期我们做了诸多matlab实验,从符号计算及程序设计到一维、二维数组实验,还有图形显示等实验,我们初步掌握了matlab操作方法。
我会在后文中用三个例子在三个应用方面着重汇报我的matlab使用心得。
本报告将以如下顺序进行叙述:一、MATLAB在线性代数方面的应用1.简单的矩阵的生成2.常用矩阵的生成3. 线性方程求解二、MATLAB在经济学中的应用价格平衡模型分析三、MATLAB在三维图形绘制中的应用1.函数PLOT3命令2.如何改变视角四、心得体会一、MATLAB在线性代数方面的应用1980年,MATLAB的首创者Cleve Moler博士在New Mexico大学讲授线性代数课程时,看到了用高级语言编程解决工程计算问题的诸多不便,因而构思开发了用Fortran语言编写而成,集命令翻译、工程计算功能于一身的MATLAB软件。
在数学上,矩阵是指纵横排列的二维数据表格,最早来自于方程组的系数及常数所构成的方阵。
矩阵概念在生产实践中也有许多应用,比如矩阵图法以及保护个人帐号的矩阵卡系统等等。
在第一次上机实验课中我们就做了简单的矩阵实验,下面稍作探讨:1.简单的矩阵的生成在MATLAB中,可以采用多种不同的方式生成矩阵。
(1)直接输入矩阵元素对于较小的简单的矩阵,从键盘上直接输入矩阵是最常用、最方便和最好的数值矩阵创建方法。
直接从键盘输入一系列元素生成矩阵,只要遵循下面几个基本原则:1、矩阵每一行的元素必须用空格或逗号分开;2、在矩阵中,采用分号或回车表明每一行的结束;3、整个输入矩阵必须包含在方括号“[]”中。
输入:A=[4,5,7,8;6,1,2,5;3,5,4,6;4,2,4,8]显示:A = 4 5 7 86 1 2 53 54 64 2 4 8(2)生成大矩阵在MATLAB中,可以将小矩阵连接起来生成一个较大的矩阵。
事实上,前面直接输入法生成矩阵就是将单个元素连接起来生成矩阵。
方括号“[]”就是连接算子。
输入:B=[A,A+1;A+2,A+3]显示:B =4 5 7 8 5 6 8 96 1 2 57 2 3 63 54 6 4 65 74 2 4 85 3 5 96 7 9 10 7 8 10 118 3 4 7 9 4 5 85 76 8 6 87 96 4 6 107 5 7 112.常用矩阵的生成下面介绍一些常用矩阵的生成命令:zeros,ones,eye,rand和randn。
(1)zeros生成全0阵调用格式为:B=zeros(n):生成n n的全0矩阵;如果n不是标量将给出出错信息。
B=zeros(m,n):生成m n的全0矩阵。
B=zeros(size(A)):生成与矩阵A大小相同的全0阵。
(2)ones生成全1阵调用格式为:Y=ones(n):生成n n的全1矩阵;如果n不是标量将给出出错信息。
Y=ones(m,n):生成m n的全1阵。
Y=ones(size(A)):生成与矩阵A大小相同的全1阵。
(3)eye生成单位阵调用格式为:Y=eye(n):生成n n的单位阵。
Y=eye(m,n):生成m n的矩阵,其对角线元素为1,其它元素为0。
Y=eye(size(A)):生成一个与矩阵A大小相同的单位阵。
3. 线性方程求解当然,在线性代数中不止矩阵的运算,还有线性方程组运算等。
在工程计算中,一个很重要的问题是线性方程组的求解。
在矩阵表示方法中,上述问题可以表述为:给定两个矩阵A和B,求X的唯一解使得:AX=B或XA=BMATLAB求解这种问题时并不计算矩阵的逆。
尽管在标准数学中没有矩阵除法概念,在此MATLAB求解线性方程组时,采用前面介绍的除法运算“\”和“/”求解。
X=A\B:表示求矩阵方程AX=B的解。
X=B/A:表示求矩阵方程XA=B的解。
对于X=A\B,要求矩阵A和B有相同的行数,X和B有相同的列数,它的行数等于矩阵A的列数。
对于X=B/A,则行和列的角色相互交换。
实际上,线性方程形式AX=B比形式XA=B出现的频率更高一些,相应地,左除“\”比右除“/”用得更多一些。
并且由于(B/A)T=(AT\BT),因此下面仅讨论“\”(左除)。
矩阵A并不要求是方阵,如果矩阵A的维数是m n,则有三种情况:1 m=n:适定方程组,寻求精确解;2 m>n:超定方程组,寻求最小二乘解;3 m<n:不定方程组,寻求基本解,其中至多有m个非零元素。
针对不同的情况,左除算子采用不同的算法求解。
一般形式的线性方程组为:Ax=b或AX=B其中A是个方阵,b是一个列向量,B是个方阵,X是一个与A,B同样大小的方阵。
它们的求解命令为:x=A\b或X=A\B如果A是奇异的,则AX=B的解或者不存在,或者存在但不唯一。
当A接近奇异时,A\B将给出警告信息,如果发现A是奇异的,一方面给出警告信息,另一方面给出结果为inf。
如果A是正定的,可进行Cholesky分解A=RT*R,从而可对线性方程组A*x=b 进行如下替换;RT*Rx=b由于左除算子可以处理三角矩阵,因此可以快速的解出:x=R\(RT\x)如果A可进行LU分解A=L*U,则线性方程组A*x=b,可如下进行快速计算:x=U\((L\b)正式凭借MATLAB的这些突出的优势,它现在已成为世界上应用最广泛的工程计算软件。
在大学里MATLAB是一种必须掌握的基本工具,而在研究设计单位,更是研究和解决计算问题的一种标准软件。
二、MATLAB在经济学中的应用经济学在现代社会中起着重要的作用,在分析经济学的历程中,数学上都是用线性代数对其进行建模。
但是随着经济发展,人们的经济行为越来越丰富,单靠线形分析有其局限性。
而众多经济分析软件的问世,为经济分析提供了很好的工具,因此通过MATLAB来对经济续模型进行研究,对现代经济学分析有着重要意义。
价格平衡模型分析在 Leontiff 成为诺贝尔奖金获得者的历史中,线性代数曾起过重要的作用,如今来看他的基本思路;假定一个国家或区域经济可以分解为n 个部门,这些部门都有生产产品或服务的独立功能。
设单列n 元向量vx 是这个n 个部门的产出,组成在Rn 空间的产出向量。
先假定该社会是自给自足的经济,这个是一个最简单的情况。
因此各经济的本名生产出的产品,完全被自己部门和其他部门所消费。
Leontiff 提出的问题是,各生产部门的实际产出的价格P 应该是多少,才能使各部门的收入和消耗相等,以维持持续的生产。
举一个最简单的例子,假如一个自给自足的经济体由三个部门组成,它们是煤炭业、电力业和钢铁业。
它们的单位消耗列向量和销售收入列向量P 如下表:这就是说,电力业产出了个点位的产品,有40 个单位会被煤炭业消耗,10 单位被自己消耗,而被钢铁业消耗的是个单位,各行业付出的费用为::这就是内部消耗的计算方法,把几个部门都算上,可以写出消耗成本其中总的价格平衡方程可以写成为:此等式右端常数项为零,使一个齐次方程。
它有非零解的条件是系数行列式等于零,可以用行阶阶梯简化来求解。
用MATLAB 语句写出其解得表达式:V=[0,0.4,0.6;0.6,0.1,0.2;0.4,0.5,0.2], H=rref([eye(3)-V,zeros(3,1)]) 其中eye 为生成单位矩阵,计算结果如下:这个结果是合理的,简化行阶梯形式只有两行,说明[I-V]的秩是2,所以它的行列式必定为零。
由于现在有三个变量可以作为自由变量。
记住H 矩阵中各列的意义,它们分别是原方程中pe,pc,ps, 的系数,所以简化行阶梯矩阵H 表示的是下列方程:这里取钢铁业价格PS 为自由变量,所以煤炭业和电力业的价格应该为钢铁业价格的0.94 和0.85 倍。
如果钢铁业产品价格总计为100 万元,则煤炭业的产品价格总计为94 万,电力业的价格总计为85 万。
采用vm 文件,m 文件名为price pilo vexjuan.m,程序代码为:V=[0,0.4 ,0.6;0.6,0.1,0.2;0.4,0.5,0.2]; H=rref([eye(3)-V,zeros(3,1)]); Ps=100; Pc=H(1,3)*Ps; Pe=H(2,3)*ps三、MATLAB在三维图形绘制中的应用为了显示三维图形,MATLAB 提供了各种各样的函数。
有一些函数可在三维空间中画线,而另一些可以画曲面与线格框架。
另外,颜色可以用来代表第四维。
1.函数PLOT3命令plot3 命令将绘制二维图形的函数plot 的特性扩展到三维空间。
函数格式除了包括第三维的信息(比如Z 方向)之外,与二维函数plot 相同。
plot3 一般语法调用格式是plot3(x1,y1,z1,S1,x2,y2,z2,S2,…),这里xn,yn 和zn 是向量或矩阵,Sn 是可选的字符串,用来指定颜色、标记符号和/或线形。
总的来说,plot3 可用来画一个单变量的三维函数。
如下为一个三维螺旋线例子:» t=0:pi/50:10*pi;» plot3(sin(t),cos(t),t)»title( ‘Helix ‘),xlabel( ‘sint(t) ‘),ylabel( ‘cos(t) ‘ ),zlabel( ‘ t ‘ )» text(0,0,0, ‘ Origin ‘ )» grid» v = axisv =-1 1 -1 1 0 40输出见图从上例可明显看出,二维图形的所有基本特性在三维中仍都存在。
axis 命令扩展到三维只是返回Z 轴界限(0 和40),在数轴向量中增加两个元素。
函数zlabel 用来指定z 轴的数据名称,函数grid 在图底绘制三维网格。