您好,欢迎访问三七文档
一.简单的计算例1-1绘制正弦曲线和余弦曲线。x=0:0.1:2*pi;plot(x,sin(x),x,cos(x))MATLAB基础知识•例1-2求方程3x4+7x3+9x2-23=0的全部根。p=[3,7,9,0,-23];%建立多项式系数向量x=roots(p)%求根例1-3求积分quad('x.*log(1+x)',0,1)例1-4求解线性方程组。a=[2,-3,1;8,3,2;45,1,-9];b=[4;2;17];x=inv(a)*b)3(sin15.2-)(43fxxxxfy求:+==(1)输入:x=3y=x^3-x^(1/4)+2.15*sin(x)(2)按Enter键。(3)显示:y=25.9873•二.简单编程1条件语句它的执行原理与C语言中条件语句的执行原理完全一样。(1)if条件表达式语句体end(2)if条件表达式1语句体1else语句体2end3)if条件表达式1语句体1elseif条件表达式2语句体2else语句体3end)9.17();3.1();7.0();1(≤2,522≤1,21≤0,10≤,03ffffxxxxxxyExample求:+=(1)打开M文件,输入:functiony=xy(x)ifx=0y=0elseifx=1y=1elseifx=2y=2*xelsey=2*x+5end(2)输入xy并保存这个M文件。(3)在Matlab命令窗口输入:xy(-1),就有其值;输入:xy(0.7),就可求出对应的值;依次可求得所有值。2、循环语句1)for循环变量=初值:增量:终值循环体end2)while条件循环体end∑100121==nns求(1)打开M文件,输入:s=0forn=1:100s=s+1/n^2end(2)输入sg并保存这个M文件。(3)在Matlab命令窗口输入:sg,就有其值。三.矩阵的基础知识•1.矩阵的尺寸为了判断矩阵的尺寸,Matlab提供了以下函数:[m,n]=size(A)%返回矩阵的行数m和列数nM=size(A)%在矩阵M中返回矩阵的行数、列数len=length(A)%返回矩阵A行数和列数中的最大值•2.特殊矩阵•(1)单位矩阵–eye(n)%生成n维单位阵–eye(m,n)%生成m×n的单位阵–eye([m,n])%生成m×n的单位阵–eye(size(A))%生成与A矩阵同样大小的单位矩阵–ones–zeros–•全1矩阵–ones(n)ones(m,n)ones([m,n])ones(size(A))•全零矩阵–zeros(n)zeros(m,n)zeros([m,n])zeros(size(A))•随机矩阵–rand(n)rand(m,n)rand([m,n])rand(size(A))–生成的随机矩阵的各个元素值在0和1之间。•对角阵–diag(n)对角阵•魔术矩阵–magic(n)–魔术矩阵的所有行元素和、列元素和、对角线元素和均相等阵列的运算符号除了加减符号外其余的阵列运算符号均须多加.符号。阵列运算功能(注意:一定要多加.符号)+加-减.*乘./左除.\右除.^次方.’转置矩阵的几种基本变换操作(1)通过在矩阵变量后加’的方法来表示转置运算a=[10,2,12;34,2,4;98,34,6];a'ans=10349822341246(2)矩阵求逆inv(a)ans=-0.01160.0372-0.00150.0176-0.10470.03450.0901-0.0135-0.0045(3)矩阵的特征值[u,v]=eig(a)u=-0.29600.3635-0.3600-0.2925-0.41280.7886-0.9093-0.83520.4985v=48.8395000-19.8451000-10.9943矩阵的代数运算转置B=A’加减乘A+BA-BA*B左除A\B即AX=B的解X=A-1B右除A/B即XB=A的解X=AB-1翻转fliplrflipudrot90乘方A^B点运算A.*BA./BA.\BA.^BA.’函数四.曲线绘制•1.绘图命令fplot-----•是专门用于绘制一元函数曲线。格式:•fplot(‘fun’,[a,b])•表示绘制区间[a,b]上函数y=fun的图形。•绘出下列函数图形,说明其奇偶性。12)3()2(sin)1(2422xxyexyxxyx+==+=(a)输入:fplot('x+sin(x)',[-5,5])(b)按回车键Enter。(c)出现图形窗口,上有其图形。(d)同样的方法输入:fplot('x^2*exp(-x^2)',[-10,10])fplot('x^4/2+x^2-1',[-10,10])2.绘制多根二维曲线,含多个输入参数的plot函数调用格式为:plot(x1,y1,x2,y2,…,xn,yn)分析下列程序绘制的曲线。x1=linspace(0,2*pi,100);x2=linspace(0,3*pi,100);x3=linspace(0,4*pi,100);y1=sin(x1);y2=1+sin(x2);y3=2+sin(x3);x=[x1;x2;x3]';y=[y1;y2;y3]';plot(x,y,x1,y1-1)3.设置曲线样式要设置曲线样式可以在plot函数中加绘图选项,其调用格式为:plot(x1,y1,选项1,x2,y2,选项2,…,xn,yn,选项n)4.图形标注有关图形标注函数的调用格式为:title(图形名称)xlabel(x轴说明)ylabel(y轴说明)text(x,y,图形说明)legend(图例1,图例2,…)在0≤x≤2*pi区间内,绘制曲线y1=2e-0.5x和y2=cos(4πx),并给图形添加图形标注。程序如下:x=0:pi/100:2*pi;y1=2*exp(-0.5*x);y2=cos(4*pi*x);plot(x,y1,x,y2)title('xfrom0to2{\pi}');%加图形标题xlabel('VariableX');%加X轴说明ylabel('VariableY');%加Y轴说明text(0.8,1.5,'曲线y1=2e^{-0.5x}');%在指定位置添加图形说明text(2.5,1.1,'曲线y2=cos(4{\pi}x)');legend(‘y1’,‘y2’)%加图例人工神经网络•人工神经网络是集脑科学、神经心理学和信息科学等多学科的交叉研究领域,是近年来高科技领域的一个研究热点。它的研究目标是通过研究人脑的组成机理和思维方式,探索人类智能的奥秘,进而通过模拟人脑的结构和工作模式,使机器具有类似人类的智能。•人工神经网络以其具有自学习、自组织、较好的容错性和优良的非线性逼近能力,受到众多领域学者的关注。在实际应用中,80%~90%的人工神经网络模型是采用误差反传算法或其变化形式的网络模型(简称BP网络),目前主要应用于函数逼近、模式识别、分类和数据压缩或数据挖掘。人工神经元模型与人工神经网络模型•人工神经元是一个多输入、单输出的非线性元件,如图1所示。•其输入、输出关系可描述为)(1jjnijiijjXfyxX式中,是从其它神经元传来的输入信号;是阈值;表示从神经元到神经元的连接权值;为传递函数。),,2,1(nixijijij)(f人工神经元模型与人工神经网络模型•人工神经网络是由大量的神经元互连而成的网络,按其拓扑结构来分,可以分成两大类:层次网络模型和互连网络模型。BP算法BP算法是前向神经网络经典的有监督学习算法,它的提出,对前向神经网络的发展起过历史性的推动作用。对于上述的M层的人工神经网络,BP算法可由下列迭代式描述,具体推导可参见神经网络的相关书目。PplpilpjllijllijllijllijkykkkEkk11,,,1,1,1,1)()()()(/)()1(1111,,',',,,1,,2),()()]([1)],([])([)(lNmljmlpmlpjlpjpjlpjlpjMlkkkxfMlkxftkyk其中,为学习率。•前馈型BP网络即误差逆传播神经网络是最常用、最流行的神经网络。BP网络的输入和输出关系可以看成是一种映射关系,即每一组输入对应一组输出。由于网络中神经元作用函数的非线性,网络实现是复杂的非线性映射。三层BP网络程序•1.构造网络•net=newff(minmax(p1),[NodeNumTypeNum],{TF1TF2},'trainlm');%TF1='tansig';TF2='purelin';%缺省值%TF1='tansig';TF2='logsig';%TF1='logsig';TF2='purelin';%TF1='tansig';TF2='tansig';%TF1='logsig';TF2='logsig';%TF1='purelin';TF2='purelin';%net.trainFcn='trainlm';%内存使用最多(快)%net.trainFcn='trainbfg';%net.trainFcn='trainrp';%内存使用最少(慢)%net.trainFcn='traingda';%变学习率%net.trainFcn='traingdx';•2.训练与测试•net=train(net,p1,t1);%训练•X=sim(net,P);%测试-输出为预测值基本BP网络的拓扑结构b1bia1c1cqcjahbpan………………Wp1WiqWpjW1qW1jWijV11W11WpqWi1Vh1VhiV1iVn1VniV1pVhpVnp1kckjckqckhakna1ka输出层LC隐含层LB输入层LAWVBP网络建模特点:•并行分布处理方式:在神经网络中信息是分布储存和并行处理的,这使它具有很强的容错性和很快的处理速度。•非线性映射能力:神经网络能以任意精度逼近任何非线性连续函数。在建模过程中的许多问题正是具有高度的非线性。•自学习和自适应能力:神经网络在训练时,能从输入、输出的数据中提取出规律性的知识,记忆于网络的权值中,并具有泛化能力,即将这组权值应用于一般情形的能力。神经网络的学习也可以在线进行。•数据融合的能力:神经网络可以同时处理定量信息和定性信息,因此它可以利用传统的工程技术(数值运算)和人工智能技术(符号处理)。•多变量系统:神经网络的输入和输出变量的数目是任意的,对单变量系统与多变量系统提供了一种通用的描述方式。MATLAB神经网络工具箱的应用在网络训练过程中使用的是Matlab6.0forWindows软件,对于BP神经元网络的训练使用了NeuralNetworksToolboxforMatlab。美国的Mathwork公司推出的MATLAB软件包既是一种非常实用有效的科研编程软件环境,又是一种进行科学和工程计算的交互式程序。MATLAB本身带有神经网络工具箱,可以大大方便权值训练,减少训练程序工作量,有效的提高工作效率.最优分类面支持向量机最优分类面问题的数学表示•已知:n个观测样本,(x1,y1),(x2,y2)……(xn,yn)•目标:最优分类面wx-b=0•满足条件:是分类面经验风险最小(错分最少)推广能力最大(空白最大)•如果用内积K(x,x′)代替最优分类面中的点积,就相当于把原特征空间变换到了某一新的特征空间,此时优化函数变为:W(a)=ai-aiajyiyjK(xi·xj)相应的判别函数也应变为:∑1ni=21∑j,if(x)=sgn{∑1ni=ai*yik(xi·x)+b*}支持向量机示意图概括地说,支持向量机就是首先通过用内积函数定义的非线性变换将输入空间变换到一个高维空间,在这个空间中求最优分类面。Svm分类函数形式上类似于一个神经网络,输出是中间节点的线性组合,每个中间节点对应一个输入样本与一个支持向量的内积,因此也被叫做支持向
本文标题:报告作业
链接地址:https://www.777doc.com/doc-5085634 .html