cfnr.net
当前位置:首页 >> mAtlAB n*n矩阵[A]分别乘以一个1*n矩阵[B]的列,得... >>

mAtlAB n*n矩阵[A]分别乘以一个1*n矩阵[B]的列,得...

C=arrayfun(@(i)A*B(i),1:n,'un',0) 这样算出来的C是一个cell,C{1}就是第1个n*n矩阵

n = 10; A = 100*rand(n,1); B = rand(n,1); C = zeros(2*n,1); C(1:2:end,:) = A; C(2:2:end,:) = B;

使用reshape(X ,m,n)函数 reshape把指定的矩阵改变形状,但是元素个数不变, 例如,行向量: a = [1 2 3 4 5 6] 执行下面语句把它变成3行2列: b = reshape(a,3,2) 执行结果: b = 1 4 2 5 3 6 若a=[1 2 3 4 5 6 7 8 9] 使用reshpe后想得到b=[1 ...

B=zeros(m+1,n+1); B(1:m,1:n)=A;

matlab提供了生成0矩阵的函数zeros(),常用的调用方式有: zeros(N) - 生成N行N的0矩阵 zeros(M,N) - 生成M行N列的0矩阵 zeros(M,N,P,...) - 生成M×N×P×...的0矩阵 zeros(SIZE(A)) - 生成一个维度与A一致的0矩阵 示例如下

有两种方法可以实现: 转置矩阵: B = A'; 通用方法:reshape()函数 示例如下: 说明:reshape(A,m,n) 表示将矩阵A变换为m行n列的矩阵,通常用于矩阵形状的改变,例如下面代码将原来的1行4列矩阵转换为2行2列矩阵:

%改变矩阵维度顺序就可以实现这个功能 b=permute(a,[1 3 2]);

function [A,B,C,D] = fun(A,N) if ~isvector(A) error(''); %引号里写点错误信息,自己随便写点 end n=length(A); if n

B=cell(1,400); for i=1:400 B{i}=A(:,(10*(i-1)+1):10*i); end B是cell array,每一个B{i}就是一个小矩阵啦

f为A的伴随矩阵 A=magic(3); f=inv(A)*det(A) f = -53.0000 52.0000 -23.0000 22.0000 -8.0000 -38.0000 7.0000 -68.0000 37.0000

网站首页 | 网站地图
All rights reserved Powered by www.cfnr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com