最近在处理 Matlab 中的三维矩阵的时候,遇到了一个问题: 假如m 为 5*5*5的矩阵,如果以第三个维度为基础,分割为5个不同的矩阵 m1,m2,m3,m4,应该如何解决? 解决方法:eval函数,具体用法如下: for i = 1:5 m(:,:,i) = rand(5,5); end for i=1:5 name=['m',num2str(i,'%d')]; %可根据实际情况使用%02d 等格式符 eval([name,'=m(:,:,i)']) end 运行结果: >> test
证明代码: syms a b c ; ab=sqrt(a^+b^); bc=sqrt(c^+b^); ca=sqrt(c^+a^); p=(ab+bc+ca)/; s1=(p*(p-ab)*(p-bc)*(p-ca)); %海伦公式 s1=simplify(s1) s2=(a*b/)^+(a*c/)^+(c*b/)^ if(s1==s2) disp('三维勾股定理成立!') else disp('三维勾股定理不成立!') end 证明结果: