原文:Matlab随笔之分段线性函数化为线性规划 eg: 10x,            0<=x<=500 c(x)=1000+8x,    500<=x<=1000 3000+6x,    1000<=x<=1500 解法一: 可引入0-1变量,令z1=1,z2=1,z3=1分别表示0<=x<=500,500<=x<=1000,1000<=x<=1500,则 500z2<=x1<=500z1, 500z3<=x2…
原文:Matlab随笔之线性规划   LP(Linear programming,线性规划)是一种优化方法,在优化问题中目标函数和约束函数均为向量变量的线性函数,LP问题可描述为:min xs.t. A·x b Aeq·x=beq vlb x vub其中 ,b,beq均为向量,A,Aeq为矩阵,x为向量变量.矩阵A和向量b是线性不等式约束条件的系数, Aeq和beq是等式约束条件的系数. 在MATLAB中,用于LP的求解函数为linprog.其调用格式为:[x,fval,lambda]=linp…
原文:Matlab随笔之插值与拟合(上) 1.拉格朗日插值 新建如下函数: function y=lagrange(x0,y0,x) %拉格朗日插值函数 %n 个节点数据以数组 x0, y0 输入(注意 Matlat 的数组下标从1开始), %m 个插值点以数组 x 输入,输出数组 y 为 m 个插值 n=length(x0);m=length(x); :m z=x(i); s=0.0; :n p=1.0; :n if j~=k p=p*(z-x0(j))/(x0(k)-x0(j)); end…
原文:Matlab随笔之插值与拟合(下) 1.二维插值之插值节点为网格节点 已知m x n个节点:(xi,yj,zij)(i=1…m,j=1…n),且xi,yi递增.求(x,y)处的插值z. Matlab可以直接调用interp2(x0,y0,z0,x,y,`method`) 其中 x0,y0 分别为 m 维和 n 维向量,表示节点, z0 为 n × m 维矩阵,表示节点值, x,y 为一维数组,表示插值点, x 与 y 应是方向不同的向量,即一个是行向量,另一个是列 向量, z 为矩阵,它的…
relu函数为分段线性函数,为什么会增加非线性元素 我们知道激活函数的作用就是为了为神经网络增加非线性因素,使其可以拟合任意的函数.那么relu在大于的时候就是线性函数,如果我们的输出值一直是在大于0的状态下,怎么可以拟合非线性函数呢? relu是非线性激活函数 题主的疑问在于,为什么relu这种"看似线性"(分段线性)的激活函数所形成的网络,居然能够增加非线性的表达能力. 1.首先什么是线性的网络,如果把线性网络看成一个大的矩阵M.那么输入样本A和B,则会经过同样的线性变换MA,MB…
原文:Matlab随笔之矩阵入门知识 直接输入法创建矩阵 – 矩阵的所有元素必须放在方括号“[ ]”内: – 矩阵列元素之间必须用逗号“,”或空格隔开,每行必须用“;”隔开 – 矩阵元素可以是任何不含未定义变量的表达式.可以是实数,或者是复数. – 例a=[1,2;3,4] 或 a=[2 1+3j;sqrt(4) 5] 创建基本矩阵的函数 – 空阵 [ ] — matlab允许输入空阵,当一项操作无结果时,返回空阵 – ones(N,M) —全部元素都为1的矩阵 – zeros(N,M) —全部…
原文:Matlab随笔之画图函数总结 MATLAB函数画图 MATLAB不但擅长於矩阵相关的数值运算,也适合用在各种科学目视表示(Scientific visualization).本节将介绍MATLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制.列印及存档. 基本XY平面绘图命令 Plot 是绘制一维曲线的基本函数,但在使用此函数之前,我们需先定义曲线上每一点的x及y座标.下例可画出一条正弦曲线: close all; %linspace(5,100,20)和5:5:…
原文:Matlab随笔之指派问题的整数规划 注:除了指派问题外,一般的整数规划问题无法直接利用Matlab函数,必须Matlab编程实现分支定界法和割平面解法. 常用Lingo等专用软件求解整数规划问题. %指派矩阵为 % 3, 8, 2,10, 3 % 8, 7, 2, 9, 7 % 6, 4, 2, 7, 5 % 8, 4, 2, 3, 5 % 9,10, 6, 9,10 % %解题过程 c=[3 8 2 10 3; 8 7 2 9 7; 6 4 2 7 5; 8 4 2 3 5; 9 10…
原文:Matlab随笔之求解线性方程 理论知识补充: %矩阵除分为矩阵右除和矩阵左除. %矩阵右除的运算符号为“/”,设A,B为两个矩阵,则“A/B”是指方程X*B=A的解矩阵X. %矩阵A和B的列数必须是相等. % 矩阵左除的运算符号为“\”,设A,B为两个矩阵,则“B\A”是指方程B*X=A的解矩阵X. %矩阵A和B的行数必须是相等. %求解多项式的解,用roots函数 %求解定解方程组(未知数个数等于方程总数) %A*x=b A=[,; ,]; b=[;]; y=A\b z=inv(A)*…
原文:Matlab随笔之判别分析 从概率论角度,判别分析是根据所给样本数据,对所给的未分类数据进行分类. 如下表,已知有t个样本数据,每个数据关于n个量化特征有一个值,又已知该样本数据的分类,据此,求s个未分类数据的分类情况class. Matlab 的统计工具箱提供了判别函数 [class,err] = classify(sample,training,group, type) 其中,err 给出了分类误判率的估计值,type为分类方法,缺省值为'linear',即线性分类,type 还可取值…