- 1、本文档共61页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章_matlab
* 第*页 知行合一,学以致用 继续修改plotSin函数 当有两个输入参数时,输出值为两个频率正弦信号的叠加 使用meshgrid函数生成可供surf的矩阵 在开启的两个绘制区域,上面显示image,colormap为hot,axis设置为xy;下面显示面绘制 示例plotSin4 * 第*页 其它绘图函数 polar bar Quiver Stairs Fill * 第*页 向量化 Find非常好用 X=rand(1,100); inds=find(x0.4 x0.6); inds包含了符合判断条件的值在X向量中的位置 通过X(inds)索引具体的值 * 第*页 避免循环 问题:x=sin(linspace(0,10*pi,100);问其中哪些值为正数 所以要避免循环! 内置函数(built-in)编程和执行效率都高一筹。 * 第*页 优化代码 避免循环 向量化的代码在matlab中更有效率 使用索引和矩阵操作避免循环 * 第*页 向量化让编程变的更有乐趣 * 第*页 这是分割线======================= 线性代数 多项式 优化问题 微积分 差分方程 方程求解与曲线拟合 * 第*页 线性方程 如一个线性方程问题 构建系数矩阵 A=[1 2 -3; -3 -1 1; 1 -1 1]; B=[5; -8; 0]; 求解:x=A\B; x返回一个3×1的向量,里面的值分别是求解得到的x,y,z \在方阵和非方阵都可以计算,给出结果为最小二乘解 mat=[1 2 -3; -3 -1 1; 1 -1 1]; 求其秩:r=rank(mat); 行列式:d=det(mat); 矩阵求逆:E=inv(mat);例如A*x=b,其中A是个方阵,那么x=A\b结果与x=inv(A)*b相同。 更多例子 最常用的 特征值求解:[V,D]=eig(x) 奇异值分解:[u,s,v]=svd(x) QR分解: [Q,R]=qr(x) 矩阵分解运算 * 第*页 知行合一,学以致用 1)求解下列线性方程 示例EquSolv * 第*页 多项式 许多情况下,各参量之间的关系可以用高阶多项式方程描述 Matlab使用系数向量表示 例如 P=[1 0 -2]表示 P=[2 0 0 0]表示 P是一个N+1长度的向量,描述N阶多项式 * 第*页 多项式运算 求根:r=roots(P) 已知根可以得到多项式P:P=poly(r) 已知多项式,计算某一点的值: y0=polyval(P,x0);x0和y0都是一个值 已知多项式,计算多个点的值: y=polyval(P,x);x和y是相同长度的向量 * 第*页 多项式拟合 使用matlab做拟合真的很简单 如:已知向量X=[-1 0 2], Y=[0 -1 3] 则p2=polyfit(X,Y,2); 找到最佳的2次多项式来拟合三个点(-1,0),(0,-1),(2,3) 然后我们可以画出来看看拟合效果怎么样 doc一下polyfit 我们还有一个强大工具可以使用cftool * 第*页 知行合一,学以致用 已知: x=-4:0.1:4 使用randn添加噪声,画出噪声信号,使用”.”作为marker 对噪声数据做2次多项式拟合 画出拟合的结果,画在同一figure上,颜色为红色 示例fitDemo * 第*页 许多现实问题要求我们求解形为f(x)=0的方程 对于任何的f(x),可以使用fzero求根 fzero使用需要传入一个函数作为输入参数 例如我们建立一个函数描述方程f(x),函数名为myfun 则x=fzero(‘myfun’,1)或者 x=fzero(@myfun,1) 其中1表示指定一个你认为接近根值的点 示例 优化问题 * 第*页 Fminbnd:在一个间隔范围内找到最小解 X=fminbnd(‘myfun’,-1,2); Fminsearch:不定义区间范围 X=fminsearch(‘myfun’,.5); 从点x=0.5开始,找到最小解 最小解 * 第*页 如果myfun非常简单,好像没必要单独写一个函数 可以通过匿名函数 X=fzero(@(x)(cos(exp(x))+x^2-1),1); 匿名函数 输入 求解的方程 * 第*页 关于优化及最优解问题,可以看抓们的optimization 还有一些优化函数如: Linprog,quadprog,fmincon。 以后遇到,我们可以查阅帮助或者仔细阅读优化工具箱。 优化工具箱 * 第*页 知行合一,学以致用 在0和2之间找到如下方程最小解时x的取值 画出这个范围的曲线图,查看是否为最小结果。 示例minFi
文档评论(0)