ntjm.net
当前位置:首页 >> 如何用mAtlAB实现高维矩阵维度的调整,把A*B*C*D的... >>

如何用mAtlAB实现高维矩阵维度的调整,把A*B*C*D的...

用permute函数原来的数据是 A B C D,换为 A C B D的时候,2和3两个维度的数据互换就是将 1 2 3 4的顺序变为 1 3 2 4,这时候用permute函数就可以permute(Data,[1 3 2 4])

b=[2,3,3,5];c=prod(b);

使用reshape函数即可.举例:a=rand(3,4,5);b=reshape(a,4,5,3);

直接加 a=zeros(a,b); for i=1:10% 生成b, a*b 的 a=a+b; end

这个问题本质上是关于C的分量的线性方程组:[kron(I,A)+kron(B.',I)] vec(C)=0 系数矩阵里的kron表示Kronecker乘积(matlab里的kron函数),I是单位阵,vec(C)表示把C按列拉成一个向量 如果只要一个解的话C=0就行了 如果想要解空间的一组基,那么可以对系数矩阵用null函数

如果是稀疏阵,可以用eigs求特征值、特征向量.

C=A*B, A和B做矩阵乘法C=[22 22 22; 49 49 49; 76 76 76]D=A.*B, A和B中元素对应相乘D=[1 2 3; 12 15 18; 35 40 45]

2问题:第一,k1是2*4的,所以k1(1:4,1:2)会出现超标,报错 第二,如果事先定义k=zeros(8,8),则k是double的,再用符号赋值,会报错 如果想赋值给k,也可以的:clear all;clc; syms a b c d k1=[a b c d]; k1=repmat(k1,4,1); k(1:4,1:2)=k1(1:4,1:2);

y2的表达式里有n,y=y1.*y2; 可以正确计算的前提是x与n的长度要一致,如果二者不一致,就会出现你看到的错误提示.MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分.MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域.

U=dsolve('A*D2U+B*DU+C*U=K')不谢

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