MATLAB 语言程序设计基础(2)
matlab使用教程2-2

第2章 Matlab语言程序设计 章 语言程序设计
写二进制文件: 用fwrite写二进制文件: 写二进制文件 COUNT=fwrite(Fid, A, precision) 例: Fid=fopen(‘test.dat’, ‘w’); cnt=fwrite(Fid, A, ‘float’) fclose(Fid); 读取ASCII数据文件: 数据文件: 用fscanf读取 读取 数据文件 [A, COUNT]=fscanf(Fid, format, size) format用以控制读取的数据格式,由%加上格式符组成, 用以控制读取的数据格式, 加上格式符组成, 用以控制读取的数据格式 常见的格式符有: 常见的格式符有:d, i, o,u, x, e, f, s, c。 。 例:fscanf(Fid, ‘%s’); fscant(Fid, ‘%6.2f’); fscanf(Fid, “%5d’);
第2章 Matlab语言程序设计 章 语言程序设计
d) 其它与流程控制有关的语句
if
if
break语句循环结构 语句循环结构 语句
continue 语句循环结构 语句循环结构
第2章 Matlab语言程序设计 章 语言程序设计
pause 指令使程序运行停止,等待用户按任意键继续; 指令使程序运行停止 等待用户按任意键继续; 使程序运行停止, input 指令提示用户从键盘输入数值、字符串或表达 指令提示用户从键盘输入数值 提示用户从键盘输入数值、 并接受输入; 式,并接受输入; disp指令在屏幕上显示字符串; 指令在屏幕上显示字符串 指令在屏幕上显示字符串 echo on指令显示其后所有执行文件的指令; 指令显示其后所有执行文件的指令 指令显示其后所有执行文件的指令; echo off指令关闭其后所有执行文件的指令显示。 指令关闭其后所有执行文件的指令显示 指令关闭其后所有执行文件的指令显示。
第二章 MATLAB基础

3 )向量是一个数学量,一般高级语言中也未引入, 它可视为矩阵的特例。从MATLAB的工作区可以查 看到:一个 n 维的行向量是一个 1 × n 阶的矩阵,而 一个n维的列向量则当成n×1阶的矩阵。 如A=[1 2 3 4]就是一个4维的行向量。也可看成是 一个一维数组,还要看成是一个1×4阶的矩阵。
3
数据类型转换函 数 uint8 uint16 uint32 uint64 int8 int16 int32 int64
说 明 无符号8位整数 无符号16位整数 无符号32位整数 无符号64位整数 有符号8位整数 有符号16位整数 有符号32位整数 有符号64位整数
字节数 1 2 4 8 1 2 4 8
22
【例 2.8】变量赋值 >> a=3.14 a= 3.1400 >> class(a) %函数class用来是判断变量数据类 型的 ans = double %变量a是双精度的浮点型数据
23
>> a='hello!' hello! >> class(a) ans = char
%变量a重新赋值
13
>> whos Name Size a 1x1 x 1x1 y 1x1 z 1x1
Bytes Class Attributes 16 double complex 4 int32 4 int32 8 int32 complex
14
2.2MATLAB的常量及变量
2.2.1常量 常量是程序语句中取不变值的那些量。如表达式 y=0.314*x,其中就包含一个0.314这样的数值常数,它 便是一个数值常量。而在另一表达式s='Hello'中,单引 号内的英文字符串“Hello”则是一个字符串常量。
程序设计实验报告(matlab)

程序设计实验报告(matlab)实验一: 程序设计基础实验目的:初步掌握机器人编程语言Matlab。
实验内容:运用Matlab进行简单的程序设计。
实验方法:基于Matlab环境下的简单程序设计。
实验结果:成功掌握简单的程序设计和Matlab基本编程语法。
实验二:多项式拟合与插值实验目的:学习多项式拟合和插值的方法,并能进行相关计算。
实验内容:在Matlab环境下进行多项式拟合和插值的计算。
实验方法:结合Matlab的插值工具箱,进行相关的计算。
实验结果:深入理解多项式拟合和插值的实现原理,成功掌握Matlab的插值工具箱。
实验三:最小二乘法实验目的:了解最小二乘法的基本原理和算法,并能够通过Matlab进行计算。
实验内容:利用Matlab进行最小二乘法计算。
实验方法:基于Matlab的线性代数计算库,进行最小二乘法的计算。
实验结果:成功掌握最小二乘法的计算方法,并了解其在实际应用中的作用。
实验六:常微分方程实验目的:了解ODE的基本概念和解法,并通过Matlab进行计算。
实验内容:利用Matlab求解ODE的一阶微分方程组、变系数ODE、高阶ODE等问题。
实验方法:基于Matlab的ODE工具箱,进行ODE求解。
实验结果:深入理解ODE的基本概念和解法,掌握多种ODE求解方法,熟练掌握Matlab的ODE求解工具箱的使用方法。
总结在Matlab环境下进行程序设计实验,使我对Matlab有了更深刻的认识和了解,也使我对计算机科学在实践中的应用有了更加深入的了解。
通过这些实验的学习,我能够灵活应用Matlab进行各种计算和数值分析,同时也能够深入理解相关的数学原理和算法。
这些知识和技能对我未来的学习和工作都将有着重要的帮助。
Matlab工程应用基础_2_2Matlab语言程序设计

1、 Matlab数据类型 变量和常量 数字变量的格式 字符串 单元型变量 结构型变量 矩阵、向量 多项式
a) 变量和常量 变量(包括函数)的命名规则:由英文字母、数字和下划线 混合组成,不得包含空格和标点 ;第一个字符必须是英 文字母,最多包括31个字符; 对字母的大小写敏感。 局部变量和全局变量 永久变量(常量) 只能在某一函数体内使用,而不能从其他函数和 Matlab 工作空间访问的变量,就是局部变量。 在几个函数及M atlab函数中都能使用的变量就是全局变 量。 (全局变量名应尽可能大写,并由globe声明)
第2章 Matlab语言程序设计
关系操作符
逻辑操作符
第2章 Matlab语言程序设计
MATLAB 的关系操作符运算法则: 当两个变量是标量 a 和 b 时 ◆若 a、b 之间关系成立,则关系运算结果为 1; ◆若 a、b 之间关系不成立,则关系运算结果为 0; 当两个维数相同的矩阵 A 和 B 比较时,矩阵 A、B 比 较的是相同位置的元素,按标量的运算规则逐个进行。 关系运算的结果是一个和 A维数相同的矩阵,它的元 素由 0 和 1 组成。 当一个矩阵A 和一个标量 b 比较时,把标量 b 和矩阵 A 的每一个元素按标量关系运算规则逐个比较。关系 运算的结果是一个和数组 A维数相同的矩阵,它是由 0 和 1 组成。 优先级 由高到低为算术运算、关系运算和逻辑运算。
ans = -0.9918 >> y=sin(5*t+6) y= -0.9918
第2章 Matlab语言程序设计
表达式由变量名、运算符、数字和函数名组成。 表达式将按常规的优先纽从左至右执行运算; 优先级的规定是指数运算级别最高,乘除运算次之; 括号可以改变运算顺序; 书写表达式时,赋值符“=”和运算符两侧允许有 空格,以增加可读性。但在复数或符号表达式中要 尽量避免空格,以防出错; 表达式的末尾加 “;” 时,Matlab系统只把数值赋 给变量, 不显示计算结果;不加“;”时, Matlab 系统将会在该条语句的下面直接显示运算结果。
实验项目1 MATLAB熟悉使用及编程基础2

实验项目1 MATLAB熟悉使用及编程基础MATLAB是美国Mathworks公司推出的一套高件能的数值分析和计算软件,它将矩阵运算、数值分析、图形处理、编程处术结合在一起,为用户提供了一个强有力的科学及工程问题分析计算和程序设计的工具。
MATLAB本身也在不断改进和创新,特别是2000年以出的版本6,无论在界面设计、计算方法、编程阶段和工具等方面都有了巨大的突破,全面引入了面向对象编程的概念和方法,使MATLAB真正成为了具有全部高级语言功能和特征的新一代软件开发平台。
MATLAB开发环境是一组工具和组件的集成,这些工具是图形化的用户接口,它们包括 MATLAB桌面、命令窗口、命令历史窗口、编辑调试窗口以及帮助信信息、工作空间、文件和搜索路径等浏览器。
MATLAB集成了丰富的数学函数库,其强大的计算能力覆盖了从基本函数(如求和、正弦、余弦和复数运算等)到特殊函数(如矩阵求逆、矩阵特征值、贝塞尔函数和快速傅里叶变换等)的范围。
MATLAB语言是一种高级编程语言,包括控制流的描述、函数、数据结构、输入输出及面对对象编程,既可以编制适用于快速使用的小程序,也可以编制大型复杂的应用程序。
MATLAB提供了功能强大的图形系统,既可以完成二维和三维数据的可视化、图像处理、动画和图形表达等功能,也可以定制图形的外观,如建立一个完整的图形用户界由的应用程序。
1.实验目的:掌握MA TLAB编程语言和偏微分方程PDE工具箱对电磁场的基本问题进行仿真;2 实验内容:1、MATLAB启动MA TLAB安装到硬盘后,启动方法有:(1)点击Windows桌面上自动生成的快捷方式图标;(2)点击matlab 6\文件夹下快捷方式图标令MATLAB(3)点击matlab/bin/win32文件夹中的Matlab.exe2、m文件编写熟悉基本指令、基本数学运算,借助help、lookfor等命令实现在线帮助。
建立M文件的一般步骤如下:(1)打开文件编辑器:指的是MA TLAB内部编辑/调试器,可以有几种不同的方法打开文件编辑器,最简单的方法是在操作桌面助工具栏上选择蹦(建立新文件)或选择瞪(打开已有的文件),也可以在命令窗口输入命令edit建立新文件或输入命令edit filename,打开名为fi1ename的M文件。
控制系统仿真_薛定宇第二章_MATLAB语言程序设计基础

控制系统仿真与CAD 国家级精品课程
2014-12-31
24/70 24
2.4.4 匿名函数与inline函数
不用编写*.m,定义函数的方法
可以动态地定义函数,在科学运算中有用 二者功能重复,后者远差于前者,不再使用
匿名函数: 举例
控制系统仿真与CAD 国家级精品课程
2014-12-31
控制系统仿真与CAD 国家级精品课程
2014-12-31
3/70 3
2.1.1 常量与变量
常量(保留字符串)
eps: 机器的浮点运算误差限,默认值 i和j:虚数单位,-1的平方根,i=sqrt(-1) Inf: 无穷大量,-Inf为负无穷大 NaN:不定式(Not a Number) pi:圆周率p的双精度浮点表示
25/70 25
2.5 二维图形绘制
可以绘制出各种二维曲线 可以由数据绘图,也可以由格式绘图 本节主要内容
基本二维图形绘制语句 带有其他选项的绘图函数 二维曲线的标注方法 在MATLAB图形上添加文字标注 特殊图形绘制函数及举例 隐函数的曲线绘制
控制系统仿真与CAD 国家级精品课程
符号型数据结构
syms 命令申明符号变量
控制系统仿真与CAD 国家级精品课程
2014-12-31
5/70 5
vpa(A) 显示符号变量
例2-1 显示e的前300位 其他数据结构
int8() 、int16() 、int32() 、uint16() 和 uint32() 字符串型数据:MATLAB字符串是用单引号括起来的 多维数组:三维数组是一般矩阵的直接拓展。 单元数组:多变量系统的频域响应数据存储 类与对象:传递函数对象、状态方程对象
第二章 MATLAB语言的使用与程序设计

命令历史窗口:显示已执行过的命令。在窗口的某一命令上单击鼠标 右键,会弹出菜单,对所选命令进行操作。
当前路径窗口:提供了当前路径文件的操作
演示
MATLAB的搜索路径
搜索路径是一系列文件路径的组合。当程序和命令执行 时, MATLAB 在搜索路径中查找程序或命令运行所需的函数文 件。 MATLAB 在执行搜索时按照规定的顺序。如:在命令窗口 中输入example,MATLAB将按下面的步骤来处理: 1.检查example是不是一个变量,如果是,则返回变量的值;
本章重点:
MATLAB工作环境掌握 主要文件类型及常用命令
矩阵、变量、表达式、常用函数
MATLAB语言的基本语句结构及程序调试方法
一、MATLAB系统简介
MATLAB的主要组成部分
1.MATLAB语言体系:MATLAB 语言是一种以矩阵运算为基础的高级 语言,具有条件控制、函数调用、数据结构、输入输出及面向对象等 程序语言特征,可以进行程序设计。
6 )对矩阵的特殊操作: rot90(a) 将 a 矩阵旋转 90 度、 fliplr(a) 将 a 矩阵的列反序、 flipud(a) 将 a 矩阵的行反序、diag(a) 将向量 a 构 成对角阵( 元素放在主对角线上 )---a 为向量、triu(a) 提取矩阵的上 三角部分、reshape改变矩阵的阶数,按列的顺序重排。
逻辑运算符: 在MATLAB中,逻辑运算符有3种。 & 逻辑与。当运算双方对应元素都为非零时; 结果为1,否则,结果为0。
| 逻辑或。当运算双方对应元素有一个为非零 时;结果为1,否则,结果为0。
~ 结果为0。 逻辑非。当元素的值为 0 时,结果为 1 ,否则,
例: a=[1 0 3;0 –1 6] , b=[-1 0 0;0 5 0.3] ,计算两矩
Matlab_2_3

3.程序的暂停 . 暂停程序的执行可以使用pause函数, 函数, 暂停程序的执行可以使用 函数 其调用格式为: 其调用格式为: pause(延迟秒数 延迟秒数) 延迟秒数 如果省略延迟时间,直接使用pause, 如果省略延迟时间,直接使用 , 则将暂停程序, 则将暂停程序,直到用户按任一键后 程序继续执行。 程序继续执行。 若要强行中止程序的运行可使用 Ctrl+C命令。 命令。 命令
计算分段函数的值。 例2-4 计算分段函数的值。 程序如下: 程序如下: x=input('请输入 的值 请输入x的值 请输入 的值:'); if x<=0 y= (x+sqrt(pi))/exp(2); else y=log(x+sqrt(1+x*x))/2; end y
Байду номын сангаас
(3) 多分支 语句: 多分支if语句 语句: if 条件 条件1 语句组1 语句组 elseif 条件 条件2 语句组2 语句组 …… elseif 条件 条件m 语句组m 语句组 else 语句组n 语句组 end 语句用于实现多分支选择结构。 语句用于实现多分支选择结构。
分别建立命令文件和函数文件, 例2-1 分别建立命令文件和函数文件,将华 氏温度f转换为摄氏温度 转换为摄氏温度c。 氏温度 转换为摄氏温度 。 程序1: 程序 : 首先建立命令文件并以文件名f2c.m存盘。 存盘。 首先建立命令文件并以文件名 存盘 clear; %清除工作空间中的变量 清除工作空间中的变量 f=input('Input Fahrenheit temperature:'); : c=5*(f-32)/9 然后在MATLAB的命令窗口中输入 ,将会 的命令窗口中输入f2c, 然后在 的命令窗口中输入 执行该命令文件,执行情况为: 执行该命令文件,执行情况为: Input Fahrenheit temperature:73 : c= 22.7778
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%第六章微分方程问题的解法% 微分方程的解析解方法% 常微分方程问题的数值解法% 微分方程问题算法概述% 四阶定步长Runge-Kutta算法及MATLAB 实现% 一阶微分方程组的数值解% 微分方程转换% 特殊微分方程的数值解% 边值问题的计算机求解% 偏微分方程的解% 6.1 微分方程的解析解方法% y=dsolve(f1, f2, …, fm ,'x')% syms t; u=exp(-5*t)*cos(2*t+1)+5;% uu=5*diff(u,t,2)+4*diff(u,t)+2*u% syms t y;% y=dsolve(['D4y+10*D3y+35*D2y+50*Dy+24*y='...%'87*exp(-5*t)*cos(2*t+1)+92*exp(-5*t)*sin(2*t+1)+10'],'y(0)=3','Dy(0)=2','D2y(0)=0','D3y(0)=0')% [x,y]=dsolve('D2x+2*Dx=x+2*y-exp(-t)',...% 'Dy=4*x+3*y+4*exp(-t)')% syms t x;% x=dsolve('Dx=x*(1-x^2)+1')% Warning: Explicit solution could not be found; implicit solution returned.% > In D:\MATLAB6p5\toolbox\symbolic\dsolve.m at line 292% x =% t-Int(1/(a-a^3+1),a=``..x)+C1=0% 故只有部分非线性微分方程有解析解。
% 6.2 微分方程问题的数值解法% 6.2.1 微方程问题算法概述%Euler算法%%function [outx,outy]=MyEuler(fun,x0,xt,y0,PointNum)% fun 表示f(x,y); x0,xt:自变量的初值和终值;% y0:函数在x0处的值,其可以为向量形式;% PointNum表示自变量在[x0,xt]上取的点数% if nargin<5 |PointNum<=0 %PointNum 默认值为100% PointNum=100;% end% if nargin<4 % y0默认值为0% end% h=(xt-x0)/PointNum; %计算步长h% x=x0+[0:PointNum]'*h; %自变量数组% y(1,:) = y0(:)'; %将输入存为行向量,输入为列向量形式% for k = 1:PointNum% f=feval(fun,x(k),y(k,:)); f=f(:)'; %计算f(x,y)在每个迭代点的值% y(k + 1,:) =y(k,:) +h*f; %对于所取的点x迭代计算y值% end% outy=y; outx=x;% plot(x,y) %画出方程解的函数图% end% [x1,y1]=MyEuler('myfun',0,2*pi,1,16);% myfun=incline'Dy=sin(x)+y'% function [Xout,Yout]=MyEulerPro(fun,x0,xt,y0,PointNumber)% %MyEulerPro 用改进的欧拉法解微分方程% if nargin<5 | PointNumber<=0% %PointNumer默认值为100% PointNumer=100;% end% if nargin<4 %y0默认值为0% y0=0;% end% h=(xt-x0)/PointNumber;% %计算所取的两离% 散点之间的距离% x=x0+[0:PointNumber]'*h;% %表示出离散的自变量x% y(1,:)=y0(:)';% for i=1:PointNumber %迭代计算过程% f1=h*feval(fun,x(i),y(i,:)); f1=f1(:)';% f2=h*feval(fun,x(i+1),y(i,:)+f1); f2=f2(:)';% y(i+1,:)=y(i,:)+1/2*(f1+f2);% end% Xout=x;Yout=y;%6.2.2 四阶定步长Runge-Kutta算法及MATLAB 实现%6.2.3 一阶微分方程组的数值解%6.2.3.1 四阶五级Runge-Kutta-Felhberg算法%6.2.3.2 基于MATLAB 的微分方程% 求解函数% 格式1:直接求解% [t,x]=ode45(Fun,[t0,tf],x0)% 格式2:带有控制参数% [t,x]=ode45(Fun,[t0,tf],x0,options)% 格式3:带有附加参数% *t,x+=ode45(Fun,*t0,tf+,x0,options,p1,p2,…)% [t0,tf]求解区间,x0初值问题的初始状态变量。
% 描述需要求解的微分方程组:% 不需附加变量的格式% function xd=funname(t,x)% 可以使用附加变量% function xd=funname(t,x,flag,p1,p2,…)% t是时间变量或自变量(必须给),x为状态向量,xd为返回状态向量的导数. % flag用来控制求解过程,指定初值,即使初值不用指定,也必须有该变量占位。
% 修改变量:options唯一结构体变量,用odeset( )修改。
% options=odeset(‘RelTol’,1e-7);% options= odeset; options. RelTol= 1e-7;%6.2.3.3 MATLAB 下带有附加参数的微分方程求解% 6.2.4 微分方程转换% 6.2.4.1 单个高阶常微分方程处理方法% 6.2.4.2 高阶常微分方程组的变换方法%% 6.3特殊微分方程的数值解% 6.3.1 刚性微分方程的求解% MATLAB采用求解函数ode15s(),该函数的调用格式和ode45()完全一致。
% *t,x+=ode15s(Fun,*t0,tf+,x0,options,p1,p2,…)%% 6.3.2 隐式微分方程求解% 6.3.3 微分代数方程求解% 6.3.4延迟微分方程求解%% 6.4边值问题的计算机求解% 6.4.1 边值问题的打靶算法% 6.4.2 线性微分方程的有限差分算法%% 6.5 偏微分方程求解入门% 6.5.1 偏微分方程组求解% pdepe()函数可求解% 函数描述% [c,f,s]=pdefun(x,t,u,ux)% 边界条件函数描述% [pa,qa,pb,qb]=pdebc(x,t,u,ux)% 初值条件函数描述% u0=pdeic(x)% 求解偏微分方程% sol=pdepe(m,@pdefun,@pdeic,@pdebc,x,t)%% 6.5.2 二阶偏微分方程的数学描述% 椭圆型;抛物线型;双曲线型;特征值型偏微分方程%% 6.5.3 偏微分方程的求解界面应用简介% 6.5.3.1 偏微分方程求解程序概述% 启动偏微分方程求解界面% 在MATLAB 下键入pdetool% 该界面分为四个部分:菜单系统;工具栏;集合编辑;求解区域% 6.5.3.2 偏微分方程求解区域绘制% 1)用工具栏中的椭圆、矩形等绘制一些区域。
% 2)在集合编辑栏中修改其内容。
如(R1+E1+E2)-E3% 3)单击工具栏中按纽可得求解边界。
% 4)选择Boundary-Remove All Subdomain Borders菜单项,消除相邻区域中间的分隔线。
% 5)单击按纽可将求解区域用三角形划分成网格。
可用按纽加密。
%% 6.5.3.3 偏微分方程边界条件描述% 选择Boundary-Specify Boundary Conditions菜单% 狄利克雷条件,诺伊曼条件。
% 6.5.3.4 偏微分方程求解举例% 6.5.3.5 函数参数的偏微分方程求解% 第七章代数方程与最优化问题的求解% 代数方程的求解% 无约束最优化问题的计算机求解% 有约束最优化问题的计算机求解% 整数规划问题的计算机求解% 7.1代数方程的求解% 7.1.1 代数方程的图解法% 7.1.2 多项式型方程的准解析解法% 由于方程阶次可能太高,不存在解析解。
然而,% 可利用MATLAB的符号工具箱得出原始问题的高精度数值解,故称之为准解析解。
% 一般多项式方程的根可为实数,可为复数。
MATLAB符号工具箱中的solve( )函数。
% 最简调用格式:S=solve(eqn1,eqn2,…,eqnn)% (返回一个结构题型变量S,如S.x表示方程的根。
)% 直接得出根:(变量返回到MATLAB工作空间)% *x,…+=solve(eqn1,eqn2,…,eqnn)% 同上,并指定变量% [x,…]=solve(eqn1,eqn2,…,eqnn,’x,…')% 7.1.3 一般非线性方程数值解% 非线性方程的标准形式为f(x)=0% 函数fzero% 格式x = fzero (fun,x0) %用fun定义表达式f(x),x0为初始解。
% x = fzero (fun,x0,options)% *x,fval+=fzero(…) %fval=f(x)% *x,fval,exitflag+=fzero(…)% *x,fval,exitflag,output+=fzero(…)% 说明该函数采用数值解求方程f(x)=0的根。
%% 7.1.4 一般非线性方程组数值解% 格式:最简求解语句% x=fsolve(Fun, x0)% 一般求解语句% *x, f, flag, out+=fsolve(Fun, x0,opt, p1, p2,…)% 若返回的flag 大于0,则表示求解成功,否则求解出现问题,% opt 求解控制参数,结构体数据。
% 获得默认的常用变量opt=optimset;% 用这两种方法修改参数(解误差控制量)% opt.Tolx=1e-10;或set(opt.‘Tolx’, 1e-10)% 可先用用图解法选取初值,再调用fsolve( )函数数值计算% 7.2无约束最优化问题求解% 7.2.1 解析解法和图解法%% 单变量函数求最小值% 函数fminbnd (最值可能在端点,需要考虑)% 格式x = fminbnd(fun,x1,x2)% x = fminbnd(fun,x1,x2,options)% [x,fval] = fminbnd(…) % fval为目标函数的最小值% *x,fval,exitflag+ = fminbnd(…)% exitflag为终止迭代的条件,若exitflag>0,收敛于x,exitflag=0,% 表示超过函数估计值或迭代的最大数字,exitflag<0表示函数不收敛于x;% *x,fval,exitflag,output+ = fminbnd(…)% output为优化信息,若output=iterations表示迭代次数,% output=funccount表示函数赋值次数,output=algorithm表示所使用的算法%% 7.2.2 基于MATLAB的数值解法%求解无约束最优化的函数:fminsearch()% x=fminunc(Fun,x0) %最简求解语句% [x,f,flag,out]=fminunc(Fun,x0,opt,p1,p2,...)% 一般求解格式% 比较可知fminunc()函数效率高于fminsearch()函数,但% 当所选函数高度不连续时,使用fminsearch效果较好。