潘仁良。数学系、运筹与控制论教研室、数学楼328室。
方向:运筹、动态数据处理、图像处理、智能与控制。
上课时间、地点:每星期三晚上一二三节上课在第三教学楼、210教室;上机在数学楼二楼机房 (解释)
教材:自编解释)
考试:上机考(开卷解释)
教学进度表:
课程名称:数学软件与数学模型任课教师:潘仁良教材名称(版次):自编教材。
出版社名称教材编者:潘仁良 、万福永出版时间:
matlab与其它数学软件的区别。
当前科学求解问题趋势一是求解问题信息的**化,二是求解问题面向过程化。
推得fortran与matlab的最大区别:
1.matlab的基本数据单元是矩阵而其它数学软件的基本数据单元是通常的标量。
矩阵: 为矩阵a的元素,其中第一个下标i代表行,第二个下标j代表列,用m-表示, 。
而为矩阵a的维数,用m-表示, [m,n]=size(a)。
特殊情况:当m=n时,矩阵称为n阶方阵。
当m=1时,即只有一行的矩阵称为行矩阵或行向量。
当n=1时,即只有一列的矩阵称为列矩阵或列向量。
当m=n=1时,即只有一个元素的矩阵,矩阵就退化为通常的标量了。
推广情况:有高维或多维矩阵。
解释并解释矩阵元素的推广)
在matlab中矩阵的运算犹如其它数学软件中标量的运算一样简单方便。
2.matlab为过程性语言而其它数学软件为结构性语言。
例1:解一元二次方程:
用f-(或c-)语言,程序有17行。
用m-语言,程序仅一行,
注意,一元二次方程:的信息都在行矩阵中。
推广解一元十次方程:
用f-(或c-)语言,程序至少100行(解释)
用m-语言,程序还是一行,
推广到一般情况解一元n次方程: 即一元n次方程的信息矩阵。
用m-语言,程序仍为一行,
注意,roots是针对一元多项式求根过程的。体现了(1)信息的**化,(2)求解过程化。
例2:作函数 y=f(x)=x+10x-2sinx-50, x [-12,5]的图形,求方程 f(x)=0, x [-12,5]的根,并把的函数f(x)零点叠加到函数f(x)的图形中。
解:先用fplot函数画出函数 f(x)=x+10x-2sinx-50,
x [-12,5]的图形。
在命令窗口键入:
fplot('x^3+10*x^2+2*sin(x)-50',[12,5])
画出函数 f(x)=x+10x-2sinx-50, x [-12,5]的图形。
grid on, title('f(x)在区间[-12,5]上的图形')
给图形加网格,给图形加标题。
屏幕显示为:
注意:f(x)=0的根在x=-10,-2,2 附近,然后用fzero函数求函数f(x)=0的根。
在命令窗口键入:
x1=fzero('x^3+10*x^2+2*sin(x)-50',-10)
求函数f(x)=0在x=-10附近的一个根,而-10为迭代算法%的初值。
x2=fzero('x^3+10*x^2+2*sin(x)-50',-2)
求函数f(x)=0在x=-2附近的一个根,而-2为迭代算法的%初值。
x3=fzero('x^3+10*x^2+2*sin(x)-50',2)
求函数f(x)=0在x=2附近的一个根,而2为迭代算法的。
初值。命令窗口显示为:
x1 = 9.4384
x2 = 2.5648
x3 = 2.0707
最后把函数f(x)零点叠加到函数f(x)的图形中。
在命令窗口键入:
hold on,plot([x1,x2,x3]',0,0,0]',o')
保持原图形不变,把三个零点叠加到原图形上。
title('f(x)在区间[-12,5]上的图形和零点')
给图形加标题。
屏幕显示为:
或在文件编辑器定义一个新的文本文件:
fplot('x^3+10*x^2+2*sin(x)-50',[12,5]),grid on
x1=fzero('x^3+10*x^2+2*sin(x)-50',-10)
x2=fzero('x^3+10*x^2+2*sin(x)-50',-2)
x3=fzero('x^3+10*x^2+2*sin(x)-50',2)
hold on,plot([x1,x2,x3]',0,0,0]',o')
title('f(x)在区间[-12,5]上的图形和零点')
然后在命令窗口键入:
mym1屏幕显示为:
或先在文件编辑器定义一个新的函数文件:
function y=myf1(x)
y=x.^3+10*x.^2-2*sin(x)-50;
再在文件编辑器定义一个新的文本文件:
fplot('myf1',[12,5]),grid on
x1=fzero('myf1',-10)
x2=fzero('myf1',-2)
x3=fzero('myf1',2)
hold on,plot([x1,x2,x3]',0,0,0]',o')
title('f(x)在区间[-12,5]上的图形和零点')
然后在命令窗口键入:
mym2屏幕显示为:
例2. 求方程 x-1=0 的根,并画出根的图形。
解: 先求方程 x-1=0 的根,因为。
信息**,
x=roots([1,0,0,0,0,0,-1]) x =
-0.5000 + 0.8660i
-0.5000 - 0.8660i
0.5000 + 0.8660i
0.5000 - 0.8660i
我们知道方程 x-1=0 的六个根分布在单位圆上,其表示一个单位圆,因为。
t=0:.01:2*pi;
plot(exp(i*t))
axis square
最后把方程 x-1=0 的六个根叠加在单位圆上。
hold on
plot(real(x),imag(x),'o')
title('方程 x-1=0 的六个根')
常见的通用操作指令。
数学建模与软件开发模拟试题
试题1 编写matlab程序已知六阶矩阵m的位置权得分表示为。现产生六组a,b,c,d,e,f的随机排列填充在该矩阵内,使得对于六个字母的合计得分尽可能的接近。可以写成一个矩阵,六个a分别赋值 1,2,3,4,5,6,同样,其他字母的六个也分别赋值 1,2,3,4,5,6.投影寻踪方法的基本思想是把...
2019数学建模软件实验
一 设有两个砖厂a1 a2。其产量分别为23万块与27万块。它们生产的 b1 b2 b 3三个工地。其需要量分别为17万块 18万块和15万块。自各产地到各工地的运 如下表 问应如何调运,才使总运费最省。二 华工西湖魚池目前有魚3000条,经4個月后增加为5000条,假设魚池最大容量数量为15000...
数学建模与数学实验
数学实验一。第一部分 作图。1 输入以下两条命令,观察其差异。plot tan x plot tan x plotrange 2 输入以下两条参数函数作图命令,观察其差异。parametricplot parametricplot aspectratio automatic 3 熟悉分段函数的定义方...