MATLAB--实例3(矩阵)

%矩阵的加减,数乘,转置
 %矩阵的加法,矩阵与矩阵相加,维度必须相同
%  A=[1 2 3;4 5 6]
%  B=[3 5 2;7 4 1]
%  C=A+B;
 %矩阵与数相加,矩阵的每一个数都相加
%  D=A+1;
 %矩阵的减法同加法
 %矩阵的数乘就是每一个元素都乘以这个数
%  A=[4 5;2 4]
% %  B=2*A;
%  %矩阵的转置,行与列交换
%  B=A';
%对称矩阵,转置后的矩阵与原矩阵相同
%  A=[1 2 3;2 3 4;3 4 2]
%  B=A';
  A=[2,3;4,5];
  B=[3,5;2,4];
  C=A*B;
  D=juzhencheng(A,B)

矩阵乘法函数 (自编)

function  P=juzhencheng(varargin)

if nargin==0;
    P=[];
    return;
elseif nargin==1;
    P=varargin{1};
    return;
end
P1=varargin{nargin};
P2=varargin{nargin-1};
for k=nargin:-1:2
    P_TEM=cheng(P2,P1);
    P1=P_TEM;
    if k==2
        break;
    end
    P2=varargin{k-2};
end
P=P_TEM;
    
function P_TEM=cheng(P2,P1)
   if size(P2,2)~=size(P1,1)
       warning('矩阵维度无法相乘');
   end
   P_TEM=zeros(size(P2,1),size(P1,2));
   for m=1:size(P2,1)
       for n=1:size(P1,2)
           P_TEM(m,n)=P2(m,:)*P1(:,n);        
       end
   end

%矩阵的除法

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ga-BP是一种优化算法,结合了遗传算法(GA)和反向传播算法(BP),用于训练神经网络。下面是一个使用Matlab实现Ga-BP算法的示例代码。 首先,我们需要准备训练数据集和测试数据集。假设我们有一个包含有n个样本的训练集,每个样本包含m个特征和一个目标变量。我们可以将训练集表示为一个n×(m+1)的矩阵,其中的每一行对应一个样本。 ```matlab % 准备训练集和测试集 trainData = ... % n×(m+1)的矩阵,训练集 testData = ... % 测试集 % 初始化神经网络 inputSize = m; % 输入层节点数 hiddenSize = 10; % 隐含层节点数 outputSize = 1; % 输出层节点数 net = newff(trainData(:, 1:m)', trainData(:, m+1)', [hiddenSize, outputSize], {'tansig', 'purelin'}); % 设置神经网络参数 net.trainFcn = 'trainlm'; % 使用Levenberg-Marquardt算法作为训练函数 net.trainParam.goal = 0.01; % 设置训练目标 % 设置遗传算法参数 gaParam = gaoptimset('Generations', 100, 'PopulationSize', 20); % 使用Ga-BP算法进行训练 [net, tr] = ga(net, gaParam); % 使用训练好的神经网络进行预测 y_pred = sim(net, testData(:, 1:m)'); ``` 上述代码中,我们首先使用`newff`函数初始化了一个前馈神经网络,并设置了输入层、隐含层和输出层的节点个数。然后,我们通过指定`trainlm`作为训练函数,并设置训练目标,来配置了神经网络的参数。 接下来,我们使用`gaoptimset`函数设置了遗传算法的参数,包括迭代次数和种群大小。 最后,我们使用`ga`函数对神经网络进行了训练,并将测试集传入`sim`函数进行预测,得到了预测结果`y_pred`。 需要注意的是,上述代码中的数据集和参数都是假设的,具体的使用需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值